Class XSDHandler
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.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 containsor information items). If any of the schemas imports a schema, other grammars may be constructed as a side-effect. - Version:
- $Id$
- Author:
- Neil Graham, IBM, Pavani Mukthipudi, Sun Microsystems
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringALLOW_JAVA_ENCODINGSFeature identifier: allow java encodingsprotected static StringCONTINUE_AFTER_FATAL_ERRORFeature identifier: continue after fatal errorprotected static booleanDEBUG_NODE_POOLprotected static StringDISALLOW_DOCTYPEFeature: disallow doctypeprotected static StringENTITY_MANAGERProperty identifier: entity manager.static StringENTITY_RESOLVERProperty identifier: entity resolver.protected static StringERROR_HANDLERProperty identifier: error handler.static StringERROR_REPORTERProperty identifier: error reporter.protected XSDeclarationPoolfDeclPoolprotected HashtablefNotationRegistryprotected static StringGENERATE_SYNTHETIC_ANNOTATIONSFeature: generate synthetic annotationsprotected static StringHONOUR_ALL_SCHEMALOCATIONSFeature identifier: honour all schemaLocationsprotected static StringJAXP_SCHEMA_SOURCEProperty identifier: JAXP schema source.protected static StringLOCALEProperty identifier: locale.protected static StringNAMESPACE_GROWTHFeature identifier: namespace growthstatic StringREDEF_IDENTIFIERprotected static StringSECURITY_MANAGERProperty identifier: security manager.protected static StringSTANDARD_URI_CONFORMANT_FEATUREFeature identifier: allow java encodingsprotected static StringSTRING_INTERNINGFeature identifier: string interning.static StringSYMBOL_TABLEProperty identifier: symbol table.protected static StringTOLERATE_DUPLICATESFeature identifier: tolerate duplicatesprotected static StringVALIDATE_ANNOTATIONSFeature identifier: validate annotations.protected static StringVALIDATIONFeature identifier: validation.static StringXMLGRAMMAR_POOLProperty identifier: grammar pool.protected static StringXMLSCHEMA_VALIDATIONfeature identifier: XML Schema validation
-
Constructor Summary
Constructors Constructor Description XSDHandler()XSDHandler(XSGrammarBucket gBucket)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbuildGlobalNameRegistries()protected org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.traversers.XSDocumentInfoconstructTrees(Element schemaRoot, String locationHint, XSDDescription desc, boolean nsCollision)SimpleLocatorelement2Locator(Element e)Extract location information from an Element node, and create a new SimpleLocator object from such information.booleanelement2Locator(Element e, SimpleLocator l)Extract location information from an Element node, store such information in the passed-in SimpleLocator object, then return true.protected SchemaGrammarfindGrammar(XSDDescription desc, boolean ignoreConflict)First try to find a grammar in the bucket, if failed, consult the grammar pool.protected ObjectgetGlobalDecl(String declKey, int declType)protected ObjectgetGlobalDecl(org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.traversers.XSDocumentInfo currSchema, int declType, QName declToTraverse, Element elmNode)protected ObjectgetGlobalDeclFromGrammar(SchemaGrammar sGrammar, int declType, String localpart)protected ObjectgetGlobalDeclFromGrammar(SchemaGrammar sGrammar, int declType, String localpart, String schemaLoc)protected HashtablegetIDRegistry()protected HashtablegetIDRegistry_sub()SchemaGrammarparseSchema(XMLInputSource is, XSDDescription desc, Hashtable locationPairs)This method initiates the parse of a schema.voidreset(XMLComponentManager componentManager)protected voidresolveKeyRefs()StringschemaDocument2SystemId(org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)voidsetDeclPool(XSDeclarationPool declPool)voidsetDVFactory(SchemaDVFactory dvFactory)voidsetGenerateSyntheticAnnotations(boolean state)protected voidstoreKeyRef(Element keyrefToStore, org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc, XSElementDecl currElemDecl)protected ObjecttraverseGlobalDecl(int declType, Element decl, org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc, SchemaGrammar grammar)protected voidtraverseSchemas(ArrayList annotationInfo)
-
-
-
Field Detail
-
VALIDATION
protected static final String VALIDATION
Feature identifier: validation.- See Also:
- Constant Field Values
-
XMLSCHEMA_VALIDATION
protected static final String XMLSCHEMA_VALIDATION
feature identifier: XML Schema validation- See Also:
- Constant Field Values
-
ALLOW_JAVA_ENCODINGS
protected static final String ALLOW_JAVA_ENCODINGS
Feature identifier: allow java encodings- See Also:
- Constant Field Values
-
CONTINUE_AFTER_FATAL_ERROR
protected static final String CONTINUE_AFTER_FATAL_ERROR
Feature identifier: continue after fatal error- See Also:
- Constant Field Values
-
STANDARD_URI_CONFORMANT_FEATURE
protected static final String STANDARD_URI_CONFORMANT_FEATURE
Feature identifier: allow java encodings- See Also:
- Constant Field Values
-
DISALLOW_DOCTYPE
protected static final String DISALLOW_DOCTYPE
Feature: disallow doctype- See Also:
- Constant Field Values
-
GENERATE_SYNTHETIC_ANNOTATIONS
protected static final String GENERATE_SYNTHETIC_ANNOTATIONS
Feature: generate synthetic annotations- See Also:
- Constant Field Values
-
VALIDATE_ANNOTATIONS
protected static final String VALIDATE_ANNOTATIONS
Feature identifier: validate annotations.- See Also:
- Constant Field Values
-
HONOUR_ALL_SCHEMALOCATIONS
protected static final String HONOUR_ALL_SCHEMALOCATIONS
Feature identifier: honour all schemaLocations- See Also:
- Constant Field Values
-
NAMESPACE_GROWTH
protected static final String NAMESPACE_GROWTH
Feature identifier: namespace growth- See Also:
- Constant Field Values
-
TOLERATE_DUPLICATES
protected static final String TOLERATE_DUPLICATES
Feature identifier: tolerate duplicates- See Also:
- Constant Field Values
-
STRING_INTERNING
protected static final String STRING_INTERNING
Feature identifier: string interning.- See Also:
- Constant Field Values
-
ERROR_HANDLER
protected static final String ERROR_HANDLER
Property identifier: error handler.- See Also:
- Constant Field Values
-
JAXP_SCHEMA_SOURCE
protected static final String JAXP_SCHEMA_SOURCE
Property identifier: JAXP schema source.- See Also:
- Constant Field Values
-
ENTITY_RESOLVER
public static final String ENTITY_RESOLVER
Property identifier: entity resolver.- See Also:
- Constant Field Values
-
ENTITY_MANAGER
protected static final String ENTITY_MANAGER
Property identifier: entity manager.- See Also:
- Constant Field Values
-
ERROR_REPORTER
public static final String ERROR_REPORTER
Property identifier: error reporter.- See Also:
- Constant Field Values
-
XMLGRAMMAR_POOL
public static final String XMLGRAMMAR_POOL
Property identifier: grammar pool.- See Also:
- Constant Field Values
-
SYMBOL_TABLE
public static final String SYMBOL_TABLE
Property identifier: symbol table.- See Also:
- Constant Field Values
-
SECURITY_MANAGER
protected static final String SECURITY_MANAGER
Property identifier: security manager.- See Also:
- Constant Field Values
-
LOCALE
protected static final 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 String REDEF_IDENTIFIER
- See Also:
- Constant Field Values
-
fNotationRegistry
protected Hashtable fNotationRegistry
-
fDeclPool
protected XSDeclarationPool fDeclPool
-
-
Constructor Detail
-
XSDHandler
public XSDHandler()
-
XSDHandler
public XSDHandler(XSGrammarBucket gBucket)
-
-
Method Detail
-
parseSchema
public SchemaGrammar parseSchema(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.smooks.engine.delivery.sax.ng.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.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.traversers.XSDocumentInfo currSchema, int declType, QName declToTraverse, Element elmNode)
-
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.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc, SchemaGrammar grammar)
-
schemaDocument2SystemId
public String schemaDocument2SystemId(org.smooks.engine.delivery.sax.ng.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.smooks.engine.delivery.sax.ng.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(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-
-
-