Class XSDHandler

java.lang.Object
org.apache.xerces.impl.xs.traversers.XSDHandler

public class XSDHandler extends 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 Details

    • VALIDATION

      protected static final String VALIDATION
      Feature identifier: validation.
      See Also:
    • XMLSCHEMA_VALIDATION

      protected static final String XMLSCHEMA_VALIDATION
      feature identifier: XML Schema validation
      See Also:
    • ALLOW_JAVA_ENCODINGS

      protected static final String ALLOW_JAVA_ENCODINGS
      Feature identifier: allow java encodings
      See Also:
    • CONTINUE_AFTER_FATAL_ERROR

      protected static final String CONTINUE_AFTER_FATAL_ERROR
      Feature identifier: continue after fatal error
      See Also:
    • STANDARD_URI_CONFORMANT_FEATURE

      protected static final String STANDARD_URI_CONFORMANT_FEATURE
      Feature identifier: allow java encodings
      See Also:
    • DISALLOW_DOCTYPE

      protected static final String DISALLOW_DOCTYPE
      Feature: disallow doctype
      See Also:
    • GENERATE_SYNTHETIC_ANNOTATIONS

      protected static final String GENERATE_SYNTHETIC_ANNOTATIONS
      Feature: generate synthetic annotations
      See Also:
    • VALIDATE_ANNOTATIONS

      protected static final String VALIDATE_ANNOTATIONS
      Feature identifier: validate annotations.
      See Also:
    • HONOUR_ALL_SCHEMALOCATIONS

      protected static final String HONOUR_ALL_SCHEMALOCATIONS
      Feature identifier: honour all schemaLocations
      See Also:
    • NAMESPACE_GROWTH

      protected static final String NAMESPACE_GROWTH
      Feature identifier: namespace growth
      See Also:
    • TOLERATE_DUPLICATES

      protected static final String TOLERATE_DUPLICATES
      Feature identifier: tolerate duplicates
      See Also:
    • STRING_INTERNING

      protected static final String STRING_INTERNING
      Feature identifier: string interning.
      See Also:
    • ERROR_HANDLER

      protected static final String ERROR_HANDLER
      Property identifier: error handler.
      See Also:
    • JAXP_SCHEMA_SOURCE

      protected static final String JAXP_SCHEMA_SOURCE
      Property identifier: JAXP schema source.
      See Also:
    • ENTITY_RESOLVER

      public static final String ENTITY_RESOLVER
      Property identifier: entity resolver.
      See Also:
    • ENTITY_MANAGER

      protected static final String ENTITY_MANAGER
      Property identifier: entity manager.
      See Also:
    • ERROR_REPORTER

      public static final String ERROR_REPORTER
      Property identifier: error reporter.
      See Also:
    • XMLGRAMMAR_POOL

      public static final String XMLGRAMMAR_POOL
      Property identifier: grammar pool.
      See Also:
    • SYMBOL_TABLE

      public static final String SYMBOL_TABLE
      Property identifier: symbol table.
      See Also:
    • SECURITY_MANAGER

      protected static final String SECURITY_MANAGER
      Property identifier: security manager.
      See Also:
    • LOCALE

      protected static final String LOCALE
      Property identifier: locale.
      See Also:
    • DEBUG_NODE_POOL

      protected static final boolean DEBUG_NODE_POOL
      See Also:
    • REDEF_IDENTIFIER

      public static final String REDEF_IDENTIFIER
      See Also:
    • fNotationRegistry

      protected Hashtable fNotationRegistry
    • fDeclPool

      protected XSDeclarationPool fDeclPool
  • Constructor Details

    • XSDHandler

      public XSDHandler()
    • XSDHandler

      public XSDHandler(XSGrammarBucket gBucket)
  • Method Details

    • parseSchema

      public SchemaGrammar parseSchema(org.apache.xerces.xni.parser.XMLInputSource is, XSDDescription desc, Hashtable locationPairs) throws 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:
      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(Element schemaRoot, String locationHint, XSDDescription desc, boolean nsCollision)
    • buildGlobalNameRegistries

      protected void buildGlobalNameRegistries()
    • traverseSchemas

      protected void traverseSchemas(ArrayList annotationInfo)
    • getGlobalDecl

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

      protected Object getGlobalDecl(String declKey, int declType)
    • getGlobalDeclFromGrammar

      protected Object getGlobalDeclFromGrammar(SchemaGrammar sGrammar, int declType, String localpart)
    • getGlobalDeclFromGrammar

      protected Object getGlobalDeclFromGrammar(SchemaGrammar sGrammar, int declType, String localpart, String schemaLoc)
    • traverseGlobalDecl

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

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

      protected void resolveKeyRefs()
    • getIDRegistry

      protected Hashtable getIDRegistry()
    • getIDRegistry_sub

      protected Hashtable getIDRegistry_sub()
    • storeKeyRef

      protected void storeKeyRef(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(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(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 -