org.apache.xerces.impl.xs.traversers

## Class XSDHandler

- java.lang.Object
- - org.apache.xerces.impl.xs.traversers.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.
  Version:
    $Id: XSDHandler.java 1868534 2019-10-17 05:36:40Z mukulg $
  Author:
    Neil Graham, IBM, Pavani Mukthipudi, Sun Microsystems

  # INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `ALLOW_JAVA_ENCODINGS` Feature identifier: allow java encodings
    `protected static java.lang.String` | `CONTINUE_AFTER_FATAL_ERROR` Feature identifier: continue after fatal error
    `protected static boolean` | `DEBUG_NODE_POOL`
    `protected static java.lang.String` | `DISALLOW_DOCTYPE` Feature: disallow doctype
    `protected static java.lang.String` | `ENTITY_MANAGER` Property identifier: entity manager.
    `static java.lang.String` | `ENTITY_RESOLVER` Property identifier: entity resolver.
    `protected static java.lang.String` | `ERROR_HANDLER` Property identifier: error handler.
    `static java.lang.String` | `ERROR_REPORTER` Property identifier: error reporter.
    `protected XSDeclarationPool` | `fDeclPool`
    `protected java.util.Hashtable` | `fNotationRegistry`
    `protected static java.lang.String` | `GENERATE_SYNTHETIC_ANNOTATIONS` Feature: generate synthetic annotations
    `protected static java.lang.String` | `HONOUR_ALL_SCHEMALOCATIONS` Feature identifier: honour all schemaLocations
    `protected static java.lang.String` | `JAXP_SCHEMA_SOURCE` Property identifier: JAXP schema source.
    `protected static java.lang.String` | `LOCALE` Property identifier: locale.
    `protected static java.lang.String` | `NAMESPACE_GROWTH` Feature identifier: namespace growth
    `static java.lang.String` | `REDEF_IDENTIFIER`
    `protected static java.lang.String` | `SECURITY_MANAGER` Property identifier: security manager.
    `protected static java.lang.String` | `STANDARD_URI_CONFORMANT_FEATURE` Feature identifier: allow java encodings
    `protected static java.lang.String` | `STRING_INTERNING` Feature identifier: string interning.
    `static java.lang.String` | `SYMBOL_TABLE` Property identifier: symbol table.
    `protected static java.lang.String` | `TOLERATE_DUPLICATES` Feature identifier: tolerate duplicates
    `protected static java.lang.String` | `VALIDATE_ANNOTATIONS` Feature identifier: validate annotations.
    `protected static java.lang.String` | `VALIDATION` Feature identifier: validation.
    `static java.lang.String` | `XMLGRAMMAR_POOL` Property identifier: grammar pool.
    `protected static java.lang.String` | `XMLSCHEMA_VALIDATION` feature identifier: XML Schema validation

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XSDHandler()`
    `XSDHandler(XSGrammarBucket gBucket)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `buildGlobalNameRegistries()`
    `protected org.apache.xerces.impl.xs.traversers.XSDocumentInfo` | `constructTrees(org.w3c.dom.Element schemaRoot, java.lang.String locationHint, XSDDescription desc, boolean nsCollision)`
    `SimpleLocator` | `element2Locator(org.w3c.dom.Element e)` Extract location information from an Element node, and create a new SimpleLocator object from such information.
    `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.
    `protected SchemaGrammar` | `findGrammar(XSDDescription desc, boolean ignoreConflict)` First try to find a grammar in the bucket, if failed, consult the grammar pool.
    `protected java.lang.Object` | `getGlobalDecl(java.lang.String declKey, int declType)`
    `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)`
    `protected java.lang.Object` | `getGlobalDeclFromGrammar(SchemaGrammar sGrammar, int declType, java.lang.String localpart)`
    `protected java.lang.Object` | `getGlobalDeclFromGrammar(SchemaGrammar sGrammar, int declType, java.lang.String localpart, java.lang.String schemaLoc)`
    `protected java.util.Hashtable` | `getIDRegistry_sub()`
    `protected java.util.Hashtable` | `getIDRegistry()`
    `SchemaGrammar` | `parseSchema(org.apache.xerces.xni.parser.XMLInputSource is, XSDDescription desc, java.util.Hashtable locationPairs)` This method initiates the parse of a schema.
    `void` | `reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager)`
    `protected void` | `resolveKeyRefs()`
    `java.lang.String` | `schemaDocument2SystemId(org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)`
    `void` | `setDeclPool(XSDeclarationPool declPool)`
    `void` | `setDVFactory(SchemaDVFactory dvFactory)`
    `void` | `setGenerateSyntheticAnnotations(boolean state)`
    `protected void` | `storeKeyRef(org.w3c.dom.Element keyrefToStore, org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc, XSElementDecl currElemDecl)`
    `protected java.lang.Object` | `traverseGlobalDecl(int declType, org.w3c.dom.Element decl, org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc, SchemaGrammar grammar)`
    `protected void` | `traverseSchemas(java.util.ArrayList annotationInfo)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

    - #### DEBUG_NODE_POOL

          protected static final boolean DEBUG_NODE_POOL

      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

    - #### fDeclPool

          protected XSDeclarationPool fDeclPool

  - ### Constructor Detail

    - #### XSDHandler

          public XSDHandler()

    - #### XSDHandler

          public XSDHandler(XSGrammarBucket gBucket)

  - ### 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)

    - #### setDeclPool

          public void setDeclPool(XSDeclarationPool declPool)

    - #### setDVFactory

          public void setDVFactory(SchemaDVFactory dvFactory)

    - #### 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` -

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.