public class XMLDTDValidator extends java.lang.Object implements org.apache.xerces.xni.parser.XMLComponent, org.apache.xerces.xni.parser.XMLDocumentFilter, XMLDTDValidatorFilter, RevalidationHandler
Formerly, this component also handled DTD events and grammar construction. To facilitate the development of a meaningful DTD grammar caching/preparsing framework, this functionality has been moved into the XMLDTDLoader class. Therefore, this class no longer implements the DTDFilter or DTDContentModelFilter interfaces.
This component requires the following features and properties from the component manager that uses it:
| Modifier and Type | Field and Description | 
|---|---|
| protected static java.lang.String | BALANCE_SYNTAX_TREESFeature identifier: balance syntax trees. | 
| protected static java.lang.String | DATATYPE_VALIDATOR_FACTORYProperty identifier: datatype validator factory. | 
| protected static java.lang.String | DYNAMIC_VALIDATIONFeature identifier: dynamic validation. | 
| protected static java.lang.String | ERROR_REPORTERProperty identifier: error reporter. | 
| protected boolean | fBalanceSyntaxTreesControls whether the DTD grammar produces balanced syntax trees. | 
| protected DTDDVFactory | fDatatypeValidatorFactoryDatatype validator factory. | 
| protected org.apache.xerces.xni.XMLLocator | fDocLocation | 
| protected org.apache.xerces.xni.XMLDocumentHandler | fDocumentHandlerDocument handler. | 
| protected org.apache.xerces.xni.parser.XMLDocumentSource | fDocumentSource | 
| protected DTDGrammar | fDTDGrammarDTD Grammar. | 
| protected boolean | fDTDValidationValidation against only DTD | 
| protected boolean | fDynamicValidationDynamic validation. | 
| protected XMLErrorReporter | fErrorReporterError reporter. | 
| protected DTDGrammarBucket | fGrammarBucketGrammar bucket. | 
| protected org.apache.xerces.xni.grammars.XMLGrammarPool | fGrammarPool | 
| protected org.apache.xerces.xni.NamespaceContext | fNamespaceContextNamespace support. | 
| protected boolean | fNamespacesNamespaces. | 
| protected boolean | fSeenDoctypeDeclTrue if seen DOCTYPE declaration. | 
| protected SymbolTable | fSymbolTableSymbol table. | 
| protected DatatypeValidator | fValENTITIESDatatype validator: ENTITIES. | 
| protected DatatypeValidator | fValENTITYDatatype validator: ENTITY. | 
| protected DatatypeValidator | fValIDDatatype validator: ID. | 
| protected boolean | fValidationValidation. | 
| protected ValidationManager | fValidationManager | 
| protected ValidationState | fValidationState | 
| protected DatatypeValidator | fValIDRefDatatype validator: IDREF. | 
| protected DatatypeValidator | fValIDRefsDatatype validator: IDREFS. | 
| protected DatatypeValidator | fValNMTOKENDatatype validator: NMTOKEN. | 
| protected DatatypeValidator | fValNMTOKENSDatatype validator: NMTOKENS. | 
| protected DatatypeValidator | fValNOTATIONDatatype validator: NOTATION. | 
| protected boolean | fWarnDuplicateAttdefwarn on duplicate attribute definition, this feature works only when validation is true | 
| protected static java.lang.String | GRAMMAR_POOLProperty identifier: grammar pool. | 
| protected static java.lang.String | NAMESPACESFeature identifier: namespaces. | 
| protected static java.lang.String | PARSER_SETTINGS | 
| protected static java.lang.String | SYMBOL_TABLEProperty identifier: symbol table. | 
| protected static java.lang.String | VALIDATIONFeature identifier: validation. | 
| protected static java.lang.String | VALIDATION_MANAGER | 
| protected static java.lang.String | WARN_ON_DUPLICATE_ATTDEFFeature identifier: warn on duplicate attdef | 
| Constructor and Description | 
|---|
| XMLDTDValidator()Default constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | addDTDDefaultAttrsAndValidate(org.apache.xerces.xni.QName elementName,
                             int elementIndex,
                             org.apache.xerces.xni.XMLAttributes attributes)Add default attributes and validate. | 
| boolean | characterData(java.lang.String data,
             org.apache.xerces.xni.Augmentations augs)Character content. | 
