BEA Systems, Inc.

WebLogic Server 8.1 API Reference

weblogic.apache.xerces.impl.dtd
Class XMLDTDProcessor

java.lang.Object
  |
  +--weblogic.apache.xerces.impl.dtd.XMLDTDProcessor
Direct Known Subclasses:
XMLDTDLoader

public class XMLDTDProcessor
extends java.lang.Object
implements XMLComponent, XMLDTDFilter, XMLDTDContentModelFilter

The DTD processor. The processor implements a DTD filter: receiving DTD events from the DTD scanner; validating the content and structure; building a grammar, if applicable; and notifying the DTDHandler of the information resulting from the process.

This component requires the following features and properties from the component manager that uses it:


Field Summary
protected static java.lang.String DTD_VALIDATOR
          Property identifier: validator .
protected static java.lang.String ERROR_REPORTER
          Property identifier: error reporter.
protected  XMLDTDContentModelHandler fDTDContentModelHandler
          DTD content model handler.
protected  DTDGrammar fDTDGrammar
          DTD Grammar.
protected  XMLDTDHandler fDTDHandler
          DTD handler.
protected  boolean fDTDValidation
          Validation against only DTD
protected  XMLErrorReporter fErrorReporter
          Error reporter.
protected  DTDGrammarBucket fGrammarBucket
          Grammar bucket.
protected  XMLGrammarPool fGrammarPool
           
protected  boolean fInDTDIgnore
          True if in an ignore conditional section of the DTD.
protected  java.util.Locale fLocale
           
protected  SymbolTable fSymbolTable
          Symbol table.
protected  boolean fValidation
          Validation.
protected  XMLDTDValidator fValidator
           
protected  boolean fWarnDuplicateAttdef
          warn on duplicate attribute definition, this feature works only when validation is true
protected static java.lang.String GRAMMAR_POOL
          Property identifier: grammar pool.
protected static java.lang.String NOTIFY_CHAR_REFS
          Feature identifier: notify character references.
protected static java.lang.String SYMBOL_TABLE
          Property identifier: symbol table.
protected static java.lang.String VALIDATION
          Feature identifier: validation.
protected static java.lang.String WARN_ON_DUPLICATE_ATTDEF
          Feature identifier: warn on duplicate attdef
 
Constructor Summary
XMLDTDProcessor()
          Default constructor.
 
Method Summary
 void any(Augmentations augs)
          A content model of ANY.
 void attributeDecl(java.lang.String elementName, java.lang.String attributeName, java.lang.String type, java.lang.String[] enumeration, java.lang.String defaultType, XMLString defaultValue, XMLString nonNormalizedDefaultValue, Augmentations augs)
          An attribute declaration.
protected static void checkStandaloneEntityRef(java.lang.String name, DTDGrammar grammar, XMLEntityDecl tempEntityDecl, XMLErrorReporter errorReporter)
          Check standalone entity reference.
 void comment(XMLString text, Augmentations augs)
          A comment.
 void element(java.lang.String elementName, Augmentations augs)
          A referenced element in a mixed or children content model.
 void elementDecl(java.lang.String name, java.lang.String contentModel, Augmentations augs)
          An element declaration.
 void empty(Augmentations augs)
          A content model of EMPTY.
 void endAttlist(Augmentations augs)
          The end of an attribute list.
 void endConditional(Augmentations augs)
          The end of a conditional section.
 void endContentModel(Augmentations augs)
          The end of a content model.
 void endDTD(Augmentations augs)
          The end of the DTD.
 void endExternalSubset(Augmentations augs)
          The end of the DTD external subset.
 void endGroup(Augmentations augs)
          The end of a group for mixed or children content models.
 void endParameterEntity(java.lang.String name, Augmentations augs)
          This method notifies the end of a parameter entity.
 void externalEntityDecl(java.lang.String name, XMLResourceIdentifier identifier, Augmentations augs)
          An external entity declaration.
 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.
 void ignoredCharacters(XMLString text, Augmentations augs)
          Characters within an IGNORE conditional section.
 void internalEntityDecl(java.lang.String name, XMLString text, XMLString nonNormalizedText, Augmentations augs)
          An internal entity declaration.
 void notationDecl(java.lang.String name, XMLResourceIdentifier identifier, Augmentations augs)
          A notation declaration
 void occurrence(short occurrence, Augmentations augs)
          The occurrence count for a child in a children content model or for the mixed content model group.
 void pcdata(Augmentations augs)
          The appearance of "#PCDATA" within a group signifying a mixed content model.
 void processingInstruction(java.lang.String target, XMLString data, Augmentations augs)
          A processing instruction.
