public class XMLSchemaValidator extends Object implements XMLComponent, XMLDocumentFilter, FieldActivator, RevalidationHandler, XSElementDeclHelper
This component requires the following features and properties from the component manager that uses it:
Modifier and Type | Class and Description |
---|---|
protected class |
XMLSchemaValidator.KeyRefValueStore
Key reference value store.
|
protected class |
XMLSchemaValidator.KeyValueStore
Key value store.
|
protected static class |
XMLSchemaValidator.LocalIDKey |
protected static class |
XMLSchemaValidator.ShortVector
A simple vector for
short s. |
protected class |
XMLSchemaValidator.UniqueValueStore
Unique value store.
|
protected class |
XMLSchemaValidator.ValueStoreBase
Value store implementation base class.
|
protected class |
XMLSchemaValidator.ValueStoreCache
Value store cache.
|
protected static class |
XMLSchemaValidator.XPathMatcherStack
Stack of XPath matchers for identity constraints.
|
protected class |
XMLSchemaValidator.XSIErrorReporter
A wrapper of the standard error reporter.
|
Modifier and Type | Field and Description |
---|---|
protected static String |
ALLOW_JAVA_ENCODINGS
Feature identifier: whether to recognize java encoding names
|
protected static String |
CONTINUE_AFTER_FATAL_ERROR
Feature identifier: whether to continue parsing a schema after a fatal error is encountered
|
protected static String |
DYNAMIC_VALIDATION
Feature identifier: dynamic validation.
|
protected static String |
ENTITY_MANAGER |
static String |
ENTITY_RESOLVER
Property identifier: entity resolver.
|
static String |
ERROR_REPORTER
Property identifier: error reporter.
|
protected AugmentationsImpl |
fAugmentations |
protected boolean |
fAugPSVI |
protected ElementPSVImpl |
fCurrentPSVI
current PSVI element info
|
protected XMLString |
fDefaultValue |
protected XMLDocumentHandler |
fDocumentHandler
Document handler.
|
protected XMLDocumentSource |
fDocumentSource |
protected boolean |
fDoValidation |
protected boolean |
fDynamicValidation |
protected boolean |
fEntityRef |
protected XMLEntityResolver |
fEntityResolver
Entity resolver
|
protected Hashtable |
fExpandedLocationPairs |
protected String |
fExternalNoNamespaceSchema |
protected String |
fExternalSchemas |
protected boolean |
fFullChecking |
protected XMLGrammarPool |
fGrammarPool |
protected boolean |
fIdConstraint |
protected boolean |
fInCDATA |
protected Object |
fJaxpSchemaSource |
protected Hashtable |
fLocationPairs |
protected XMLSchemaValidator.XPathMatcherStack |
fMatcherStack
Stack of active XPath matchers for identity constraints.
|
protected boolean |
fNamespaceGrowth |
protected boolean |
fNormalizeData |
protected boolean |
fSchemaDynamicValidation |
protected boolean |
fSchemaElementDefault |
protected SymbolTable |
fSymbolTable
Symbol table.
|
protected ArrayList |
fUnparsedLocations |
protected boolean |
fUseGrammarPoolOnly |
protected ValidationManager |
fValidationManager |
protected ConfigurableValidationState |
fValidationState |
protected XMLSchemaValidator.ValueStoreCache |
fValueStoreCache
Cache of value stores for identity constraint fields.
|
protected XSDDescription |
fXSDDescription
Schema Grammar Description passed, to give a chance to application to supply the Grammar
|
protected XMLSchemaValidator.XSIErrorReporter |
fXSIErrorReporter
Error reporter.
|
protected static String |
GENERATE_SYNTHETIC_ANNOTATIONS
Feature: generate synthetic annotations
|
protected static String |
HONOUR_ALL_SCHEMALOCATIONS
Feature identifier: honour all schemaLocations
|
protected static int |
ID_CONSTRAINT_NUM |
protected static String |
ID_IDREF_CHECKING
Feature identifier: whether to ignore ID/IDREF errors
|
protected static String |
IDENTITY_CONSTRAINT_CHECKING
Feature identifier: whether to ignore identity constraint errors
|
protected static String |
IGNORE_XSI_TYPE
Feature identifier: whether to ignore xsi:type attributes until a global element declaration is encountered
|
protected static String |
JAXP_SCHEMA_LANGUAGE
Property identifier: JAXP schema language.
|
protected static String |
JAXP_SCHEMA_SOURCE
Property identifier: JAXP schema source.
|
protected static String |
NAMESPACE_GROWTH
Feature identifier: namespace growth
|
protected static String |
NORMALIZE_DATA
Feature identifier: expose schema normalized value
|
protected static String |
PARSER_SETTINGS |
protected static String |
ROOT_ELEMENT_DECL
Property identifier: root element declaration.
|
protected static String |
ROOT_TYPE_DEF
Property identifier: root type definition.
|
protected static String |
SCHEMA_AUGMENT_PSVI
Feature identifier: augment PSVI
|
protected static String |
SCHEMA_DV_FACTORY
Property identifier: Schema DV Factory
|
protected static String |
SCHEMA_ELEMENT_DEFAULT
Feature identifier: send element default value via characters()
|
protected static String |
SCHEMA_FULL_CHECKING
Feature identifier: schema full checking
|
protected static String |
SCHEMA_LOCATION
Property identifier: schema location.
|
protected static String |
SCHEMA_NONS_LOCATION
Property identifier: no namespace schema location.
|
protected static String |
SCHEMA_VALIDATION
Feature identifier: validation.
|
protected static String |
STANDARD_URI_CONFORMANT_FEATURE
Feature identifier: standard uri conformant feature.
|
static String |
SYMBOL_TABLE
Property identifier: symbol table.
|
protected static String |
TOLERATE_DUPLICATES
Feature identifier: tolerate duplicates
|
protected static String |
UNPARSED_ENTITY_CHECKING
Feature identifier: whether to ignore unparsed entity errors
|
protected static String |
USE_GRAMMAR_POOL_ONLY
Feature identifier: use grammar pool only
|
protected static String |
VALIDATE_ANNOTATIONS
Feature identifier: validate annotations.
|
protected static String |
VALIDATION
Feature identifier: validation.
|
protected static String |
VALIDATION_MANAGER |
static String |
XMLGRAMMAR_POOL
Property identifier: grammar pool.
|
Constructor and Description |
---|
XMLSchemaValidator()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
XPathMatcher |
activateField(Field field,
int initialDepth)
Request to activate the specified field.
|
boolean |
characterData(String data,
Augmentations augs)
Character content.
|
void |
characters(XMLString text,
Augmentations augs)
Character content.
|
void |
comment(XMLString text,
Augmentations augs)
A comment.
|
void |
doctypeDecl(String rootElement,
String publicId,
String systemId,
Augmentations augs)
Notifies of the presence of the DOCTYPE line in the document.
|
void |
elementDefault(String data) |
void |
emptyElement(QName element,
XMLAttributes attributes,
Augmentations augs)
An empty element.
|
void |
endCDATA(Augmentations augs)
The end of a CDATA section.
|
void |
endDocument(Augmentations augs)
The end of the document.
|
void |
endElement(QName element,
Augmentations augs)
The end of an element.
|
void |
endGeneralEntity(String name,
Augmentations augs)
This method notifies the end of a general entity.
|
void |
endValueScopeFor(IdentityConstraint identityConstraint,
int initialDepth)
Ends the value scope for the specified identity constraint.
|
XMLDocumentHandler |
getDocumentHandler()
Returns the document handler
|
XMLDocumentSource |
getDocumentSource()
Returns the document source
|
Boolean |
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.
|
XSElementDecl |
getGlobalElementDecl(QName element) |
Object |
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[] |
getRecognizedFeatures()
Returns a list of feature identifiers that are recognized by
this component.
|
String[] |
getRecognizedProperties()
Returns a list of property identifiers that are recognized by
this component.
|
void |
ignorableWhitespace(XMLString text,
Augmentations augs)
Ignorable whitespace.
|
void |
processingInstruction(String target,
XMLString data,
Augmentations augs)
A processing instruction.
|
void |
reset(XMLComponentManager componentManager)
Resets the component.
|
void |
setDocumentHandler(XMLDocumentHandler documentHandler)
Sets the document handler to receive information about the document.
|
void |
setDocumentSource(XMLDocumentSource source)
Sets the document source
|
void |
setFeature(String featureId,
boolean state)
Sets the state of a feature.
|
void |
setProperty(String propertyId,
Object value)
Sets the value of a property.
|
void |
startCDATA(Augmentations augs)
The start of a CDATA section.
|
void |
startDocument(XMLLocator locator,
String encoding,
NamespaceContext namespaceContext,
Augmentations augs)
The start of the document.
|
void |
startElement(QName element,
XMLAttributes attributes,
Augmentations augs)
The start of an element.
|
void |
startGeneralEntity(String name,
XMLResourceIdentifier identifier,
String encoding,
Augmentations augs)
This method notifies the start of a general entity.
|
void |
startValueScopeFor(IdentityConstraint identityConstraint,
int initialDepth)
Start the value scope for the specified identity constraint.
|
void |
textDecl(String version,
String encoding,
Augmentations augs)
Notifies of the presence of a TextDecl line in an entity.
|
void |
xmlDecl(String version,
String encoding,
String standalone,
Augmentations augs)
Notifies of the presence of an XMLDecl line in the document.
|
protected static final String VALIDATION
protected static final String SCHEMA_VALIDATION
protected static final String SCHEMA_FULL_CHECKING
protected static final String DYNAMIC_VALIDATION
protected static final String NORMALIZE_DATA
protected static final String SCHEMA_ELEMENT_DEFAULT
protected static final String SCHEMA_AUGMENT_PSVI
protected static final String ALLOW_JAVA_ENCODINGS
protected static final String STANDARD_URI_CONFORMANT_FEATURE
protected static final String GENERATE_SYNTHETIC_ANNOTATIONS
protected static final String VALIDATE_ANNOTATIONS
protected static final String HONOUR_ALL_SCHEMALOCATIONS
protected static final String USE_GRAMMAR_POOL_ONLY
protected static final String CONTINUE_AFTER_FATAL_ERROR
protected static final String PARSER_SETTINGS
protected static final String NAMESPACE_GROWTH
protected static final String TOLERATE_DUPLICATES
protected static final String IGNORE_XSI_TYPE
protected static final String ID_IDREF_CHECKING
protected static final String UNPARSED_ENTITY_CHECKING
protected static final String IDENTITY_CONSTRAINT_CHECKING
public static final String SYMBOL_TABLE
public static final String ERROR_REPORTER
public static final String ENTITY_RESOLVER
public static final String XMLGRAMMAR_POOL
protected static final String VALIDATION_MANAGER
protected static final String ENTITY_MANAGER
protected static final String SCHEMA_LOCATION
protected static final String SCHEMA_NONS_LOCATION
protected static final String JAXP_SCHEMA_SOURCE
protected static final String JAXP_SCHEMA_LANGUAGE
protected static final String ROOT_TYPE_DEF
protected static final String ROOT_ELEMENT_DECL
protected static final String SCHEMA_DV_FACTORY
protected static final int ID_CONSTRAINT_NUM
protected ElementPSVImpl fCurrentPSVI
protected final AugmentationsImpl fAugmentations
protected XMLString fDefaultValue
protected boolean fDynamicValidation
protected boolean fSchemaDynamicValidation
protected boolean fDoValidation
protected boolean fFullChecking
protected boolean fNormalizeData
protected boolean fSchemaElementDefault
protected boolean fAugPSVI
protected boolean fIdConstraint
protected boolean fUseGrammarPoolOnly
protected boolean fNamespaceGrowth
protected boolean fEntityRef
protected boolean fInCDATA
protected SymbolTable fSymbolTable
protected final XMLSchemaValidator.XSIErrorReporter fXSIErrorReporter
protected XMLEntityResolver fEntityResolver
protected ValidationManager fValidationManager
protected ConfigurableValidationState fValidationState
protected XMLGrammarPool fGrammarPool
protected String fExternalSchemas
protected String fExternalNoNamespaceSchema
protected Object fJaxpSchemaSource
protected final XSDDescription fXSDDescription
protected final Hashtable fLocationPairs
protected final Hashtable fExpandedLocationPairs
protected final ArrayList fUnparsedLocations
protected XMLDocumentHandler fDocumentHandler
protected XMLDocumentSource fDocumentSource
protected XMLSchemaValidator.XPathMatcherStack fMatcherStack
For each element with identity constraints, the selector of each identity constraint is activated. When the selector matches its XPath, then all the fields of the identity constraint are activated.
Note: Once the activation scope is left, the XPath matchers are automatically removed from the stack of active matchers and no longer receive callbacks.
protected XMLSchemaValidator.ValueStoreCache fValueStoreCache
public String[] getRecognizedFeatures()
getRecognizedFeatures
in interface XMLComponent
public void setFeature(String featureId, boolean state) throws XMLConfigurationException
Note: Components should silently ignore features that do not affect the operation of the component.
setFeature
in interface XMLComponent
featureId
- The feature identifier.state
- The state of the feature.SAXNotRecognizedException
- The component should not throw
this exception.SAXNotSupportedException
- The component should not throw
this exception.XMLConfigurationException
- Thrown for configuration error.
In general, components should
only throw this exception if
it is really
a critical error.public String[] getRecognizedProperties()
getRecognizedProperties
in interface XMLComponent
public void setProperty(String propertyId, Object value) throws XMLConfigurationException
Note: Components should silently ignore properties that do not affect the operation of the component.
setProperty
in interface XMLComponent
propertyId
- The property identifier.value
- The value of the property.SAXNotRecognizedException
- The component should not throw
this exception.SAXNotSupportedException
- The component should not throw
this exception.XMLConfigurationException
- Thrown for configuration error.
In general, components should
only throw this exception if
it is really
a critical error.public Boolean getFeatureDefault(String featureId)
getFeatureDefault
in interface XMLComponent
featureId
- The feature identifier.public Object getPropertyDefault(String propertyId)
getPropertyDefault
in interface XMLComponent
propertyId
- The property identifier.public void setDocumentHandler(XMLDocumentHandler documentHandler)
setDocumentHandler
in interface XMLDocumentSource
public XMLDocumentHandler getDocumentHandler()
getDocumentHandler
in interface XMLDocumentSource
public void setDocumentSource(XMLDocumentSource source)
setDocumentSource
in interface XMLDocumentHandler
public XMLDocumentSource getDocumentSource()
getDocumentSource
in interface XMLDocumentHandler
public void startDocument(XMLLocator locator, String encoding, NamespaceContext namespaceContext, Augmentations augs) throws XNIException
startDocument
in interface XMLDocumentHandler
locator
- The system identifier of the entity if the entity
is external, null otherwise.encoding
- The auto-detected IANA encoding name of the entity
stream. This value will be null in those situations
where the entity encoding is not auto-detected (e.g.
internal entities or a document entity that is
parsed from a java.io.Reader).namespaceContext
- The namespace context in effect at the
start of this document.
This object represents the current context.
Implementors of this class are responsible
for copying the namespace bindings from the
the current context (and its parent contexts)
if that information is important.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void xmlDecl(String version, String encoding, String standalone, Augmentations augs) throws XNIException
xmlDecl
in interface XMLDocumentHandler
version
- The XML version.encoding
- The IANA encoding name of the document, or null if
not specified.standalone
- The standalone value, or null if not specified.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void doctypeDecl(String rootElement, String publicId, String systemId, Augmentations augs) throws XNIException
doctypeDecl
in interface XMLDocumentHandler
rootElement
- The name of the root element.publicId
- The public identifier if an external DTD or null
if the external DTD is specified using SYSTEM.systemId
- The system identifier if an external DTD, null
otherwise.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void startElement(QName element, XMLAttributes attributes, Augmentations augs) throws XNIException
startElement
in interface XMLDocumentHandler
element
- The name of the element.attributes
- The element attributes.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void emptyElement(QName element, XMLAttributes attributes, Augmentations augs) throws XNIException
emptyElement
in interface XMLDocumentHandler
element
- The name of the element.attributes
- The element attributes.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void characters(XMLString text, Augmentations augs) throws XNIException
characters
in interface XMLDocumentHandler
text
- The content.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void ignorableWhitespace(XMLString text, Augmentations augs) throws XNIException
ignorableWhitespace
in interface XMLDocumentHandler
text
- The ignorable whitespace.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void endElement(QName element, Augmentations augs) throws XNIException
endElement
in interface XMLDocumentHandler
element
- The name of the element.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void startCDATA(Augmentations augs) throws XNIException
startCDATA
in interface XMLDocumentHandler
augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void endCDATA(Augmentations augs) throws XNIException
endCDATA
in interface XMLDocumentHandler
augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void endDocument(Augmentations augs) throws XNIException
endDocument
in interface XMLDocumentHandler
augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public boolean characterData(String data, Augmentations augs)
RevalidationHandler
characterData
in interface RevalidationHandler
data
- The character data.augs
- Augmentationspublic void elementDefault(String data)
public void startGeneralEntity(String name, XMLResourceIdentifier identifier, String encoding, Augmentations augs) throws XNIException
Note: This method is not called for entity references appearing as part of attribute values.
startGeneralEntity
in interface XMLDocumentHandler
name
- The name of the general entity.identifier
- The resource identifier.encoding
- The auto-detected IANA encoding name of the entity
stream. This value will be null in those situations
where the entity encoding is not auto-detected (e.g.
internal entities or a document entity that is
parsed from a java.io.Reader).augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void textDecl(String version, String encoding, Augmentations augs) throws XNIException
Note: This method will never be called for the document entity; it is only called for external general entities referenced in document content.
Note: This method is not called for entity references appearing as part of attribute values.
textDecl
in interface XMLDocumentHandler
version
- The XML version, or null if not specified.encoding
- The IANA encoding name of the entity.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void comment(XMLString text, Augmentations augs) throws XNIException
comment
in interface XMLDocumentHandler
text
- The text in the comment.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by application to signal an error.public void processingInstruction(String target, XMLString data, Augmentations augs) throws XNIException
Typically, a processing instruction's data will contain a series of pseudo-attributes. These pseudo-attributes follow the form of element attributes but are not parsed or presented to the application as anything other than text. The application is responsible for parsing the data.
processingInstruction
in interface XMLDocumentHandler
target
- The target.data
- The data or null if none specified.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void endGeneralEntity(String name, Augmentations augs) throws XNIException
Note: This method is not called for entity references appearing as part of attribute values.
endGeneralEntity
in interface XMLDocumentHandler
name
- The name of the entity.augs
- Additional information that may include infoset augmentationsXNIException
- Thrown by handler to signal an error.public void reset(XMLComponentManager componentManager) throws XMLConfigurationException
XMLComponent
reset
in interface XMLComponent
componentManager
- The component manager.XMLConfigurationException
public void startValueScopeFor(IdentityConstraint identityConstraint, int initialDepth)
startValueScopeFor
in interface FieldActivator
identityConstraint
- The identity constraint.initialDepth
- the depth at which the selector began matchingpublic XPathMatcher activateField(Field field, int initialDepth)
activateField
in interface FieldActivator
field
- The field to activate.initialDepth
- the 0-indexed depth in the instance document at which the Selector began to match.public void endValueScopeFor(IdentityConstraint identityConstraint, int initialDepth)
endValueScopeFor
in interface FieldActivator
identityConstraint
- The identity constraint.initialDepth
- the 0-indexed depth where the Selector began to match.public XSElementDecl getGlobalElementDecl(QName element)
getGlobalElementDecl
in interface XSElementDeclHelper
Copyright © 2019 JBoss by Red Hat. All rights reserved.