| void | characters(org.apache.xerces.xni.XMLString text,
          org.apache.xerces.xni.Augmentations augs)Character content. | 
| void | comment(org.apache.xerces.xni.XMLString text,
       org.apache.xerces.xni.Augmentations augs)A comment. | 
| void | doctypeDecl(java.lang.String rootElement,
           java.lang.String publicId,
           java.lang.String systemId,
           org.apache.xerces.xni.Augmentations augs)Notifies of the presence of the DOCTYPE line in the document. | 
| void | emptyElement(org.apache.xerces.xni.QName element,
            org.apache.xerces.xni.XMLAttributes attributes,
            org.apache.xerces.xni.Augmentations augs)An empty element. | 
| void | endCDATA(org.apache.xerces.xni.Augmentations augs)The end of a CDATA section. | 
| void | endDocument(org.apache.xerces.xni.Augmentations augs)The end of the document. | 
| void | endElement(org.apache.xerces.xni.QName element,
          org.apache.xerces.xni.Augmentations augs)The end of an element. | 
| void | endGeneralEntity(java.lang.String name,
                org.apache.xerces.xni.Augmentations augs)This method notifies the end of a general entity. | 
| protected void | endNamespaceScope(org.apache.xerces.xni.QName element,
                 org.apache.xerces.xni.Augmentations augs,
                 boolean isEmpty) | 
