Package org.apache.xerces.impl.xs
Class XMLSchemaLoader
java.lang.Object
org.apache.xerces.impl.xs.XMLSchemaLoader
- All Implemented Interfaces:
XSElementDeclHelper,org.apache.xerces.xni.grammars.XMLGrammarLoader,org.apache.xerces.xni.parser.XMLComponent,org.apache.xerces.xs.XSLoader,DOMConfiguration
public class XMLSchemaLoader
extends Object
implements org.apache.xerces.xni.grammars.XMLGrammarLoader, org.apache.xerces.xni.parser.XMLComponent, XSElementDeclHelper, org.apache.xerces.xs.XSLoader, DOMConfiguration
This class implements xni.grammars.XMLGrammarLoader.
It also serves as implementation of xs.XSLoader interface and DOMConfiguration interface.
This class is designed to interact either with a proxy for a user application
which wants to preparse schemas, or with our own Schema validator.
It is hoped that none of these "external" classes will therefore need to communicate directly
with XSDHandler in future.
This class only knows how to make XSDHandler do its thing. The caller must ensure that all its properties (schemaLocation, JAXPSchemaSource etc.) have been properly set.
INTERNAL:
- Usage of this class is not supported. It may be altered or removed at any time.
- Version:
- $Id: XMLSchemaLoader.java 982466 2010-08-05 04:41:01Z mrglavas $
- Author:
- Neil Graham, IBM
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringFeature identifier: allow java encodings to be recognized when parsing schema docs.protected static final Stringprotected static final StringFeature identifier: continue after fatal error.protected static final StringFeature: disallow doctypeprotected static final Stringstatic final StringProperty identifier: entity resolver.protected static final StringProperty identifier: error handler.static final StringProperty identifier: error reporter.protected static final StringFeature: generate synthetic annotationsprotected static final StringFeature identifier: honour all schemaLocationsprotected static final StringProperty identifier: JAXP schema source.protected static final StringProperty identifier: locale.protected static final StringFeature identifier: namespace growthprotected static final Stringprotected static final StringProperty identifier: Schema DV Factoryprotected static final StringFeature identifier: schema full checkingprotected static final StringProperty identifier: schema location.protected static final StringProperty identifier: no namespace schema location.protected static final Stringprotected static final StringFeature identifier: standard uri conformant feature.static final StringProperty identifier: symbol table.protected static final StringFeature identifier: tolerate duplicatesprotected static final StringFeature identifier: validate annotations.static final StringProperty identifier: grammar pool. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanSetParameter(String name, Object value) The configuration of a document.org.apache.xerces.xni.parser.XMLEntityResolverReturns the registered entity resolver.org.apache.xerces.xni.parser.XMLErrorHandlerReturns the registered error handler.booleangetFeature(String featureId) Returns the state of a feature.getFeatureDefault(String featureId) Returns the default state for a feature, or null if this component does not want to report a default value for this feature.getGlobalElementDecl(org.apache.xerces.xni.QName element) Return the Locale the XMLGrammarLoader is using.getParameter(String name) getProperty(String propertyId) Returns the state of a property.getPropertyDefault(String propertyId) Returns the default state for a property, or null if this component does not want to report a default value for this property.String[]Returns a list of feature identifiers that are recognized by this XMLGrammarLoader.String[]Returns a list of property identifiers that are recognized by this XMLGrammarLoader.org.apache.xerces.xs.XSModelParse an XML Schema document from a resource identified by aLSInput.org.apache.xerces.xni.grammars.GrammarloadGrammar(org.apache.xerces.xni.parser.XMLInputSource source) Returns a Grammar object by parsing the contents of the entity pointed to by source.voidloadGrammar(org.apache.xerces.xni.parser.XMLInputSource[] source) Returns a Grammar object by parsing the contents of the entities pointed to by sources.org.apache.xerces.xs.XSModelloadInputList(org.apache.xerces.xs.LSInputList is) Parses the content of XML Schema documents specified as a list ofLSInputs.org.apache.xerces.xs.XSModelParse an XML Schema document from a location identified by a URI reference.org.apache.xerces.xs.XSModelloadURIList(org.apache.xerces.xs.StringList uriList) Parses the content of XML Schema documents specified as the list of URI references.static voidprocessExternalHints(String sl, String nsl, Hashtable locations, XMLErrorReporter er) voidreset(org.apache.xerces.xni.parser.XMLComponentManager componentManager) Resets the component.static org.apache.xerces.xni.parser.XMLInputSourceresolveDocument(XSDDescription desc, Hashtable locationPairs, org.apache.xerces.xni.parser.XMLEntityResolver entityResolver) This method tries to resolve location of the given schema.voidsetEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver entityResolver) Sets the entity resolver.voidsetErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler) Sets the error handler.voidsetFeature(String featureId, boolean state) Sets the state of a feature.voidSet the locale to use for messages.voidsetParameter(String name, Object value) voidsetProperty(String propertyId, Object state) Sets the state of a property.static booleantokenizeSchemaLocationStr(String schemaStr, Hashtable locations, String base)
-
Field Details
-
SCHEMA_FULL_CHECKING
Feature identifier: schema full checking- See Also:
-
CONTINUE_AFTER_FATAL_ERROR
Feature identifier: continue after fatal error.- See Also:
-
ALLOW_JAVA_ENCODINGS
Feature identifier: allow java encodings to be recognized when parsing schema docs.- See Also:
-
STANDARD_URI_CONFORMANT_FEATURE
Feature identifier: standard uri conformant feature.- See Also:
-
VALIDATE_ANNOTATIONS
Feature identifier: validate annotations.- See Also:
-
DISALLOW_DOCTYPE
Feature: disallow doctype- See Also:
-
GENERATE_SYNTHETIC_ANNOTATIONS
Feature: generate synthetic annotations- See Also:
-
HONOUR_ALL_SCHEMALOCATIONS
Feature identifier: honour all schemaLocations- See Also:
-
AUGMENT_PSVI
- See Also:
-
PARSER_SETTINGS
- See Also:
-
NAMESPACE_GROWTH
Feature identifier: namespace growth- See Also:
-
TOLERATE_DUPLICATES
Feature identifier: tolerate duplicates- See Also:
-
SCHEMA_DV_FACTORY
Property identifier: Schema DV Factory- See Also:
-
SYMBOL_TABLE
Property identifier: symbol table.- See Also:
-
ERROR_REPORTER
Property identifier: error reporter.- See Also:
-
ERROR_HANDLER
Property identifier: error handler.- See Also:
-
ENTITY_RESOLVER
Property identifier: entity resolver.- See Also:
-
XMLGRAMMAR_POOL
Property identifier: grammar pool.- See Also:
-
SCHEMA_LOCATION
Property identifier: schema location.- See Also:
-
SCHEMA_NONS_LOCATION
Property identifier: no namespace schema location.- See Also:
-
JAXP_SCHEMA_SOURCE
Property identifier: JAXP schema source.- See Also:
-
SECURITY_MANAGER
- See Also:
-
LOCALE
Property identifier: locale.- See Also:
-
ENTITY_MANAGER
- See Also:
-
-
Constructor Details
-
XMLSchemaLoader
public XMLSchemaLoader() -
XMLSchemaLoader
-
-
Method Details
-
getRecognizedFeatures
Returns a list of feature identifiers that are recognized by this XMLGrammarLoader. This method may return null if no features are recognized.- Specified by:
getRecognizedFeaturesin interfaceorg.apache.xerces.xni.parser.XMLComponent- Specified by:
getRecognizedFeaturesin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader
-
getFeature
public boolean getFeature(String featureId) throws org.apache.xerces.xni.parser.XMLConfigurationException Returns the state of a feature.- Specified by:
getFeaturein interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
featureId- The feature identifier.- Throws:
org.apache.xerces.xni.parser.XMLConfigurationException- Thrown on configuration error.
-
setFeature
public void setFeature(String featureId, boolean state) throws org.apache.xerces.xni.parser.XMLConfigurationException Sets the state of a feature.- Specified by:
setFeaturein interfaceorg.apache.xerces.xni.parser.XMLComponent- Specified by:
setFeaturein interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
featureId- The feature identifier.state- The state of the feature.- Throws:
org.apache.xerces.xni.parser.XMLConfigurationException- Thrown when a feature is not recognized or cannot be set.
-
getRecognizedProperties
Returns a list of property identifiers that are recognized by this XMLGrammarLoader. This method may return null if no properties are recognized.- Specified by:
getRecognizedPropertiesin interfaceorg.apache.xerces.xni.parser.XMLComponent- Specified by:
getRecognizedPropertiesin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader
-
getProperty
public Object getProperty(String propertyId) throws org.apache.xerces.xni.parser.XMLConfigurationException Returns the state of a property.- Specified by:
getPropertyin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
propertyId- The property identifier.- Throws:
org.apache.xerces.xni.parser.XMLConfigurationException- Thrown on configuration error.
-
setProperty
public void setProperty(String propertyId, Object state) throws org.apache.xerces.xni.parser.XMLConfigurationException Sets the state of a property.- Specified by:
setPropertyin interfaceorg.apache.xerces.xni.parser.XMLComponent- Specified by:
setPropertyin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
propertyId- The property identifier.state- The state of the property.- Throws:
org.apache.xerces.xni.parser.XMLConfigurationException- Thrown when a property is not recognized or cannot be set.
-
setLocale
Set the locale to use for messages.- Specified by:
setLocalein interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
locale- The locale object to use for localization of messages.- Throws:
org.apache.xerces.xni.XNIException- Thrown if the parser does not support the specified locale.
-
getLocale
Return the Locale the XMLGrammarLoader is using.- Specified by:
getLocalein interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader
-
setErrorHandler
public void setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler) Sets the error handler.- Specified by:
setErrorHandlerin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
errorHandler- The error handler.
-
getErrorHandler
public org.apache.xerces.xni.parser.XMLErrorHandler getErrorHandler()Returns the registered error handler.- Specified by:
getErrorHandlerin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader
-
setEntityResolver
public void setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver entityResolver) Sets the entity resolver.- Specified by:
setEntityResolverin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
entityResolver- The new entity resolver.
-
getEntityResolver
public org.apache.xerces.xni.parser.XMLEntityResolver getEntityResolver()Returns the registered entity resolver.- Specified by:
getEntityResolverin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader
-
loadGrammar
public void loadGrammar(org.apache.xerces.xni.parser.XMLInputSource[] source) throws IOException, org.apache.xerces.xni.XNIException Returns a Grammar object by parsing the contents of the entities pointed to by sources.- Parameters:
source- the locations of the entity which forms the staring point of the grammars to be constructed- Throws:
IOException- when a problem is encounted reading the entityorg.apache.xerces.xni.XNIException- when a condition arises (such as a FatalError) that requires parsing of the entity be terminated
-
loadGrammar
public org.apache.xerces.xni.grammars.Grammar loadGrammar(org.apache.xerces.xni.parser.XMLInputSource source) throws IOException, org.apache.xerces.xni.XNIException Returns a Grammar object by parsing the contents of the entity pointed to by source.- Specified by:
loadGrammarin interfaceorg.apache.xerces.xni.grammars.XMLGrammarLoader- Parameters:
source- the location of the entity which forms the starting point of the grammar to be constructed.- Throws:
IOException- When a problem is encountered reading the entity XNIException When a condition arises (such as a FatalError) that requires parsing of the entity be terminated.org.apache.xerces.xni.XNIException
-
resolveDocument
public static org.apache.xerces.xni.parser.XMLInputSource resolveDocument(XSDDescription desc, Hashtable locationPairs, org.apache.xerces.xni.parser.XMLEntityResolver entityResolver) throws IOException This method tries to resolve location of the given schema. The loader stores the namespace/location pairs in a hashtable (use "" as the namespace of absent namespace). When resolving an entity, loader first tries to find in the hashtable whether there is a value for that namespace, if so, pass that location value to the user-defined entity resolver.- Parameters:
desc-locationPairs-entityResolver-- Returns:
- the XMLInputSource
- Throws:
IOException
-
processExternalHints
public static void processExternalHints(String sl, String nsl, Hashtable locations, XMLErrorReporter er) -
tokenizeSchemaLocationStr
-
getFeatureDefault
Description copied from interface:org.apache.xerces.xni.parser.XMLComponentReturns the default state for a feature, or null if this component does not want to report a default value for this feature.- Specified by:
getFeatureDefaultin interfaceorg.apache.xerces.xni.parser.XMLComponent- Parameters:
featureId- The feature identifier.
-
getPropertyDefault
Description copied from interface:org.apache.xerces.xni.parser.XMLComponentReturns the default state for a property, or null if this component does not want to report a default value for this property.- Specified by:
getPropertyDefaultin interfaceorg.apache.xerces.xni.parser.XMLComponent- Parameters:
propertyId- The property identifier.
-
reset
public void reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager) throws org.apache.xerces.xni.parser.XMLConfigurationException Description copied from interface:org.apache.xerces.xni.parser.XMLComponentResets the component. The component can query the component manager about any features and properties that affect the operation of the component.- Specified by:
resetin interfaceorg.apache.xerces.xni.parser.XMLComponent- Parameters:
componentManager- The component manager.- Throws:
org.apache.xerces.xni.parser.XMLConfigurationException
-
getConfig
Description copied from interface:org.apache.xerces.xs.XSLoaderThe configuration of a document. It maintains a table of recognized parameters. Using the configuration, it is possible to change the behavior of the load methods. The configuration may support the setting of and the retrieval of the following non-boolean parameters defined on theDOMConfigurationinterface:error-handler(DOMErrorHandler) andresource-resolver(LSResourceResolver).
The following list of boolean parameters is defined:-
"validate" -
true- [required] (default) Validate an XML Schema during loading. If validation errors are found, the error handler is notified.
false- [optional] Do not report errors during the loading of an XML Schema document.
- Specified by:
getConfigin interfaceorg.apache.xerces.xs.XSLoader
-
-
load
Description copied from interface:org.apache.xerces.xs.XSLoaderParse an XML Schema document from a resource identified by aLSInput.- Specified by:
loadin interfaceorg.apache.xerces.xs.XSLoader- Parameters:
is- TheLSInputfrom which the source document is to be read.- Returns:
- An XSModel representing this schema.
-
loadInputList
public org.apache.xerces.xs.XSModel loadInputList(org.apache.xerces.xs.LSInputList is) Description copied from interface:org.apache.xerces.xs.XSLoaderParses the content of XML Schema documents specified as a list ofLSInputs.- Specified by:
loadInputListin interfaceorg.apache.xerces.xs.XSLoader- Parameters:
is- The list ofLSInputs from which the XML Schema documents are to be read.- Returns:
- An XSModel representing the schema documents.
-
loadURI
Description copied from interface:org.apache.xerces.xs.XSLoaderParse an XML Schema document from a location identified by a URI reference. If the URI contains a fragment identifier, the behavior is not defined by this specification.- Specified by:
loadURIin interfaceorg.apache.xerces.xs.XSLoader- Parameters:
uri- The location of the XML Schema document to be read.- Returns:
- An XSModel representing this schema.
-
loadURIList
public org.apache.xerces.xs.XSModel loadURIList(org.apache.xerces.xs.StringList uriList) Description copied from interface:org.apache.xerces.xs.XSLoaderParses the content of XML Schema documents specified as the list of URI references. If the URI contains a fragment identifier, the behavior is not defined by this specification.- Specified by:
loadURIListin interfaceorg.apache.xerces.xs.XSLoader- Parameters:
uriList- The list of URI locations.- Returns:
- An XSModel representing the schema documents.
-
canSetParameter
- Specified by:
canSetParameterin interfaceDOMConfiguration
-
getParameter
- Specified by:
getParameterin interfaceDOMConfiguration- Throws:
DOMException
-
getParameterNames
- Specified by:
getParameterNamesin interfaceDOMConfiguration
-
setParameter
- Specified by:
setParameterin interfaceDOMConfiguration- Throws:
DOMException
-
getGlobalElementDecl
- Specified by:
getGlobalElementDeclin interfaceXSElementDeclHelper
-