From 642b6516688fadd877496addbc1506b219bb6687 Mon Sep 17 00:00:00 2001 From: Mike Aizatsky Date: Thu, 20 Jul 2006 20:11:45 +0400 Subject: [PATCH] Reworking TLD analysis --- lib/nanoxml-2.2.3.jar | Bin 0 -> 35962 bytes lib/src/nanoxml.zip | Bin 0 -> 50413 bytes openapi/openapi.iml | 1 + .../com/intellij/util/xml/NanoXmlUtil.java | 206 ++++++++++++++++++ .../src/messages/ApplicationBundle.properties | 3 +- util/util.iml | 4 +- 6 files changed, 212 insertions(+), 2 deletions(-) create mode 100644 lib/nanoxml-2.2.3.jar create mode 100644 lib/src/nanoxml.zip create mode 100644 openapi/src/com/intellij/util/xml/NanoXmlUtil.java diff --git a/lib/nanoxml-2.2.3.jar b/lib/nanoxml-2.2.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..ac0c46b3323d2ca8a2f2ecad93c3e160c7e63653 GIT binary patch literal 35962 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 UdJzxRdcEuTe8w;1%l`Q74^q*DhX4Qo literal 0 HcmV?d00001 diff --git a/lib/src/nanoxml.zip b/lib/src/nanoxml.zip new file mode 100644 index 0000000000000000000000000000000000000000..7f120aad7f15210b0c70b0bcb704e73f92bf5298 GIT binary patch literal 50413 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

Cj+^%P7I0*Um~+1Of`yefUt3 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 literal 0 HcmV?d00001 diff --git a/openapi/openapi.iml b/openapi/openapi.iml index aa8d595ff5d3..389f50e8f533 100644 --- a/openapi/openapi.iml +++ b/openapi/openapi.iml @@ -41,6 +41,7 @@ + diff --git a/openapi/src/com/intellij/util/xml/NanoXmlUtil.java b/openapi/src/com/intellij/util/xml/NanoXmlUtil.java new file mode 100644 index 000000000000..d56603e2506f --- /dev/null +++ b/openapi/src/com/intellij/util/xml/NanoXmlUtil.java @@ -0,0 +1,206 @@ +/* + * Copyright 2000-2006 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.intellij.util.xml; + +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.editor.Document; +import com.intellij.openapi.fileEditor.FileDocumentManager; +import com.intellij.openapi.util.io.StreamUtil; +import com.intellij.psi.PsiFile; +import com.intellij.util.text.CharSequenceReader; +import net.n3.nanoxml.*; +import org.jetbrains.annotations.NonNls; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.Reader; +import java.io.StringReader; +import java.net.MalformedURLException; +import java.util.Properties; +import java.util.Stack; + +/** + * @author mike + */ +public class NanoXmlUtil { + private static final Logger LOG = Logger.getInstance("#com.intellij.util.xml.NanoXmlUtil"); + + private NanoXmlUtil() { + } + + public static void parseFile(PsiFile psiFile, final IXMLBuilder builder) { + final Document document = FileDocumentManager.getInstance().getDocument(psiFile.getVirtualFile()); + assert document != null; + final CharSequenceReader documentReader = new CharSequenceReader(document.getCharsSequence()); + + parse(documentReader, builder); + } + + public static void parse(final Reader reader, final IXMLBuilder builder) { + try { + final IXMLParser parser = XMLParserFactory.createDefaultXMLParser(); + IXMLReader r = new MyXMLReader(reader); + parser.setReader(r); + parser.setBuilder(builder); + parser.setValidator(new EmptyValidator()); + parser.setResolver(new EmptyEntityResolver()); + try { + parser.parse(); + } + catch (XMLException e) { + if (e.getException() instanceof ParserStoppedException) return; + LOG.error(e); + } + finally { + reader.close(); + } + } + catch (Exception e) { + LOG.error(e); + } + } + + public static String createLocation(@NonNls String ...tagNames) { + StringBuffer result = new StringBuffer(); + for (String tagName : tagNames) { + result.append("."); + result.append(tagName); + } + + return result.toString(); + } + + public static class BaseXmlBuilder implements IXMLBuilder { + private Stack myLocation = new Stack(); + + public void startBuilding(String systemID, int lineNr) throws Exception { + myLocation.push(""); + } + + public void newProcessingInstruction(String target, Reader reader) throws Exception { + } + + public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr) throws Exception { + myLocation.push(myLocation.peek() + "." + name); + } + + public void addAttribute(String key, String nsPrefix, String nsURI, String value, String type) throws Exception { + } + + public void elementAttributesProcessed(String name, String nsPrefix, String nsURI) throws Exception { + } + + public void endElement(String name, String nsPrefix, String nsURI) throws Exception { + myLocation.pop(); + } + + public void addPCData(Reader reader, String systemID, int lineNr) throws Exception { + } + + protected String readText(final Reader reader) throws IOException { + return new String(StreamUtil.readTextAndConvertSeparators(reader)); + } + + public Object getResult() throws Exception { + return null; + } + + protected String getLocation() { + return myLocation.peek(); + } + + protected void stop() { + throw new ParserStoppedException(); + } + } + + private static class EmptyValidator extends NonValidator { + private IXMLEntityResolver myParameterEntityResolver; + + public void setParameterEntityResolver(IXMLEntityResolver resolver) { + myParameterEntityResolver = resolver; + } + + public IXMLEntityResolver getParameterEntityResolver() { + return myParameterEntityResolver; + } + + public void parseDTD(String publicID, IXMLReader reader, IXMLEntityResolver entityResolver, boolean external) throws Exception { + if (!external) { + super.parseDTD(publicID, reader, entityResolver, external); + } + else { + int origLevel = reader.getStreamLevel(); + + while (true) { + char ch = reader.read(); + + if (reader.getStreamLevel() < origLevel) { + reader.unread(ch); + return; // end external DTD + } + } + } + } + + public void elementStarted(String name, String systemId, int lineNr) { + } + + public void elementEnded(String name, String systemId, int lineNr) { + } + + public void attributeAdded(String key, String value, String systemId, int lineNr) { + } + + public void elementAttributesProcessed(String name, Properties extraAttributes, String systemId, int lineNr) { + } + + public void PCDataAdded(String systemId, int lineNr) { + } + } + + private static class EmptyEntityResolver implements IXMLEntityResolver { + public void addInternalEntity(String name, String value) { + } + + public void addExternalEntity(String name, String publicID, String systemID) { + } + + public Reader getEntity(IXMLReader xmlReader, String name) throws XMLParseException { + return new StringReader(""); + } + + public boolean isExternalEntity(String name) { + return false; + } + } + + private static class MyXMLReader extends StdXMLReader { + public MyXMLReader(final Reader documentReader) { + super(documentReader); + } + + + public Reader openStream(String publicID, String systemID) throws MalformedURLException, FileNotFoundException, IOException { + return new StringReader(" "); + } + } + + private static class ParserStoppedException extends RuntimeException { + } +} diff --git a/resources_eng/src/messages/ApplicationBundle.properties b/resources_eng/src/messages/ApplicationBundle.properties index 152fb1f13096..1cb3ae576332 100644 --- a/resources_eng/src/messages/ApplicationBundle.properties +++ b/resources_eng/src/messages/ApplicationBundle.properties @@ -495,4 +495,5 @@ exclude.from.imports.add=Add inline.elements=Inline elements: don.t.break.if.inline.content=Don't break if inline content: analyzing.0=Analyzing {0} -analyzing.tag.libraries=Analyzing Tag Libraries \ No newline at end of file +analyzing.tag.libraries=Analyzing Tag Libraries +processing.0=Processing {0} \ No newline at end of file diff --git a/util/util.iml b/util/util.iml index ffebc5e2f4d8..a6e99fef489c 100644 --- a/util/util.iml +++ b/util/util.iml @@ -2,8 +2,9 @@ - + + @@ -25,6 +26,7 @@ +