| org.apache.xerces.xni.XMLDocumentHandler | getDocumentHandler()Returns the document handler | 
| org.apache.xerces.xni.parser.XMLDocumentSource | getDocumentSource()Returns the document source | 
| protected java.lang.String | getExternalEntityRefInAttrValue(java.lang.String nonNormalizedValue)Checks entities in attribute values for standalone VC. | 
| java.lang.Boolean | getFeatureDefault(java.lang.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. | 
| java.lang.Object | getPropertyDefault(java.lang.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. | 
| java.lang.String[] | getRecognizedFeatures()Returns a list of feature identifiers that are recognized by
 this component. | 
| java.lang.String[] | getRecognizedProperties()Returns a list of property identifiers that are recognized by
 this component. | 
| protected void | handleEndElement(org.apache.xerces.xni.QName element,
                org.apache.xerces.xni.Augmentations augs,
                boolean isEmpty)Handle end element. | 
| protected boolean | handleStartElement(org.apache.xerces.xni.QName element,
                  org.apache.xerces.xni.XMLAttributes attributes,
                  org.apache.xerces.xni.Augmentations augs)Handle element | 
| boolean | hasGrammar()Returns true if the validator has a DTD grammar | 
| void | ignorableWhitespace(org.apache.xerces.xni.XMLString text,
                   org.apache.xerces.xni.Augmentations augs)Ignorable whitespace. | 
| protected void | init()initialization | 
| protected boolean | invalidStandaloneAttDef(org.apache.xerces.xni.QName element,
                       org.apache.xerces.xni.QName attribute)Returns true if invalid standalone attribute definition. | 
| protected boolean | isSpace(int c) | 
| void | processingInstruction(java.lang.String target,
                     org.apache.xerces.xni.XMLString data,
                     org.apache.xerces.xni.Augmentations augs)A processing instruction. | 
| void | reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager)Resets the component. | 
| void | setDocumentHandler(org.apache.xerces.xni.XMLDocumentHandler documentHandler)Sets the document handler to receive information about the document. | 
| void | setDocumentSource(org.apache.xerces.xni.parser.XMLDocumentSource source)Sets the document source | 
| void | setFeature(java.lang.String featureId,
          boolean state)Sets the state of a feature. | 
| void | setProperty(java.lang.String propertyId,
           java.lang.Object value)Sets the value of a property. | 
| void | startCDATA(org.apache.xerces.xni.Augmentations augs)The start of a CDATA section. | 
| void | startDocument(org.apache.xerces.xni.XMLLocator locator,
             java.lang.String encoding,
             org.apache.xerces.xni.NamespaceContext namespaceContext,
             org.apache.xerces.xni.Augmentations augs)The start of the document. | 
| void | startElement(org.apache.xerces.xni.QName element,
            org.apache.xerces.xni.XMLAttributes attributes,
            org.apache.xerces.xni.Augmentations augs)The start of an element. | 
| void | startGeneralEntity(java.lang.String name,
                  org.apache.xerces.xni.XMLResourceIdentifier identifier,
                  java.lang.String encoding,
                  org.apache.xerces.xni.Augmentations augs)This method notifies the start of a general entity. | 
| protected void | startNamespaceScope(org.apache.xerces.xni.QName element,
                   org.apache.xerces.xni.XMLAttributes attributes,
                   org.apache.xerces.xni.Augmentations augs) | 
| void | textDecl(java.lang.String version,
        java.lang.String encoding,
        org.apache.xerces.xni.Augmentations augs)Notifies of the presence of a TextDecl line in an entity. | 
| boolean | validate()Return true if validator must validate the document | 
| protected void | validateDTDattribute(org.apache.xerces.xni.QName element,
                    java.lang.String attValue,
                    XMLAttributeDecl attributeDecl)Validate attributes in DTD fashion. | 
| void | xmlDecl(java.lang.String version,
       java.lang.String encoding,
       java.lang.String standalone,
       org.apache.xerces.xni.Augmentations augs)Notifies of the presence of an XMLDecl line in the document. | 
protected static final java.lang.String NAMESPACES
protected static final java.lang.String VALIDATION
protected static final java.lang.String DYNAMIC_VALIDATION
protected static final java.lang.String BALANCE_SYNTAX_TREES
protected static final java.lang.String WARN_ON_DUPLICATE_ATTDEF
protected static final java.lang.String PARSER_SETTINGS
protected static final java.lang.String SYMBOL_TABLE
protected static final java.lang.String ERROR_REPORTER
protected static final java.lang.String GRAMMAR_POOL
protected static final java.lang.String DATATYPE_VALIDATOR_FACTORY
protected static final java.lang.String VALIDATION_MANAGER
protected ValidationManager fValidationManager
protected final ValidationState fValidationState
protected boolean fNamespaces
protected boolean fValidation
protected boolean fDTDValidation
protected boolean fDynamicValidation
true.protected boolean fBalanceSyntaxTrees
protected boolean fWarnDuplicateAttdef
protected SymbolTable fSymbolTable
protected XMLErrorReporter fErrorReporter
protected org.apache.xerces.xni.grammars.XMLGrammarPool fGrammarPool
protected DTDGrammarBucket fGrammarBucket
protected org.apache.xerces.xni.XMLLocator fDocLocation
protected org.apache.xerces.xni.NamespaceContext fNamespaceContext
protected DTDDVFactory fDatatypeValidatorFactory
protected org.apache.xerces.xni.XMLDocumentHandler fDocumentHandler
protected org.apache.xerces.xni.parser.XMLDocumentSource fDocumentSource
protected DTDGrammar fDTDGrammar
protected boolean fSeenDoctypeDecl
protected DatatypeValidator fValID
protected DatatypeValidator fValIDRef
protected DatatypeValidator fValIDRefs
protected DatatypeValidator fValENTITY
protected DatatypeValidator fValENTITIES
protected DatatypeValidator fValNMTOKEN
protected DatatypeValidator fValNMTOKENS
protected DatatypeValidator fValNOTATION
public void reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager)
           throws org.apache.xerces.xni.parser.XMLConfigurationException
org.apache.xerces.xni.parser.XMLComponentreset in interface org.apache.xerces.xni.parser.XMLComponentcomponentManager - The component manager.org.apache.xerces.xni.parser.XMLConfigurationExceptionpublic java.lang.String[] getRecognizedFeatures()
getRecognizedFeatures in interface org.apache.xerces.xni.parser.XMLComponentpublic void setFeature(java.lang.String featureId,
              boolean state)
                throws org.apache.xerces.xni.parser.XMLConfigurationException
Note: Components should silently ignore features that do not affect the operation of the component.
setFeature in interface org.apache.xerces.xni.parser.XMLComponentfeatureId - 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.org.apache.xerces.xni.parser.XMLConfigurationException - Thrown for configuration error.
                                   In general, components should
                                   only throw this exception if
                                   it is really
                                   a critical error.public java.lang.String[] getRecognizedProperties()
getRecognizedProperties in interface org.apache.xerces.xni.parser.XMLComponentpublic void setProperty(java.lang.String propertyId,
               java.lang.Object value)
                 throws org.apache.xerces.xni.parser.XMLConfigurationException