protected  void reset()
           
 void reset(XMLComponentManager componentManager)
           
 void separator(short separator, Augmentations augs)
          The separator between choices or sequences of a mixed or children content model.
 void setDTDContentModelHandler(XMLDTDContentModelHandler dtdContentModelHandler)
          Sets the DTD content model handler.
 void setDTDHandler(XMLDTDHandler dtdHandler)
          Sets the DTD handler.
 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 startAttlist(java.lang.String elementName, Augmentations augs)
          The start of an attribute list.
 void startConditional(short type, Augmentations augs)
          The start of a conditional section.
 void startContentModel(java.lang.String elementName, Augmentations augs)
          The start of a content model.
 void startDTD(XMLLocator locator, Augmentations augs)
          The start of the DTD.
 void startExternalSubset(XMLResourceIdentifier identifier, Augmentations augs)
          The start of the DTD external subset.
 void startGroup(Augmentations augs)
          A start of either a mixed or children content model.
 void startParameterEntity(java.lang.String name, XMLResourceIdentifier identifier, java.lang.String encoding, Augmentations augs)
          This method notifies of the start of a parameter entity.
 void textDecl(java.lang.String version, java.lang.String encoding, Augmentations augs)
          Notifies of the presence of a TextDecl line in an entity.
 void unparsedEntityDecl(java.lang.String name, XMLResourceIdentifier identifier, java.lang.String notation, Augmentations augs)
          An unparsed entity declaration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VALIDATION

protected static final java.lang.String VALIDATION
Feature identifier: validation.

NOTIFY_CHAR_REFS

protected static final java.lang.String NOTIFY_CHAR_REFS
Feature identifier: notify character references.

WARN_ON_DUPLICATE_ATTDEF

protected static final java.lang.String WARN_ON_DUPLICATE_ATTDEF
Feature identifier: warn on duplicate attdef

SYMBOL_TABLE

protected static final java.lang.String SYMBOL_TABLE
Property identifier: symbol table.

ERROR_REPORTER

protected static final java.lang.String ERROR_REPORTER
Property identifier: error reporter.

GRAMMAR_POOL

protected static final java.lang.String GRAMMAR_POOL
Property identifier: grammar pool.

DTD_VALIDATOR

protected static final java.lang.String DTD_VALIDATOR
Property identifier: validator .

fValidation

protected boolean fValidation
Validation.

fDTDValidation

protected boolean fDTDValidation
Validation against only DTD

fWarnDuplicateAttdef

protected boolean fWarnDuplicateAttdef
warn on duplicate attribute definition, this feature works only when validation is true

fSymbolTable

protected SymbolTable fSymbolTable
Symbol table.

fErrorReporter

protected XMLErrorReporter fErrorReporter
Error reporter.

fGrammarBucket

protected DTDGrammarBucket fGrammarBucket
Grammar bucket.

fValidator

protected XMLDTDValidator fValidator

fGrammarPool

protected XMLGrammarPool fGrammarPool

fLocale

protected java.util.Locale fLocale

fDTDHandler

protected XMLDTDHandler fDTDHandler
DTD handler.

fDTDContentModelHandler

