Class AbstractVerifier

  • All Implemented Interfaces:
    IDContextProvider2, org.relaxng.datatype.ValidationContext, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler
    Direct Known Subclasses:
    Verifier

    public abstract class AbstractVerifier
    extends java.lang.Object
    implements org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, IDContextProvider2
    Base implementation for various Verifier implementations. This implementation provides common service like:
    1. collecting ID/IDREFs.
    2. storing Locator.

      By setting performIDcheck variable, the ID/IDREF checking can be either turned on or turned off.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean contextPushed  
      protected static org.xml.sax.Locator dummyLocator  
      protected java.util.Set idrefs
      this map remembers every IDREF token encountered in this document
      protected java.util.Map ids
      this map remembers every ID token encountered in this document
      protected org.xml.sax.Locator locator
      Document Locator that is given by XML reader.
      protected org.xml.sax.helpers.NamespaceSupport namespaceSupport
      namespace prefix to namespace URI resolver.
      private java.util.Set notations
      declared notations.
      protected boolean performIDcheck
      set this flag to true to perform ID/IDREF validation.
      private java.util.Set unparsedEntities
      unparsed entities found in the document.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void endElement​(java.lang.String namespaceUri, java.lang.String localName, java.lang.String qName)  
      void endPrefixMapping​(java.lang.String prefix)  
      java.lang.String getBaseUri()  
      org.xml.sax.Locator getLocator()  
      protected void init()  
      boolean isNotation​(java.lang.String notationName)  
      boolean isUnparsedEntity​(java.lang.String entityName)  
      void notationDecl​(java.lang.String name, java.lang.String publicId, java.lang.String systemId)  
      protected abstract void onDuplicateId​(java.lang.String id)
      this method is called when a duplicate id value is found.
      void onID​(org.relaxng.datatype.Datatype dt, StringToken token)
      this method is called when a type with ID semantics is matched.
      void processingInstruction​(java.lang.String name, java.lang.String data)  
      java.lang.String resolveNamespacePrefix​(java.lang.String prefix)  
      void setDocumentLocator​(org.xml.sax.Locator loc)  
      void skippedEntity​(java.lang.String p)  
      void startElement​(java.lang.String namespaceUri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)  
      void startPrefixMapping​(java.lang.String prefix, java.lang.String uri)  
      void unparsedEntityDecl​(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.xml.sax.ContentHandler

        characters, endDocument, ignorableWhitespace, startDocument
    • Field Detail

      • locator

        protected org.xml.sax.Locator locator
        Document Locator that is given by XML reader. Sometimes it doesn't set the locator, so start with a dummy instance.
      • dummyLocator

        protected static final org.xml.sax.Locator dummyLocator
      • performIDcheck

        protected boolean performIDcheck
        set this flag to true to perform ID/IDREF validation. this value cannot be modified in the middle of the validation.
      • ids

        protected final java.util.Map ids
        this map remembers every ID token encountered in this document
      • idrefs

        protected final java.util.Set idrefs
        this map remembers every IDREF token encountered in this document
      • contextPushed

        private boolean contextPushed
      • namespaceSupport

        protected final org.xml.sax.helpers.NamespaceSupport namespaceSupport
        namespace prefix to namespace URI resolver. this object memorizes mapping information.
      • unparsedEntities

        private final java.util.Set unparsedEntities
        unparsed entities found in the document.
      • notations

        private final java.util.Set notations
        declared notations.
    • Constructor Detail

      • AbstractVerifier

        public AbstractVerifier()
    • Method Detail

      • getLocator

        public final org.xml.sax.Locator getLocator()
      • setDocumentLocator

        public void setDocumentLocator​(org.xml.sax.Locator loc)
        Specified by:
        setDocumentLocator in interface org.xml.sax.ContentHandler
      • skippedEntity

        public void skippedEntity​(java.lang.String p)
        Specified by:
        skippedEntity in interface org.xml.sax.ContentHandler
      • processingInstruction

        public void processingInstruction​(java.lang.String name,
                                          java.lang.String data)
        Specified by:
        processingInstruction in interface org.xml.sax.ContentHandler
      • startPrefixMapping

        public void startPrefixMapping​(java.lang.String prefix,
                                       java.lang.String uri)
        Specified by:
        startPrefixMapping in interface org.xml.sax.ContentHandler
      • endPrefixMapping

        public void endPrefixMapping​(java.lang.String prefix)
        Specified by:
        endPrefixMapping in interface org.xml.sax.ContentHandler
      • startElement

        public void startElement​(java.lang.String namespaceUri,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes atts)
                          throws org.xml.sax.SAXException
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Throws:
        org.xml.sax.SAXException
      • endElement

        public void endElement​(java.lang.String namespaceUri,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Throws:
        org.xml.sax.SAXException
      • init

        protected void init()
      • notationDecl

        public void notationDecl​(java.lang.String name,
                                 java.lang.String publicId,
                                 java.lang.String systemId)
        Specified by:
        notationDecl in interface org.xml.sax.DTDHandler
      • unparsedEntityDecl

        public void unparsedEntityDecl​(java.lang.String name,
                                       java.lang.String publicId,
                                       java.lang.String systemId,
                                       java.lang.String notationName)
        Specified by:
        unparsedEntityDecl in interface org.xml.sax.DTDHandler
      • resolveNamespacePrefix

        public java.lang.String resolveNamespacePrefix​(java.lang.String prefix)
        Specified by:
        resolveNamespacePrefix in interface org.relaxng.datatype.ValidationContext
      • isUnparsedEntity

        public boolean isUnparsedEntity​(java.lang.String entityName)
        Specified by:
        isUnparsedEntity in interface org.relaxng.datatype.ValidationContext
      • isNotation

        public boolean isNotation​(java.lang.String notationName)
        Specified by:
        isNotation in interface org.relaxng.datatype.ValidationContext
      • getBaseUri

        public java.lang.String getBaseUri()
        Specified by:
        getBaseUri in interface org.relaxng.datatype.ValidationContext
      • onDuplicateId

        protected abstract void onDuplicateId​(java.lang.String id)
        this method is called when a duplicate id value is found.
      • onID

        public void onID​(org.relaxng.datatype.Datatype dt,
                         StringToken token)
        Description copied from interface: IDContextProvider2
        this method is called when a type with ID semantics is matched. It is the callee's responsibility that stores ID and checks doubly defined ID, if it is necessary.
        Specified by:
        onID in interface IDContextProvider2