Note: Components should silently ignore properties that do not affect the operation of the component.
setProperty in interface org.apache.xerces.xni.parser.XMLComponentpropertyId - 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.org.apache.xerces.xni.parser.XMLConfigurationException - Thrown for configuration error.
                                   In general, components should
                                   only throw this exception if
                                   it is really
                                   a critical error.public java.lang.Boolean getFeatureDefault(java.lang.String featureId)
getFeatureDefault in interface org.apache.xerces.xni.parser.XMLComponentfeatureId - The feature identifier.public java.lang.Object getPropertyDefault(java.lang.String propertyId)
getPropertyDefault in interface org.apache.xerces.xni.parser.XMLComponentpropertyId - The property identifier.public void setDocumentHandler(org.apache.xerces.xni.XMLDocumentHandler documentHandler)
setDocumentHandler in interface org.apache.xerces.xni.parser.XMLDocumentSourcepublic org.apache.xerces.xni.XMLDocumentHandler getDocumentHandler()
getDocumentHandler in interface org.apache.xerces.xni.parser.XMLDocumentSourcepublic void setDocumentSource(org.apache.xerces.xni.parser.XMLDocumentSource source)
setDocumentSource in interface org.apache.xerces.xni.XMLDocumentHandlerpublic org.apache.xerces.xni.parser.XMLDocumentSource getDocumentSource()
getDocumentSource in interface org.apache.xerces.xni.XMLDocumentHandlerpublic void startDocument(org.apache.xerces.xni.XMLLocator locator,
                 java.lang.String encoding,
                 org.apache.xerces.xni.NamespaceContext namespaceContext,
                 org.apache.xerces.xni.Augmentations augs)
                   throws org.apache.xerces.xni.XNIException
startDocument in interface org.apache.xerces.xni.XMLDocumentHandlerlocator - 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 augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void xmlDecl(java.lang.String version,
           java.lang.String encoding,
           java.lang.String standalone,
           org.apache.xerces.xni.Augmentations augs)
             throws org.apache.xerces.xni.XNIException
xmlDecl in interface org.apache.xerces.xni.XMLDocumentHandlerversion - 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 augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void doctypeDecl(java.lang.String rootElement,
               java.lang.String publicId,
               java.lang.String systemId,
               org.apache.xerces.xni.Augmentations augs)
                 throws org.apache.xerces.xni.XNIException
doctypeDecl in interface org.apache.xerces.xni.XMLDocumentHandlerrootElement - 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 augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void startElement(org.apache.xerces.xni.QName element,
                org.apache.xerces.xni.XMLAttributes attributes,
                org.apache.xerces.xni.Augmentations augs)
                  throws org.apache.xerces.xni.XNIException
startElement in interface org.apache.xerces.xni.XMLDocumentHandlerelement - The name of the element.attributes - The element attributes.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void emptyElement(org.apache.xerces.xni.QName element,
                org.apache.xerces.xni.XMLAttributes attributes,
                org.apache.xerces.xni.Augmentations augs)
                  throws org.apache.xerces.xni.XNIException
emptyElement in interface org.apache.xerces.xni.XMLDocumentHandlerelement - The name of the element.attributes - The element attributes.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void characters(org.apache.xerces.xni.XMLString text,
              org.apache.xerces.xni.Augmentations augs)
                throws org.apache.xerces.xni.XNIException
characters in interface org.apache.xerces.xni.XMLDocumentHandlertext - The content.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void ignorableWhitespace(org.apache.xerces.xni.XMLString text,
                       org.apache.xerces.xni.Augmentations augs)
                         throws org.apache.xerces.xni.XNIException
ignorableWhitespace in interface org.apache.xerces.xni.XMLDocumentHandlertext - The ignorable whitespace.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void endElement(org.apache.xerces.xni.QName element,
              org.apache.xerces.xni.Augmentations augs)
                throws org.apache.xerces.xni.XNIException
endElement in interface org.apache.xerces.xni.XMLDocumentHandlerelement - The name of the element.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void startCDATA(org.apache.xerces.xni.Augmentations augs)
                throws org.apache.xerces.xni.XNIException
startCDATA in interface org.apache.xerces.xni.XMLDocumentHandleraugs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void endCDATA(org.apache.xerces.xni.Augmentations augs)
              throws org.apache.xerces.xni.XNIException