protected XMLDTDContentModelHandler fDTDContentModelHandler
DTD content model handler.

fDTDGrammar

protected DTDGrammar fDTDGrammar
DTD Grammar.

fInDTDIgnore

protected boolean fInDTDIgnore
True if in an ignore conditional section of the DTD.
Constructor Detail

XMLDTDProcessor

public XMLDTDProcessor()
Default constructor.
Method Detail

reset

public void reset(XMLComponentManager componentManager)
           throws XMLConfigurationException
Specified by:
reset in interface XMLComponent


reset

protected void reset()


getRecognizedFeatures

public java.lang.String[] getRecognizedFeatures()
Returns a list of feature identifiers that are recognized by this component. This method may return null if no features are recognized by this component.
Specified by:
getRecognizedFeatures in interface XMLComponent


setFeature

public void setFeature(java.lang.String featureId,
                       boolean state)
                throws XMLConfigurationException
Sets the state of a feature. This method is called by the component manager any time after reset when a feature changes state.

Note: Components should silently ignore features that do not affect the operation of the component.

Specified by:
setFeature in interface XMLComponent

Parameters:
featureId - The feature identifier.
state - The state of the feature.
Throws:
SAXNotRecognizedException - The component should not throw this exception.
SAXNotSupportedException - The component should not throw this exception.

getRecognizedProperties

public java.lang.String[] getRecognizedProperties()
Returns a list of property identifiers that are recognized by this component. This method may return null if no properties are recognized by this component.
Specified by:
getRecognizedProperties in interface XMLComponent


setProperty

public void setProperty(java.lang.String propertyId,
                        java.lang.Object value)
                 throws XMLConfigurationException
Sets the value of a property. This method is called by the component manager any time after reset when a property changes value.

Note: Components should silently ignore properties that do not affect the operation of the component.

Specified by:
setProperty in interface XMLComponent

Parameters:
propertyId - The property identifier.
value - The value of the property.
Throws:
SAXNotRecognizedException - The component should not throw this exception.
SAXNotSupportedException - The component should not throw this exception.

setDTDHandler

public void setDTDHandler(XMLDTDHandler dtdHandler)
Sets the DTD handler.

Parameters:
dtdHandler - The DTD handler.

setDTDContentModelHandler

public void setDTDContentModelHandler(XMLDTDContentModelHandler dtdContentModelHandler)
Sets the DTD content model handler.

Parameters:
dtdContentModelHandler - The DTD content model handler.

startExternalSubset

public void startExternalSubset(XMLResourceIdentifier identifier,
                                Augmentations augs)
                         throws XNIException
The start of the DTD external subset.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

endExternalSubset

public void endExternalSubset(Augmentations augs)
                       throws XNIException
The end of the DTD external subset.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

checkStandaloneEntityRef

protected static void checkStandaloneEntityRef(java.lang.String name,
                                               DTDGrammar grammar,
                                               XMLEntityDecl tempEntityDecl,
                                               XMLErrorReporter errorReporter)
                                        throws XNIException
Check standalone entity reference. Made static to make common between the validator and loader.

Parameters:
name -  
grammar - grammar to which entity belongs
tempEntityDecl - empty entity declaration to put results in
errorReporter - error reporter to send errors to
Throws:
XNIException - Thrown by application to signal an error.

comment

public void comment(XMLString text,
                    Augmentations augs)
             throws XNIException
A comment.

Parameters:
text - The text in the comment.
augs - Additional information that may include infoset augmentations
Throws:
XNIException - Thrown by application to signal an error.

processingInstruction

public void processingInstruction(java.lang.String target,
                                  XMLString data,
                                  Augmentations augs)
                           throws XNIException
A processing instruction. Processing instructions consist of a target name and, optionally, text data. The data is only meaningful to the application.

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.

Parameters:
target - The target.
data - The data or null if none specified.
augs - Additional information that may include infoset augmentations
Throws:
XNIException - Thrown by handler to signal an error.

