Class XSDHandler


  • public class XSDHandler
    extends java.lang.Object
    The purpose of this class is to co-ordinate the construction of a grammar object corresponding to a schema. To do this, it must be prepared to parse several schema documents (for instance if the schema document originally referred to contains or information items). If any of the schemas imports a schema, other grammars may be constructed as a side-effect.

    INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.
    Version:
    $Id: XSDHandler.java 1868534 2019-10-17 05:36:40Z mukulg $
    Author:
    Neil Graham, IBM, Pavani Mukthipudi, Sun Microsystems
    • Field Detail

      • VALIDATION

        protected static final java.lang.String VALIDATION
        Feature identifier: validation.
        See Also:
        Constant Field Values
      • XMLSCHEMA_VALIDATION

        protected static final java.lang.String XMLSCHEMA_VALIDATION
        feature identifier: XML Schema validation
        See Also:
        Constant Field Values
      • ALLOW_JAVA_ENCODINGS

        protected static final java.lang.String ALLOW_JAVA_ENCODINGS
        Feature identifier: allow java encodings
        See Also:
        Constant Field Values
      • CONTINUE_AFTER_FATAL_ERROR

        protected static final java.lang.String CONTINUE_AFTER_FATAL_ERROR
        Feature identifier: continue after fatal error
        See Also:
        Constant Field Values
      • STANDARD_URI_CONFORMANT_FEATURE

        protected static final java.lang.String STANDARD_URI_CONFORMANT_FEATURE
        Feature identifier: allow java encodings
        See Also:
        Constant Field Values
      • DISALLOW_DOCTYPE

        protected static final java.lang.String DISALLOW_DOCTYPE
        Feature: disallow doctype
        See Also:
        Constant Field Values
      • GENERATE_SYNTHETIC_ANNOTATIONS

        protected static final java.lang.String GENERATE_SYNTHETIC_ANNOTATIONS
        Feature: generate synthetic annotations
        See Also:
        Constant Field Values
      • VALIDATE_ANNOTATIONS

        protected static final java.lang.String VALIDATE_ANNOTATIONS
        Feature identifier: validate annotations.
        See Also:
        Constant Field Values
      • HONOUR_ALL_SCHEMALOCATIONS

        protected static final java.lang.String HONOUR_ALL_SCHEMALOCATIONS
        Feature identifier: honour all schemaLocations
        See Also:
        Constant Field Values
      • NAMESPACE_GROWTH

        protected static final java.lang.String NAMESPACE_GROWTH
        Feature identifier: namespace growth
        See Also:
        Constant Field Values
      • TOLERATE_DUPLICATES

        protected static final java.lang.String TOLERATE_DUPLICATES
        Feature identifier: tolerate duplicates
        See Also:
        Constant Field Values
      • STRING_INTERNING

        protected static final java.lang.String STRING_INTERNING
        Feature identifier: string interning.
        See Also:
        Constant Field Values
      • ERROR_HANDLER

        protected static final java.lang.String ERROR_HANDLER
        Property identifier: error handler.
        See Also:
        Constant Field Values
      • JAXP_SCHEMA_SOURCE

        protected static final java.lang.String JAXP_SCHEMA_SOURCE
        Property identifier: JAXP schema source.
        See Also:
        Constant Field Values
      • ENTITY_RESOLVER

        public static final java.lang.String ENTITY_RESOLVER
        Property identifier: entity resolver.
        See Also:
        Constant Field Values
      • ENTITY_MANAGER

        protected static final java.lang.String ENTITY_MANAGER
        Property identifier: entity manager.
        See Also:
        Constant Field Values
      • ERROR_REPORTER

        public static final java.lang.String ERROR_REPORTER
        Property identifier: error reporter.
        See Also:
        Constant Field Values
      • XMLGRAMMAR_POOL

        public static final java.lang.String XMLGRAMMAR_POOL
        Property identifier: grammar pool.
        See Also:
        Constant Field Values
      • SYMBOL_TABLE

        public static final java.lang.String SYMBOL_TABLE
        Property identifier: symbol table.
        See Also:
        Constant Field Values
      • SECURITY_MANAGER

        protected static final java.lang.String SECURITY_MANAGER
        Property identifier: security manager.
        See Also:
        Constant Field Values
      • LOCALE

        protected static final java.lang.String LOCALE
        Property identifier: locale.
        See Also:
        Constant Field Values
      • REDEF_IDENTIFIER

        public static final java.lang.String REDEF_IDENTIFIER
        See Also:
        Constant Field Values
      • fNotationRegistry

        protected java.util.Hashtable fNotationRegistry
    • Constructor Detail

      • XSDHandler

        public XSDHandler()
    • Method Detail

      • parseSchema

        public SchemaGrammar parseSchema​(org.apache.xerces.xni.parser.XMLInputSource is,
                                         XSDDescription desc,
                                         java.util.Hashtable locationPairs)
                                  throws java.io.IOException
        This method initiates the parse of a schema. It will likely be called from the Validator and it will make the resulting grammar available; it returns a reference to this object just in case. A reset(XMLComponentManager) must be called before this methods is called.
        Parameters:
        is -
        desc -
        locationPairs -
        Returns:
        the SchemaGrammar
        Throws:
        java.io.IOException
      • findGrammar

        protected SchemaGrammar findGrammar​(XSDDescription desc,
                                            boolean ignoreConflict)
        First try to find a grammar in the bucket, if failed, consult the grammar pool. If a grammar is found in the pool, then add it (and all imported ones) into the bucket.
      • constructTrees

        protected org.apache.xerces.impl.xs.traversers.XSDocumentInfo constructTrees​(org.w3c.dom.Element schemaRoot,
                                                                                     java.lang.String locationHint,
                                                                                     XSDDescription desc,
                                                                                     boolean nsCollision)
      • buildGlobalNameRegistries

        protected void buildGlobalNameRegistries()
      • traverseSchemas

        protected void traverseSchemas​(java.util.ArrayList annotationInfo)
      • getGlobalDecl

        protected java.lang.Object getGlobalDecl​(org.apache.xerces.impl.xs.traversers.XSDocumentInfo currSchema,
                                                 int declType,
                                                 org.apache.xerces.xni.QName declToTraverse,
                                                 org.w3c.dom.Element elmNode)
      • getGlobalDecl

        protected java.lang.Object getGlobalDecl​(java.lang.String declKey,
                                                 int declType)
      • getGlobalDeclFromGrammar

        protected java.lang.Object getGlobalDeclFromGrammar​(SchemaGrammar sGrammar,
                                                            int declType,
                                                            java.lang.String localpart)
      • getGlobalDeclFromGrammar

        protected java.lang.Object getGlobalDeclFromGrammar​(SchemaGrammar sGrammar,
                                                            int declType,
                                                            java.lang.String localpart,
                                                            java.lang.String schemaLoc)
      • traverseGlobalDecl

        protected java.lang.Object traverseGlobalDecl​(int declType,
                                                      org.w3c.dom.Element decl,
                                                      org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc,
                                                      SchemaGrammar grammar)
      • schemaDocument2SystemId

        public java.lang.String schemaDocument2SystemId​(org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)
      • resolveKeyRefs

        protected void resolveKeyRefs()
      • getIDRegistry

        protected java.util.Hashtable getIDRegistry()
      • getIDRegistry_sub

        protected java.util.Hashtable getIDRegistry_sub()
      • storeKeyRef

        protected void storeKeyRef​(org.w3c.dom.Element keyrefToStore,
                                   org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc,
                                   XSElementDecl currElemDecl)
      • reset

        public void reset​(org.apache.xerces.xni.parser.XMLComponentManager componentManager)
      • element2Locator

        public SimpleLocator element2Locator​(org.w3c.dom.Element e)
        Extract location information from an Element node, and create a new SimpleLocator object from such information. Returning null means no information can be retrieved from the element.
      • element2Locator

        public boolean element2Locator​(org.w3c.dom.Element e,
                                       SimpleLocator l)
        Extract location information from an Element node, store such information in the passed-in SimpleLocator object, then return true. Returning false means can't extract or store such information.
      • setGenerateSyntheticAnnotations

        public void setGenerateSyntheticAnnotations​(boolean state)
        Parameters:
        state -