Class JspDocumentParser

  • All Implemented Interfaces:
    TagConstants, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler

    class JspDocumentParser
    extends org.xml.sax.helpers.DefaultHandler
    implements org.xml.sax.ext.LexicalHandler, TagConstants
    Class implementing a parser for a JSP document, that is, a JSP page in XML syntax.
    • Field Detail

      • LEXICAL_HANDLER_PROPERTY

        private static final java.lang.String LEXICAL_HANDLER_PROPERTY
        See Also:
        Constant Field Values
      • path

        private java.lang.String path
      • charBuffer

        private java.lang.StringBuilder charBuffer
      • current

        private Node current
      • scriptlessBodyNode

        private Node scriptlessBodyNode
      • locator

        private org.xml.sax.Locator locator
      • startMark

        private Mark startMark
      • inDTD

        private boolean inDTD
      • isValidating

        private boolean isValidating
      • isTagFile

        private boolean isTagFile
      • directivesOnly

        private boolean directivesOnly
      • isTop

        private boolean isTop
      • tagDependentNesting

        private int tagDependentNesting
      • tagDependentPending

        private boolean tagDependentPending
    • Constructor Detail

      • JspDocumentParser

        public JspDocumentParser​(ParserController pc,
                                 java.lang.String path,
                                 boolean isTagFile,
                                 boolean directivesOnly)
    • Method Detail

      • parse

        public static Node.Nodes parse​(ParserController pc,
                                       java.lang.String path,
                                       java.util.jar.JarFile jarFile,
                                       Node parent,
                                       boolean isTagFile,
                                       boolean directivesOnly,
                                       java.lang.String pageEnc,
                                       java.lang.String jspConfigPageEnc,
                                       boolean isEncodingSpecifiedInProlog)
                                throws JasperException
        Throws:
        JasperException
      • addInclude

        private void addInclude​(Node parent,
                                java.util.List files)
                         throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • startElement

        public void startElement​(java.lang.String uri,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes attrs)
                          throws org.xml.sax.SAXException
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • characters

        public void characters​(char[] buf,
                               int offset,
                               int len)
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.xml.sax.helpers.DefaultHandler
      • processChars

        private void processChars()
                           throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • endElement

        public void endElement​(java.lang.String uri,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • setDocumentLocator

        public void setDocumentLocator​(org.xml.sax.Locator locator)
        Specified by:
        setDocumentLocator in interface org.xml.sax.ContentHandler
        Overrides:
        setDocumentLocator in class org.xml.sax.helpers.DefaultHandler
      • comment

        public void comment​(char[] buf,
                            int offset,
                            int len)
                     throws org.xml.sax.SAXException
        Specified by:
        comment in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • startCDATA

        public void startCDATA()
                        throws org.xml.sax.SAXException
        Specified by:
        startCDATA in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • endCDATA

        public void endCDATA()
                      throws org.xml.sax.SAXException
        Specified by:
        endCDATA in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • startEntity

        public void startEntity​(java.lang.String name)
                         throws org.xml.sax.SAXException
        Specified by:
        startEntity in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • endEntity

        public void endEntity​(java.lang.String name)
                       throws org.xml.sax.SAXException
        Specified by:
        endEntity in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • startDTD

        public void startDTD​(java.lang.String name,
                             java.lang.String publicId,
                             java.lang.String systemId)
                      throws org.xml.sax.SAXException
        Specified by:
        startDTD in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • endDTD

        public void endDTD()
                    throws org.xml.sax.SAXException
        Specified by:
        endDTD in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • fatalError

        public void fatalError​(org.xml.sax.SAXParseException e)
                        throws org.xml.sax.SAXException
        Specified by:
        fatalError in interface org.xml.sax.ErrorHandler
        Overrides:
        fatalError in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • error

        public void error​(org.xml.sax.SAXParseException e)
                   throws org.xml.sax.SAXException
        Specified by:
        error in interface org.xml.sax.ErrorHandler
        Overrides:
        error in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startPrefixMapping

        public void startPrefixMapping​(java.lang.String prefix,
                                       java.lang.String uri)
                                throws org.xml.sax.SAXException
        Specified by:
        startPrefixMapping in interface org.xml.sax.ContentHandler
        Overrides:
        startPrefixMapping in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • endPrefixMapping

        public void endPrefixMapping​(java.lang.String prefix)
                              throws org.xml.sax.SAXException
        Specified by:
        endPrefixMapping in interface org.xml.sax.ContentHandler
        Overrides:
        endPrefixMapping in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • parseStandardAction

        private Node parseStandardAction​(java.lang.String qName,
                                         java.lang.String localName,
                                         org.xml.sax.Attributes nonTaglibAttrs,
                                         org.xml.sax.Attributes nonTaglibXmlnsAttrs,
                                         org.xml.sax.Attributes taglibAttrs,
                                         Mark start,
                                         Node parent)
                                  throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • parseCustomAction

        private Node parseCustomAction​(java.lang.String qName,
                                       java.lang.String localName,
                                       java.lang.String uri,
                                       org.xml.sax.Attributes nonTaglibAttrs,
                                       org.xml.sax.Attributes nonTaglibXmlnsAttrs,
                                       org.xml.sax.Attributes taglibAttrs,
                                       Mark start,
                                       Node parent)
                                throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • checkScriptingBody

        private void checkScriptingBody​(Node.ScriptingElement scriptingElem)
                                 throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • processIncludeDirective

        private void processIncludeDirective​(java.lang.String fname,
                                             Node parent)
                                      throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • checkPrefixes

        private void checkPrefixes​(java.lang.String uri,
                                   java.lang.String qName,
                                   org.xml.sax.Attributes attrs)
      • checkPrefix

        private void checkPrefix​(java.lang.String uri,
                                 java.lang.String qName)
      • getSAXParser

        private static javax.xml.parsers.SAXParser getSAXParser​(boolean validating,
                                                                JspDocumentParser jspDocParser)
                                                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getBodyType

        private static java.lang.String getBodyType​(Node.CustomTag custom)
      • isTagDependent

        private boolean isTagDependent​(Node n)