endCDATA in interface org.apache.xerces.xni.XMLDocumentHandleraugs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void endDocument(org.apache.xerces.xni.Augmentations augs)
                 throws org.apache.xerces.xni.XNIException
endDocument in interface org.apache.xerces.xni.XMLDocumentHandleraugs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void comment(org.apache.xerces.xni.XMLString text,
           org.apache.xerces.xni.Augmentations augs)
             throws org.apache.xerces.xni.XNIException
comment in interface org.apache.xerces.xni.XMLDocumentHandlertext - The text in the comment.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by application to signal an error.public void processingInstruction(java.lang.String target,
                         org.apache.xerces.xni.XMLString data,
                         org.apache.xerces.xni.Augmentations augs)
                           throws org.apache.xerces.xni.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 org.apache.xerces.xni.XMLDocumentHandlertarget - The target.data - The data or null if none specified.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void startGeneralEntity(java.lang.String name,
                      org.apache.xerces.xni.XMLResourceIdentifier identifier,
                      java.lang.String encoding,
                      org.apache.xerces.xni.Augmentations augs)
                        throws org.apache.xerces.xni.XNIException
Note: This method is not called for entity references appearing as part of attribute values.
startGeneralEntity in interface org.apache.xerces.xni.XMLDocumentHandlername - 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 augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void endGeneralEntity(java.lang.String name,
                    org.apache.xerces.xni.Augmentations augs)
                      throws org.apache.xerces.xni.XNIException
Note: This method is not called for entity references appearing as part of attribute values.
endGeneralEntity in interface org.apache.xerces.xni.XMLDocumentHandlername - The name of the entity.augs - Additional information that may include infoset augmentationsorg.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public void textDecl(java.lang.String version,
            java.lang.String encoding,
            org.apache.xerces.xni.Augmentations augs)
              throws org.apache.xerces.xni.XNIException
Note: This method is only called for external parameter entities referenced in the DTD.
textDecl in interface org.apache.xerces.xni.XMLDocumentHandlerversion - The XML version, or null if not specified.encoding - The IANA encoding name of the entity.augs - Additional information that may include infoset
                      augmentations.org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.public final boolean hasGrammar()
XMLDTDValidatorFilterhasGrammar in interface XMLDTDValidatorFilterpublic final boolean validate()
XMLDTDValidatorFiltervalidate in interface XMLDTDValidatorFilterprotected void addDTDDefaultAttrsAndValidate(org.apache.xerces.xni.QName elementName,
                                 int elementIndex,
                                 org.apache.xerces.xni.XMLAttributes attributes)
                                      throws org.apache.xerces.xni.XNIException
org.apache.xerces.xni.XNIExceptionprotected java.lang.String getExternalEntityRefInAttrValue(java.lang.String nonNormalizedValue)
protected void validateDTDattribute(org.apache.xerces.xni.QName element,
                        java.lang.String attValue,
                        XMLAttributeDecl attributeDecl)
                             throws org.apache.xerces.xni.XNIException
org.apache.xerces.xni.XNIExceptionprotected boolean invalidStandaloneAttDef(org.apache.xerces.xni.QName element,
                              org.apache.xerces.xni.QName attribute)
protected void init()
protected boolean handleStartElement(org.apache.xerces.xni.QName element,
                         org.apache.xerces.xni.XMLAttributes attributes,
                         org.apache.xerces.xni.Augmentations augs)
                              throws org.apache.xerces.xni.XNIException
org.apache.xerces.xni.XNIExceptionprotected void startNamespaceScope(org.apache.xerces.xni.QName element,
                       org.apache.xerces.xni.XMLAttributes attributes,
                       org.apache.xerces.xni.Augmentations augs)
protected void handleEndElement(org.apache.xerces.xni.QName element,
                    org.apache.xerces.xni.Augmentations augs,
                    boolean isEmpty)
                         throws org.apache.xerces.xni.XNIException
org.apache.xerces.xni.XNIExceptionprotected void endNamespaceScope(org.apache.xerces.xni.QName element,
                     org.apache.xerces.xni.Augmentations augs,
                     boolean isEmpty)
protected boolean isSpace(int c)
public boolean characterData(java.lang.String data,
                    org.apache.xerces.xni.Augmentations augs)
RevalidationHandlercharacterData in interface RevalidationHandlerdata - The character data.augs - AugmentationsCopyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.