startDTD

public void startDTD(XMLLocator locator,
                     Augmentations augs)
              throws XNIException
The start of the DTD.

Parameters:
locator - The document locator, or null if the document location cannot be reported during the parsing of the document DTD. However, it is strongly recommended that a locator be supplied that can at least report the base system identifier of the DTD.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

ignoredCharacters

public void ignoredCharacters(XMLString text,
                              Augmentations augs)
                       throws XNIException
Characters within an IGNORE conditional section.

Parameters:
text - The ignored text.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

textDecl

public void textDecl(java.lang.String version,
                     java.lang.String encoding,
                     Augmentations augs)
              throws XNIException
Notifies of the presence of a TextDecl line in an entity. If present, this method will be called immediately following the startParameterEntity call.

Note: This method is only called for external parameter entities referenced in the DTD.

Parameters:
version - The XML version, or null if not specified.
encoding - The IANA encoding name of the entity.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

startParameterEntity

public void startParameterEntity(java.lang.String name,
                                 XMLResourceIdentifier identifier,
                                 java.lang.String encoding,
                                 Augmentations augs)
                          throws XNIException
This method notifies of the start of a parameter entity. The parameter entity name start with a '%' character.

Parameters:
name - The name of the parameter 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 parameter entities).
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

endParameterEntity

public void endParameterEntity(java.lang.String name,
                               Augmentations augs)
                        throws XNIException
This method notifies the end of a parameter entity. Parameter entity names begin with a '%' character.

Parameters:
name - The name of the parameter entity.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

elementDecl

public void elementDecl(java.lang.String name,
                        java.lang.String contentModel,
                        Augmentations augs)
                 throws XNIException
An element declaration.

Parameters:
name - The name of the element.
contentModel - The element content model.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

startAttlist

public void startAttlist(java.lang.String elementName,
                         Augmentations augs)
                  throws XNIException
The start of an attribute list.

Parameters:
elementName - The name of the element that this attribute list is associated with.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

attributeDecl

public void attributeDecl(java.lang.String elementName,
                          java.lang.String attributeName,
                          java.lang.String type,
                          java.lang.String[] enumeration,
                          java.lang.String defaultType,
                          XMLString defaultValue,
                          XMLString nonNormalizedDefaultValue,
                          Augmentations augs)
                   throws XNIException
An attribute declaration.

Parameters:
elementName - The name of the element that this attribute is associated with.
attributeName - The name of the attribute.
type - The attribute type. This value will be one of the following: "CDATA", "ENTITY", "ENTITIES", "ENUMERATION", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", or "NOTATION".
enumeration - If the type has the value "ENUMERATION" or "NOTATION", this array holds the allowed attribute values; otherwise, this array is null.
defaultType - The attribute default type. This value will be one of the following: "#FIXED", "#IMPLIED", "#REQUIRED", or null.
defaultValue - The attribute default value, or null if no default value is specified.
nonNormalizedDefaultValue - The attribute default value with no normalization performed, or null if no default value is specified.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

endAttlist

public void endAttlist(Augmentations augs)
                throws XNIException
The end of an attribute list.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

internalEntityDecl

public void internalEntityDecl(java.lang.String name,
                               XMLString text,
                               XMLString nonNormalizedText,
                               Augmentations augs)
                        throws XNIException
An internal entity declaration.

Parameters:
name - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
text - The value of the entity.
nonNormalizedText - The non-normalized value of the entity. This value contains the same sequence of characters that was in the internal entity declaration, without any entity references expanded.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

externalEntityDecl

public void externalEntityDecl(java.lang.String name,
                               XMLResourceIdentifier identifier,
                               Augmentations augs)
                        throws XNIException
An external entity declaration.

Parameters:
name - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
identifier - An object containing all location information pertinent to this external entity.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

unparsedEntityDecl

