Class XMLParser


  • public class XMLParser
    extends java.lang.Object
    The class uses the XMLTokenizer to parse an XMLSource into a Document.
    Author:
    digulla
    See Also:
    XMLSource, XMLTokenizer, Document
    • Constructor Detail

      • XMLParser

        public XMLParser()
    • Method Detail

      • setExpandEntities

        public XMLParser setExpandEntities​(boolean expandEntities)
      • isExpandEntities

        public boolean isExpandEntities()
      • setTreatEntitiesAsText

        public XMLParser setTreatEntitiesAsText​(boolean treatEntitiesAsText)
      • isTreatEntitiesAsText

        public boolean isTreatEntitiesAsText()
      • parse

        public Document parse​(XMLSource source)
        Parse an XML source into a Document
      • skipOptionalWhitespace

        protected Token skipOptionalWhitespace​(XMLTokenizer tokenizer,
                                               Token startToken,
                                               DocType docType)
        If the next token is whitespace, skip it.
        Parameters:
        tokenizer -
        startToken - This might be whitespace
        docType -
        Returns:
        The current or the next token.
      • parseDocTypeNotation

        protected void parseDocTypeNotation​(XMLTokenizer tokenizer,
                                            Token startToken,
                                            DocType docType)
      • parseDocTypeEntity

        protected void parseDocTypeEntity​(XMLTokenizer tokenizer,
                                          Token startToken,
                                          DocType docType)
      • stripQuotes

        protected java.lang.String stripQuotes​(Token token)
      • parseDocTypeAttList

        protected void parseDocTypeAttList​(XMLTokenizer tokenizer,
                                           Token startToken,
                                           DocType docType)
      • isValidName

        protected boolean isValidName​(XMLTokenizer tokenizer,
                                      java.lang.String name)
      • parseDocTypeSubElement

        protected void parseDocTypeSubElement​(XMLTokenizer tokenizer,
                                              Token startToken,
                                              DocType docType)
      • createTokenizer

        protected XMLTokenizer createTokenizer​(XMLSource source)
        Parameters:
        source -
        Returns:
      • parseElement

        protected void parseElement​(XMLTokenizer tokenizer,
                                    Element parent)
        Parse all tokens up to the end tag recursively into an element.
      • parseElementContent

        protected Token parseElementContent​(XMLTokenizer tokenizer,
                                            Element parent,
                                            java.util.Set<java.lang.String> recursionTrap)
        Parameters:
        tokenizer -
        parent -
      • expandEntity

        protected void expandEntity​(Element parent,
                                    XMLTokenizer parentTokenizer,
                                    Token entityToken,
                                    java.util.Set<java.lang.String> recursionTrap)
      • toNode

        protected Node toNode​(Token token)
        This turns a token into a node.

        Override this to implement custom node types.

      • createDocTypeText

        protected Node createDocTypeText​(Token token)
      • createProcessingInstruction

        protected Node createProcessingInstruction​(Token token)
      • createElementWhitespace

        protected Node createElementWhitespace​(Token token)
      • createComment

        protected Node createComment​(Token token)
      • createCData

        protected Node createCData​(Token token)
      • createElement

        protected Node createElement​(Token token)
      • createAttribute

        protected Node createAttribute​(Token token)
      • createEntity

        protected Node createEntity​(Token token)
      • createText

        protected Node createText​(Token token)
      • parse

        public static Document parse​(java.lang.String xml)
        Convenience method to parse a String into XML.

        In this case, the encoding is ignored; the string already has to be Unicode. After the parsing, you will still find the encoding from the XML declaration in the Document (if there was one).

      • parse

        public static Document parse​(java.io.File file)
                              throws java.io.IOException
        Convenience method to parse a file into XML.
        Throws:
        java.io.IOException