Class DTDGrammar

  • All Implemented Interfaces:
    EntityState, org.apache.xerces.xni.grammars.Grammar, org.apache.xerces.xni.XMLDTDContentModelHandler, org.apache.xerces.xni.XMLDTDHandler

    public class DTDGrammar
    extends java.lang.Object
    implements org.apache.xerces.xni.XMLDTDHandler, org.apache.xerces.xni.XMLDTDContentModelHandler, EntityState, org.apache.xerces.xni.grammars.Grammar
    A DTD grammar. This class implements the XNI handler interfaces for DTD information so that it can build the appropriate validation structures automatically from the callbacks.

    INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.
    Version:
    $Id: DTDGrammar.java 1357390 2012-07-04 20:20:20Z mrglavas $
    Author:
    Eric Ye, IBM, Jeffrey Rodriguez, IBM, Andy Clark, IBM, Neil Graham, IBM
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  DTDGrammar.QNameHashtable
      A simple Hashtable implementation that takes a tuple (String, String) as the key and a int as value.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int addContentSpecNode​(short nodeType, int leftNodeIndex, int rightNodeIndex)
      Create an XMLContentSpec for a two child leaf
      protected int addContentSpecNode​(short nodeType, java.lang.String nodeValue)
      Create an XMLContentSpec for a single non-leaf
      protected void addContentSpecToElement​(XMLElementDecl elementDecl)
      Adds the content spec to the given element declaration.
      protected int addUniqueLeafNode​(java.lang.String elementName)
      create an XMLContentSpec for a leaf
      void any​(org.apache.xerces.xni.Augmentations augs)
      A content model of ANY.
      void attributeDecl​(java.lang.String elementName, java.lang.String attributeName, java.lang.String type, java.lang.String[] enumeration, java.lang.String defaultType, org.apache.xerces.xni.XMLString defaultValue, org.apache.xerces.xni.XMLString nonNormalizedDefaultValue, org.apache.xerces.xni.Augmentations augs)
      An attribute declaration.
      void comment​(org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.Augmentations augs)
      A comment.
      protected int createAttributeDecl()  
      protected int createContentSpec()  
      protected int createElementDecl()  
      protected int createEntityDecl()  
      protected int createNotationDecl()  
      void element​(java.lang.String elementName, org.apache.xerces.xni.Augmentations augs)
      A referenced element in a mixed or children content model.
      void elementDecl​(java.lang.String name, java.lang.String contentModel, org.apache.xerces.xni.Augmentations augs)
      An element declaration.
      void empty​(org.apache.xerces.xni.Augmentations augs)
      A content model of EMPTY.
      void endAttlist​(org.apache.xerces.xni.Augmentations augs)
      The end of an attribute list.
      void endConditional​(org.apache.xerces.xni.Augmentations augs)
      The end of a conditional section.
      void endContentModel​(org.apache.xerces.xni.Augmentations augs)
      The end of a content model.
      void endDTD​(org.apache.xerces.xni.Augmentations augs)
      The end of the DTD.
      void endExternalSubset​(org.apache.xerces.xni.Augmentations augs)
      The end of the DTD external subset.
      void endGroup​(org.apache.xerces.xni.Augmentations augs)
      The end of a group for mixed or children content models.
      void endParameterEntity​(java.lang.String name, org.apache.xerces.xni.Augmentations augs)
      This method notifies the end of an entity.
      void externalEntityDecl​(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augs)
      An external entity declaration.
      boolean getAttributeDecl​(int attributeDeclIndex, XMLAttributeDecl attributeDecl)
      getAttributeDecl
      int getAttributeDeclIndex​(int elementDeclIndex, java.lang.String attributeDeclName)  
      boolean getAttributeDeclIsExternal​(int attributeDeclIndex)
      Returns true if the specified attribute declaration is external.
      boolean getContentSpec​(int contentSpecIndex, XMLContentSpec contentSpec)
      getContentSpec
      java.lang.String getContentSpecAsString​(int elementDeclIndex)
      getContentSpecAsString
      int getContentSpecIndex​(int elementDeclIndex)
      Returns the index to the content spec for the given element declaration, or -1 if the element declaration index was invalid.
      short getContentSpecType​(int elementIndex)
      make separate function for getting contentSpecType of element.
      org.apache.xerces.xni.parser.XMLDTDContentModelSource getDTDContentModelSource()  
      org.apache.xerces.xni.parser.XMLDTDSource getDTDSource()  
      protected ContentModelValidator getElementContentModelValidator​(int elementDeclIndex)
      getElementContentModelValidator
      boolean getElementDecl​(int elementDeclIndex, XMLElementDecl elementDecl)
      getElementDecl
      int getElementDeclIndex​(java.lang.String elementDeclName)
      getElementDeclIndex
      int getElementDeclIndex​(org.apache.xerces.xni.QName elementDeclQName)
      Returns the element decl index.
      boolean getElementDeclIsExternal​(int elementDeclIndex)
      Returns true if the specified element declaration is external.
      boolean getEntityDecl​(int entityDeclIndex, XMLEntityDecl entityDecl)
      getEntityDecl
      int getEntityDeclIndex​(java.lang.String entityDeclName)
      getEntityDeclIndex
      int getFirstAttributeDeclIndex​(int elementDeclIndex)
      getFirstAttributeDeclIndex
      int getFirstElementDeclIndex()
      Returns the index of the first element declaration.
      org.apache.xerces.xni.grammars.XMLGrammarDescription getGrammarDescription()
      get the XMLGrammarDescription associated with this object
      int getNextAttributeDeclIndex​(int attributeDeclIndex)
      getNextAttributeDeclIndex
      int getNextElementDeclIndex​(int elementDeclIndex)
      Returns the next index of the element declaration following the specified element declaration.
      boolean getNotationDecl​(int notationDeclIndex, XMLNotationDecl notationDecl)
      getNotationDecl
      int getNotationDeclIndex​(java.lang.String notationDeclName)
      getNotationDeclIndex
      SymbolTable getSymbolTable()
      Returns the symbol table.
      void ignoredCharacters​(org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.Augmentations augs)
      Characters within an IGNORE conditional section.
      protected void initializeContentModelStack()
      Initialize content model stack.
      void internalEntityDecl​(java.lang.String name, org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.XMLString nonNormalizedText, org.apache.xerces.xni.Augmentations augs)
      An internal entity declaration.
      boolean isCDATAAttribute​(org.apache.xerces.xni.QName elName, org.apache.xerces.xni.QName atName)
      Returns whether the given attribute is of type CDATA or not
      boolean isEntityDeclared​(java.lang.String name)
      Query method to check if entity with this name was declared.
      boolean isEntityUnparsed​(java.lang.String name)
      Query method to check if entity is unparsed.
      boolean isNamespaceAware()
      Returns true if this grammar is namespace aware.
      void notationDecl​(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augs)
      A notation declaration
      void occurrence​(short occurrence, org.apache.xerces.xni.Augmentations augs)
      The occurrence count for a child in a children content model or for the mixed content model group.
      void pcdata​(org.apache.xerces.xni.Augmentations augs)
      The appearance of "#PCDATA" within a group signifying a mixed content model.
      void printAttributes​(int elementDeclIndex)  
      void printElements()  
      void processingInstruction​(java.lang.String target, org.apache.xerces.xni.XMLString data, org.apache.xerces.xni.Augmentations augs)
      A processing instruction.
      protected void putElementNameMapping​(org.apache.xerces.xni.QName name, int scope, int elementDeclIndex)  
      void separator​(short separator, org.apache.xerces.xni.Augmentations augs)
      The separator between choices or sequences of a mixed or children content model.
      protected void setAttributeDecl​(int elementDeclIndex, int attributeDeclIndex, XMLAttributeDecl attributeDecl)  
      protected void setContentSpec​(int contentSpecIndex, XMLContentSpec contentSpec)  
      protected void setContentSpecIndex​(int elementDeclIndex, int contentSpecIndex)  
      void setDTDContentModelSource​(org.apache.xerces.xni.parser.XMLDTDContentModelSource source)  
      void setDTDSource​(org.apache.xerces.xni.parser.XMLDTDSource source)  
      protected void setElementDecl​(int elementDeclIndex, XMLElementDecl elementDecl)  
      protected void setEntityDecl​(int entityDeclIndex, XMLEntityDecl entityDecl)  
      protected void setFirstAttributeDeclIndex​(int elementDeclIndex, int newFirstAttrIndex)  
      protected void setNotationDecl​(int notationDeclIndex, XMLNotationDecl notationDecl)  
      void startAttlist​(java.lang.String elementName, org.apache.xerces.xni.Augmentations augs)
      The start of an attribute list.
      void startConditional​(short type, org.apache.xerces.xni.Augmentations augs)
      The start of a conditional section.
      void startContentModel​(java.lang.String elementName, org.apache.xerces.xni.Augmentations augs)
      The start of a content model.
      void startDTD​(org.apache.xerces.xni.XMLLocator locator, org.apache.xerces.xni.Augmentations augs)
      The start of the DTD.
      void startExternalSubset​(org.apache.xerces.xni.XMLResourceIdentifier identifier, org.apache.xerces.xni.Augmentations augs)
      The start of the DTD external subset.
      void startGroup​(org.apache.xerces.xni.Augmentations augs)
      A start of either a mixed or children content model.
      void startParameterEntity​(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, java.lang.String encoding, org.apache.xerces.xni.Augmentations augs)
      This method notifies of the start of an entity.
      void textDecl​(java.lang.String version, java.lang.String encoding, org.apache.xerces.xni.Augmentations augs)
      Notifies of the presence of a TextDecl line in an entity.
      void unparsedEntityDecl​(java.lang.String name, org.apache.xerces.xni.XMLResourceIdentifier identifier, java.lang.String notation, org.apache.xerces.xni.Augmentations augs)
      An unparsed entity declaration.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TOP_LEVEL_SCOPE

        public static final int TOP_LEVEL_SCOPE
        Top level scope (-1).
        See Also:
        Constant Field Values
      • fDTDSource

        protected org.apache.xerces.xni.parser.XMLDTDSource fDTDSource
      • fDTDContentModelSource

        protected org.apache.xerces.xni.parser.XMLDTDContentModelSource fDTDContentModelSource
      • fCurrentElementIndex

        protected int fCurrentElementIndex
        Current element index.
      • fCurrentAttributeIndex

        protected int fCurrentAttributeIndex
        Current attribute index.
      • fReadingExternalDTD

        protected boolean fReadingExternalDTD
        fReadingExternalDTD
      • fAttributeDecl

        protected final XMLAttributeDecl fAttributeDecl
        Temporary Attribute decl.
    • Method Detail

      • getGrammarDescription

        public org.apache.xerces.xni.grammars.XMLGrammarDescription getGrammarDescription()
        Description copied from interface: org.apache.xerces.xni.grammars.Grammar
        get the XMLGrammarDescription associated with this object
        Specified by:
        getGrammarDescription in interface org.apache.xerces.xni.grammars.Grammar
      • getElementDeclIsExternal

        public boolean getElementDeclIsExternal​(int elementDeclIndex)
        Returns true if the specified element declaration is external.
        Parameters:
        elementDeclIndex - The element declaration index.
      • getAttributeDeclIsExternal

        public boolean getAttributeDeclIsExternal​(int attributeDeclIndex)
        Returns true if the specified attribute declaration is external.
        Parameters:
        attributeDeclIndex - Attribute declaration index.
      • getAttributeDeclIndex

        public int getAttributeDeclIndex​(int elementDeclIndex,
                                         java.lang.String attributeDeclName)
      • startDTD

        public void startDTD​(org.apache.xerces.xni.XMLLocator locator,
                             org.apache.xerces.xni.Augmentations augs)
                      throws org.apache.xerces.xni.XNIException
        The start of the DTD.
        Specified by:
        startDTD in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        locator - The document locator, or null if the document location cannot be reported during the parsing of the document DTD. However, it is strongly recommended that a locator be supplied that can at least report the base system identifier of the DTD.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • startParameterEntity

        public void startParameterEntity​(java.lang.String name,
                                         org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                         java.lang.String encoding,
                                         org.apache.xerces.xni.Augmentations augs)
                                  throws org.apache.xerces.xni.XNIException
        This method notifies of the start of an entity. The DTD has the pseudo-name of "[dtd]" and parameter entity names start with '%'.

        Note: Since the DTD is an entity, the handler will be notified of the start of the DTD entity by calling the startParameterEntity method with the entity name "[dtd]" before calling the startDTD method.

        Specified by:
        startParameterEntity in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        name - The name of the parameter entity.
        identifier - The resource identifier.
        encoding - The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal parameter entities).
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • startExternalSubset

        public void startExternalSubset​(org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                        org.apache.xerces.xni.Augmentations augs)
                                 throws org.apache.xerces.xni.XNIException
        The start of the DTD external subset.
        Specified by:
        startExternalSubset in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        identifier - The resource identifier.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • endParameterEntity

        public void endParameterEntity​(java.lang.String name,
                                       org.apache.xerces.xni.Augmentations augs)
                                throws org.apache.xerces.xni.XNIException
        This method notifies the end of an entity. The DTD has the pseudo-name of "[dtd]" and parameter entity names start with '%'.

        Note: Since the DTD is an entity, the handler will be notified of the end of the DTD entity by calling the endEntity method with the entity name "[dtd]" after calling the endDTD method.

        Specified by:
        endParameterEntity in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        name - The name of the entity.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • endExternalSubset

        public void endExternalSubset​(org.apache.xerces.xni.Augmentations augs)
                               throws org.apache.xerces.xni.XNIException
        The end of the DTD external subset.
        Specified by:
        endExternalSubset in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • elementDecl

        public void elementDecl​(java.lang.String name,
                                java.lang.String contentModel,
                                org.apache.xerces.xni.Augmentations augs)
                         throws org.apache.xerces.xni.XNIException
        An element declaration.
        Specified by:
        elementDecl in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        name - The name of the element.
        contentModel - The element content model.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • attributeDecl

        public void attributeDecl​(java.lang.String elementName,
                                  java.lang.String attributeName,
                                  java.lang.String type,
                                  java.lang.String[] enumeration,
                                  java.lang.String defaultType,
                                  org.apache.xerces.xni.XMLString defaultValue,
                                  org.apache.xerces.xni.XMLString nonNormalizedDefaultValue,
                                  org.apache.xerces.xni.Augmentations augs)
                           throws org.apache.xerces.xni.XNIException
        An attribute declaration.
        Specified by:
        attributeDecl in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        elementName - The name of the element that this attribute is associated with.
        attributeName - The name of the attribute.
        type - The attribute type. This value will be one of the following: "CDATA", "ENTITY", "ENTITIES", "ENUMERATION", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", or "NOTATION".
        enumeration - If the type has the value "ENUMERATION", this array holds the allowed attribute values; otherwise, this array is null.
        defaultType - The attribute default type. This value will be one of the following: "#FIXED", "#IMPLIED", "#REQUIRED", or null.
        defaultValue - The attribute default value, or null if no default value is specified.
        nonNormalizedDefaultValue - The attribute default value with no normalization performed, or null if no default value is specified.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • internalEntityDecl

        public void internalEntityDecl​(java.lang.String name,
                                       org.apache.xerces.xni.XMLString text,
                                       org.apache.xerces.xni.XMLString nonNormalizedText,
                                       org.apache.xerces.xni.Augmentations augs)
                                throws org.apache.xerces.xni.XNIException
        An internal entity declaration.
        Specified by:
        internalEntityDecl in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        name - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
        text - The value of the entity.
        nonNormalizedText - The non-normalized value of the entity. This value contains the same sequence of characters that was in the internal entity declaration, without any entity references expanded.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • externalEntityDecl

        public void externalEntityDecl​(java.lang.String name,
                                       org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                       org.apache.xerces.xni.Augmentations augs)
                                throws org.apache.xerces.xni.XNIException
        An external entity declaration.
        Specified by:
        externalEntityDecl in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        name - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
        identifier - An object containing all location information pertinent to this external entity declaration.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • unparsedEntityDecl

        public void unparsedEntityDecl​(java.lang.String name,
                                       org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                       java.lang.String notation,
                                       org.apache.xerces.xni.Augmentations augs)
                                throws org.apache.xerces.xni.XNIException
        An unparsed entity declaration.
        Specified by:
        unparsedEntityDecl in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        name - The name of the entity.
        identifier - An object containing all location information pertinent to this entity.
        notation - The name of the notation.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • notationDecl

        public void notationDecl​(java.lang.String name,
                                 org.apache.xerces.xni.XMLResourceIdentifier identifier,
                                 org.apache.xerces.xni.Augmentations augs)
                          throws org.apache.xerces.xni.XNIException
        A notation declaration
        Specified by:
        notationDecl in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        name - The name of the notation.
        identifier - An object containing all location information pertinent to this notation.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • endDTD

        public void endDTD​(org.apache.xerces.xni.Augmentations augs)
                    throws org.apache.xerces.xni.XNIException
        The end of the DTD.
        Specified by:
        endDTD in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • setDTDSource

        public void setDTDSource​(org.apache.xerces.xni.parser.XMLDTDSource source)
        Specified by:
        setDTDSource in interface org.apache.xerces.xni.XMLDTDHandler
      • getDTDSource

        public org.apache.xerces.xni.parser.XMLDTDSource getDTDSource()
        Specified by:
        getDTDSource in interface org.apache.xerces.xni.XMLDTDHandler
      • textDecl

        public void textDecl​(java.lang.String version,
                             java.lang.String encoding,
                             org.apache.xerces.xni.Augmentations augs)
                      throws org.apache.xerces.xni.XNIException
        Notifies of the presence of a TextDecl line in an entity. If present, this method will be called immediately following the startEntity call.

        Note: This method is only called for external parameter entities referenced in the DTD.

        Specified by:
        textDecl in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        version - The XML version, or null if not specified.
        encoding - The IANA encoding name of the entity.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • comment

        public void comment​(org.apache.xerces.xni.XMLString text,
                            org.apache.xerces.xni.Augmentations augs)
                     throws org.apache.xerces.xni.XNIException
        A comment.
        Specified by:
        comment in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        text - The text in the comment.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by application to signal an error.
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          org.apache.xerces.xni.XMLString data,
                                          org.apache.xerces.xni.Augmentations augs)
                                   throws org.apache.xerces.xni.XNIException
        A processing instruction. Processing instructions consist of a target name and, optionally, text data. The data is only meaningful to the application.

        Typically, a processing instruction's data will contain a series of pseudo-attributes. These pseudo-attributes follow the form of element attributes but are not parsed or presented to the application as anything other than text. The application is responsible for parsing the data.

        Specified by:
        processingInstruction in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        target - The target.
        data - The data or null if none specified.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • startAttlist

        public void startAttlist​(java.lang.String elementName,
                                 org.apache.xerces.xni.Augmentations augs)
                          throws org.apache.xerces.xni.XNIException
        The start of an attribute list.
        Specified by:
        startAttlist in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        elementName - The name of the element that this attribute list is associated with.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • endAttlist

        public void endAttlist​(org.apache.xerces.xni.Augmentations augs)
                        throws org.apache.xerces.xni.XNIException
        The end of an attribute list.
        Specified by:
        endAttlist in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • startConditional

        public void startConditional​(short type,
                                     org.apache.xerces.xni.Augmentations augs)
                              throws org.apache.xerces.xni.XNIException
        The start of a conditional section.
        Specified by:
        startConditional in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        type - The type of the conditional section. This value will either be CONDITIONAL_INCLUDE or CONDITIONAL_IGNORE.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
        See Also:
        XMLDTDHandler.CONDITIONAL_INCLUDE, XMLDTDHandler.CONDITIONAL_IGNORE
      • ignoredCharacters

        public void ignoredCharacters​(org.apache.xerces.xni.XMLString text,
                                      org.apache.xerces.xni.Augmentations augs)
                               throws org.apache.xerces.xni.XNIException
        Characters within an IGNORE conditional section.
        Specified by:
        ignoredCharacters in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        text - The ignored text.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • endConditional

        public void endConditional​(org.apache.xerces.xni.Augmentations augs)
                            throws org.apache.xerces.xni.XNIException
        The end of a conditional section.
        Specified by:
        endConditional in interface org.apache.xerces.xni.XMLDTDHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • setDTDContentModelSource

        public void setDTDContentModelSource​(org.apache.xerces.xni.parser.XMLDTDContentModelSource source)
        Specified by:
        setDTDContentModelSource in interface org.apache.xerces.xni.XMLDTDContentModelHandler
      • getDTDContentModelSource

        public org.apache.xerces.xni.parser.XMLDTDContentModelSource getDTDContentModelSource()
        Specified by:
        getDTDContentModelSource in interface org.apache.xerces.xni.XMLDTDContentModelHandler
      • startContentModel

        public void startContentModel​(java.lang.String elementName,
                                      org.apache.xerces.xni.Augmentations augs)
                               throws org.apache.xerces.xni.XNIException
        The start of a content model. Depending on the type of the content model, specific methods may be called between the call to the startContentModel method and the call to the endContentModel method.
        Specified by:
        startContentModel in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        elementName - The name of the element.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • startGroup

        public void startGroup​(org.apache.xerces.xni.Augmentations augs)
                        throws org.apache.xerces.xni.XNIException
        A start of either a mixed or children content model. A mixed content model will immediately be followed by a call to the pcdata() method. A children content model will contain additional groups and/or elements.
        Specified by:
        startGroup in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
        See Also:
        any(org.apache.xerces.xni.Augmentations), empty(org.apache.xerces.xni.Augmentations)
      • pcdata

        public void pcdata​(org.apache.xerces.xni.Augmentations augs)
                    throws org.apache.xerces.xni.XNIException
        The appearance of "#PCDATA" within a group signifying a mixed content model. This method will be the first called following the content model's startGroup().
        Specified by:
        pcdata in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
        See Also:
        startGroup(org.apache.xerces.xni.Augmentations)
      • element

        public void element​(java.lang.String elementName,
                            org.apache.xerces.xni.Augmentations augs)
                     throws org.apache.xerces.xni.XNIException
        A referenced element in a mixed or children content model.
        Specified by:
        element in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        elementName - The name of the referenced element.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • separator

        public void separator​(short separator,
                              org.apache.xerces.xni.Augmentations augs)
                       throws org.apache.xerces.xni.XNIException
        The separator between choices or sequences of a mixed or children content model.
        Specified by:
        separator in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        separator - The type of children separator.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
        See Also:
        XMLDTDContentModelHandler.SEPARATOR_CHOICE, XMLDTDContentModelHandler.SEPARATOR_SEQUENCE
      • occurrence

        public void occurrence​(short occurrence,
                               org.apache.xerces.xni.Augmentations augs)
                        throws org.apache.xerces.xni.XNIException
        The occurrence count for a child in a children content model or for the mixed content model group.
        Specified by:
        occurrence in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        occurrence - The occurrence count for the last element or group.
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
        See Also:
        XMLDTDContentModelHandler.OCCURS_ZERO_OR_ONE, XMLDTDContentModelHandler.OCCURS_ZERO_OR_MORE, XMLDTDContentModelHandler.OCCURS_ONE_OR_MORE
      • endGroup

        public void endGroup​(org.apache.xerces.xni.Augmentations augs)
                      throws org.apache.xerces.xni.XNIException
        The end of a group for mixed or children content models.
        Specified by:
        endGroup in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • any

        public void any​(org.apache.xerces.xni.Augmentations augs)
                 throws org.apache.xerces.xni.XNIException
        A content model of ANY.
        Specified by:
        any in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
        See Also:
        empty(org.apache.xerces.xni.Augmentations), startGroup(org.apache.xerces.xni.Augmentations)
      • empty

        public void empty​(org.apache.xerces.xni.Augmentations augs)
                   throws org.apache.xerces.xni.XNIException
        A content model of EMPTY.
        Specified by:
        empty in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
        See Also:
        any(org.apache.xerces.xni.Augmentations), startGroup(org.apache.xerces.xni.Augmentations)
      • endContentModel

        public void endContentModel​(org.apache.xerces.xni.Augmentations augs)
                             throws org.apache.xerces.xni.XNIException
        The end of a content model.
        Specified by:
        endContentModel in interface org.apache.xerces.xni.XMLDTDContentModelHandler
        Parameters:
        augs - Additional information that may include infoset augmentations.
        Throws:
        org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.
      • isNamespaceAware

        public boolean isNamespaceAware()
        Returns true if this grammar is namespace aware.
      • getSymbolTable

        public SymbolTable getSymbolTable()
        Returns the symbol table.
      • getNextElementDeclIndex

        public int getNextElementDeclIndex​(int elementDeclIndex)
        Returns the next index of the element declaration following the specified element declaration.
        Parameters:
        elementDeclIndex - The element declaration index.
      • getElementDeclIndex

        public int getElementDeclIndex​(java.lang.String elementDeclName)
        getElementDeclIndex
        Parameters:
        elementDeclName -
        Returns:
        index of the elementDeclName in scope
      • getElementDeclIndex

        public int getElementDeclIndex​(org.apache.xerces.xni.QName elementDeclQName)
        Returns the element decl index.
        Parameters:
        elementDeclQName - qualilfied name of the element
      • getContentSpecType

        public short getContentSpecType​(int elementIndex)
        make separate function for getting contentSpecType of element. we can avoid setting of the element values.
      • getElementDecl

        public boolean getElementDecl​(int elementDeclIndex,
                                      XMLElementDecl elementDecl)
        getElementDecl
        Parameters:
        elementDeclIndex -
        elementDecl - The values of this structure are set by this call.
        Returns:
        True if find the element, False otherwise.
      • getFirstAttributeDeclIndex

        public int getFirstAttributeDeclIndex​(int elementDeclIndex)
        getFirstAttributeDeclIndex
        Parameters:
        elementDeclIndex -
        Returns:
        index of the first attribute for element declaration elementDeclIndex
      • getNextAttributeDeclIndex

        public int getNextAttributeDeclIndex​(int attributeDeclIndex)
        getNextAttributeDeclIndex
        Parameters:
        attributeDeclIndex -
        Returns:
        index of the next attribute of the attribute at attributeDeclIndex
      • getAttributeDecl

        public boolean getAttributeDecl​(int attributeDeclIndex,
                                        XMLAttributeDecl attributeDecl)
        getAttributeDecl
        Parameters:
        attributeDeclIndex -
        attributeDecl - The values of this structure are set by this call.
        Returns:
        true if getAttributeDecl was able to fill in the value of attributeDecl
      • isCDATAAttribute

        public boolean isCDATAAttribute​(org.apache.xerces.xni.QName elName,
                                        org.apache.xerces.xni.QName atName)
        Returns whether the given attribute is of type CDATA or not
        Parameters:
        elName - The element name.
        atName - The attribute name.
        Returns:
        true if the attribute is of type CDATA
      • getEntityDeclIndex

        public int getEntityDeclIndex​(java.lang.String entityDeclName)
        getEntityDeclIndex
        Parameters:
        entityDeclName -
        Returns:
        the index of the EntityDecl
      • getEntityDecl

        public boolean getEntityDecl​(int entityDeclIndex,
                                     XMLEntityDecl entityDecl)
        getEntityDecl
        Parameters:
        entityDeclIndex -
        entityDecl -
        Returns:
        true if getEntityDecl was able to fill entityDecl with the contents of the entity with index entityDeclIndex
      • getNotationDeclIndex

        public int getNotationDeclIndex​(java.lang.String notationDeclName)
        getNotationDeclIndex
        Parameters:
        notationDeclName -
        Returns:
        the index if found a notation with the name, otherwise -1.
      • getNotationDecl

        public boolean getNotationDecl​(int notationDeclIndex,
                                       XMLNotationDecl notationDecl)
        getNotationDecl
        Parameters:
        notationDeclIndex -
        notationDecl -
        Returns:
        return true of getNotationDecl can fill notationDecl with information about the notation at notationDeclIndex.
      • getContentSpec

        public boolean getContentSpec​(int contentSpecIndex,
                                      XMLContentSpec contentSpec)
        getContentSpec
        Parameters:
        contentSpecIndex -
        contentSpec -
        Returns:
        true if find the requested contentSpec node, false otherwise
      • getContentSpecIndex

        public int getContentSpecIndex​(int elementDeclIndex)
        Returns the index to the content spec for the given element declaration, or -1 if the element declaration index was invalid.
      • getContentSpecAsString

        public java.lang.String getContentSpecAsString​(int elementDeclIndex)
        getContentSpecAsString
        Parameters:
        elementDeclIndex -
        Returns:
        String
      • printElements

        public void printElements()
      • printAttributes

        public void printAttributes​(int elementDeclIndex)
      • addContentSpecToElement

        protected void addContentSpecToElement​(XMLElementDecl elementDecl)
        Adds the content spec to the given element declaration.
      • getElementContentModelValidator

        protected ContentModelValidator getElementContentModelValidator​(int elementDeclIndex)
        getElementContentModelValidator
        Parameters:
        elementDeclIndex -
        Returns:
        its ContentModelValidator if any.
      • createElementDecl

        protected int createElementDecl()
      • setElementDecl

        protected void setElementDecl​(int elementDeclIndex,
                                      XMLElementDecl elementDecl)
      • putElementNameMapping

        protected void putElementNameMapping​(org.apache.xerces.xni.QName name,
                                             int scope,
                                             int elementDeclIndex)
      • setFirstAttributeDeclIndex

        protected void setFirstAttributeDeclIndex​(int elementDeclIndex,
                                                  int newFirstAttrIndex)
      • setContentSpecIndex

        protected void setContentSpecIndex​(int elementDeclIndex,
                                           int contentSpecIndex)
      • createAttributeDecl

        protected int createAttributeDecl()
      • setAttributeDecl

        protected void setAttributeDecl​(int elementDeclIndex,
                                        int attributeDeclIndex,
                                        XMLAttributeDecl attributeDecl)
      • createContentSpec

        protected int createContentSpec()
      • setContentSpec

        protected void setContentSpec​(int contentSpecIndex,
                                      XMLContentSpec contentSpec)
      • createEntityDecl

        protected int createEntityDecl()
      • setEntityDecl

        protected void setEntityDecl​(int entityDeclIndex,
                                     XMLEntityDecl entityDecl)
      • createNotationDecl

        protected int createNotationDecl()
      • setNotationDecl

        protected void setNotationDecl​(int notationDeclIndex,
                                       XMLNotationDecl notationDecl)
      • addContentSpecNode

        protected int addContentSpecNode​(short nodeType,
                                         java.lang.String nodeValue)
        Create an XMLContentSpec for a single non-leaf
        Parameters:
        nodeType - the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*
        nodeValue - handle to an XMLContentSpec
        Returns:
        handle to the newly create XMLContentSpec
      • addUniqueLeafNode

        protected int addUniqueLeafNode​(java.lang.String elementName)
        create an XMLContentSpec for a leaf
        Parameters:
        elementName - the name (Element) for the node
        Returns:
        handle to the newly create XMLContentSpec
      • addContentSpecNode

        protected int addContentSpecNode​(short nodeType,
                                         int leftNodeIndex,
                                         int rightNodeIndex)
        Create an XMLContentSpec for a two child leaf
        Parameters:
        nodeType - the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*
        leftNodeIndex - handle to an XMLContentSpec
        rightNodeIndex - handle to an XMLContentSpec
        Returns:
        handle to the newly create XMLContentSpec
      • initializeContentModelStack

        protected void initializeContentModelStack()
        Initialize content model stack.
      • isEntityDeclared

        public boolean isEntityDeclared​(java.lang.String name)
        Description copied from interface: EntityState
        Query method to check if entity with this name was declared.
        Specified by:
        isEntityDeclared in interface EntityState
        Returns:
        true if name is a declared entity
      • isEntityUnparsed

        public boolean isEntityUnparsed​(java.lang.String name)
        Description copied from interface: EntityState
        Query method to check if entity is unparsed.
        Specified by:
        isEntityUnparsed in interface EntityState
        Returns:
        true if name is an unparsed entity