public void unparsedEntityDecl(java.lang.String name,
                               XMLResourceIdentifier identifier,
                               java.lang.String notation,
                               Augmentations augs)
                        throws XNIException
An unparsed entity declaration.

Parameters:
name - The name of the entity.
identifier - An object containing all location information pertinent to this entity.
notation - The name of the notation.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

notationDecl

public void notationDecl(java.lang.String name,
                         XMLResourceIdentifier identifier,
                         Augmentations augs)
                  throws XNIException
A notation declaration

Parameters:
name - The name of the notation.
identifier - An object containing all location information pertinent to this notation.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

startConditional

public void startConditional(short type,
                             Augmentations augs)
                      throws XNIException
The start of a conditional section.

Parameters:
type - The type of the conditional section. This value will either be CONDITIONAL_INCLUDE or CONDITIONAL_IGNORE.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.
See Also:
XMLDTDHandler.CONDITIONAL_INCLUDE, XMLDTDHandler.CONDITIONAL_IGNORE

endConditional

public void endConditional(Augmentations augs)
                    throws XNIException
The end of a conditional section.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

endDTD

public void endDTD(Augmentations augs)
            throws XNIException
The end of the DTD.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

startContentModel

public void startContentModel(java.lang.String elementName,
                              Augmentations augs)
                       throws XNIException
The start of a content model. Depending on the type of the content model, specific methods may be called between the call to the startContentModel method and the call to the endContentModel method.

Parameters:
elementName - The name of the element.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

any

public void any(Augmentations augs)
         throws XNIException
A content model of ANY.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.
See Also:
empty(weblogic.apache.xerces.xni.Augmentations), startGroup(weblogic.apache.xerces.xni.Augmentations)

empty

public void empty(Augmentations augs)
           throws XNIException
A content model of EMPTY.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.
See Also:
any(weblogic.apache.xerces.xni.Augmentations), startGroup(weblogic.apache.xerces.xni.Augmentations)

startGroup

public void startGroup(Augmentations augs)
                throws XNIException
A start of either a mixed or children content model. A mixed content model will immediately be followed by a call to the pcdata() method. A children content model will contain additional groups and/or elements.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.
See Also:
any(weblogic.apache.xerces.xni.Augmentations), empty(weblogic.apache.xerces.xni.Augmentations)

pcdata

public void pcdata(Augmentations augs)
The appearance of "#PCDATA" within a group signifying a mixed content model. This method will be the first called following the content model's startGroup().

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.
See Also:
startGroup(weblogic.apache.xerces.xni.Augmentations)

element

public void element(java.lang.String elementName,
                    Augmentations augs)
             throws XNIException
A referenced element in a mixed or children content model.

Parameters:
elementName - The name of the referenced element.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

separator

public void separator(short separator,
                      Augmentations augs)
               throws XNIException
The separator between choices or sequences of a mixed or children content model.

Parameters:
separator - The type of children separator.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.
See Also:
XMLDTDContentModelHandler.SEPARATOR_CHOICE, XMLDTDContentModelHandler.SEPARATOR_SEQUENCE

occurrence

public void occurrence(short occurrence,
                       Augmentations augs)
                throws XNIException
The occurrence count for a child in a children content model or for the mixed content model group.

Parameters:
occurrence - The occurrence count for the last element or group.
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.
See Also:
XMLDTDContentModelHandler.OCCURS_ZERO_OR_ONE, XMLDTDContentModelHandler.OCCURS_ZERO_OR_MORE, XMLDTDContentModelHandler.OCCURS_ONE_OR_MORE

endGroup

public void endGroup(Augmentations augs)
              throws XNIException
The end of a group for mixed or children content models.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

endContentModel

public void endContentModel(Augmentations augs)
                     throws XNIException
The end of a content model.

Parameters:
augs - Additional information that may include infoset augmentations.
Throws:
XNIException - Thrown by handler to signal an error.

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs81b