com.sun.msv.scanner.dtd

Interface DTDEventListener

public interface DTDEventListener extends EventListener

All DTD parsing events are signaled through this interface.
Field Summary
shortCHOICE
shortCONTENT_MODEL_ANY
shortCONTENT_MODEL_CHILDREN
shortCONTENT_MODEL_EMPTY
shortCONTENT_MODEL_MIXED
shortOCCURENCE_ONCE
shortOCCURENCE_ONE_OR_MORE
shortOCCURENCE_ZERO_OR_MORE
shortOCCURENCE_ZERO_OR_ONE
shortSEQUENCE
shortUSE_FIXED
shortUSE_IMPLIED
shortUSE_NORMAL
shortUSE_REQUIRED
Method Summary
voidattributeDecl(String elementName, String attributeName, String attributeType, String[] enumeration, short attributeUse, String defaultValue)
For each entry in an ATTLIST declaration, this event will be fired.
voidcharacters(char[] ch, int start, int length)
Receive notification of character data.
voidchildElement(String elementName, short occurence)
voidcomment(String text)
Receive notification that a comment has been read.
voidconnector(short connectorType)
Connectors in one model group is guaranteed to be the same.
voidendCDATA()
Receive notification that the CDATA section finished.
voidendContentModel(String elementName, short contentModelType)
receives notification that parsing of content model is finished.
voidendDTD()
Receive notification of the end of a DTD.
voidendModelGroup(short occurence)
voiderror(SAXParseException e)
voidexternalGeneralEntityDecl(String name, String publicId, String systemId)
Receive notification of an external parsed general entity declaration event.
voidexternalParameterEntityDecl(String name, String publicId, String systemId)
Receive notification of an external parameter entity declaration event.
voidfatalError(SAXParseException e)
voidignorableWhitespace(char[] ch, int start, int length)
Receive notification of ignorable whitespace in element content.
voidinternalGeneralEntityDecl(String name, String value)
Receive notification of a internal general entity declaration event.
voidinternalParameterEntityDecl(String name, String value)
Receive notification of a internal parameter entity declaration event.
voidmixedElement(String elementName)
receives notification of child element of mixed content model. this method is called for each child element.
voidnotationDecl(String name, String publicId, String systemId)
Receive notification of a Notation Declaration.
voidprocessingInstruction(String target, String data)
Receive notification of a Processing Instruction.
voidsetDocumentLocator(Locator loc)
voidstartCDATA()
Receive notification that a CDATA section is beginning.
voidstartContentModel(String elementName, short contentModelType)
receives notification that parsing of content model is beginning.
voidstartDTD(InputEntity in)
Receive notification of the beginning of the DTD.
voidstartModelGroup()
voidunparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Receive notification of an unparsed entity declaration.
voidwarning(SAXParseException err)

Field Detail

CHOICE

public final short CHOICE

CONTENT_MODEL_ANY

public final short CONTENT_MODEL_ANY

CONTENT_MODEL_CHILDREN

public final short CONTENT_MODEL_CHILDREN

CONTENT_MODEL_EMPTY

public final short CONTENT_MODEL_EMPTY

CONTENT_MODEL_MIXED

public final short CONTENT_MODEL_MIXED

OCCURENCE_ONCE

public final short OCCURENCE_ONCE

OCCURENCE_ONE_OR_MORE

public final short OCCURENCE_ONE_OR_MORE

OCCURENCE_ZERO_OR_MORE

public final short OCCURENCE_ZERO_OR_MORE

OCCURENCE_ZERO_OR_ONE

public final short OCCURENCE_ZERO_OR_ONE

SEQUENCE

public final short SEQUENCE

USE_FIXED

public final short USE_FIXED

USE_IMPLIED

public final short USE_IMPLIED

USE_NORMAL

public final short USE_NORMAL

USE_REQUIRED

public final short USE_REQUIRED

Method Detail

attributeDecl

public void attributeDecl(String elementName, String attributeName, String attributeType, String[] enumeration, short attributeUse, String defaultValue)
For each entry in an ATTLIST declaration, this event will be fired.

DTD allows the same attributes to be declared more than once, and in that case the first one wins. I think this method will be only fired for the first one, but I need to check.

characters

public void characters(char[] ch, int start, int length)
Receive notification of character data.

The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information.

The application must not attempt to read from the array outside of the specified range.

Note that some parsers will report whitespace using the ignorableWhitespace() method rather than this one (validating parsers must do so).

Parameters: ch The characters from the DTD. start The start position in the array. length The number of characters to read from the array.

Throws: SAXException

See Also: (char[], int, int)

childElement

public void childElement(String elementName, short occurence)

comment

public void comment(String text)
Receive notification that a comment has been read.

Note that processing instructions are the mechanism designed to hold information for consumption by applications, not comments. XML systems may rely on applications being able to access information found in processing instructions; this is not true of comments, which are typically discarded.

Parameters: text the text within the comment delimiters.

Throws: SAXException

connector

public void connector(short connectorType)
Connectors in one model group is guaranteed to be the same.

IOW, you'll never see an event sequence like (a|b,c)

Returns: {@link #CHOICE} or {@link #SEQUENCE}.

endCDATA

public void endCDATA()
Receive notification that the CDATA section finished.

Throws: SAXException

See Also:

endContentModel

public void endContentModel(String elementName, short contentModelType)
receives notification that parsing of content model is finished.

endDTD

public void endDTD()
Receive notification of the end of a DTD. The parser will invoke this method only once.

Throws: SAXException

See Also:

endModelGroup

public void endModelGroup(short occurence)

error

public void error(SAXParseException e)

externalGeneralEntityDecl

public void externalGeneralEntityDecl(String name, String publicId, String systemId)
Receive notification of an external parsed general entity declaration event.

If a system identifier is present, and it is a relative URL, the parser will have resolved it fully before passing it through this method to a listener.

Parameters: name The entity name. publicId The entity's public identifier, or null if none was given. systemId The entity's system identifier.

Throws: SAXException

See Also:

externalParameterEntityDecl

public void externalParameterEntityDecl(String name, String publicId, String systemId)
Receive notification of an external parameter entity declaration event.

If a system identifier is present, and it is a relative URL, the parser will have resolved it fully before passing it through this method to a listener.

Parameters: name The parameter entity name. publicId The entity's public identifier, or null if none was given. systemId The entity's system identifier.

Throws: SAXException

See Also:

fatalError

public void fatalError(SAXParseException e)

ignorableWhitespace

public void ignorableWhitespace(char[] ch, int start, int length)
Receive notification of ignorable whitespace in element content.

Validating Parsers must use this method to report each chunk of ignorable whitespace (see the W3C XML 1.0 recommendation, section 2.10): non-validating parsers may also use this method if they are capable of parsing and using content models.

SAX parsers may return all contiguous whitespace in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information.

The application must not attempt to read from the array outside of the specified range.

Parameters: ch The characters from the DTD. start The start position in the array. length The number of characters to read from the array.

Throws: SAXException

See Also: (char[], int, int)

internalGeneralEntityDecl

public void internalGeneralEntityDecl(String name, String value)
Receive notification of a internal general entity declaration event.

Parameters: name The internal general entity name. value The value of the entity, which may include unexpanded entity references. Character references will have been expanded.

Throws: SAXException

See Also:

internalParameterEntityDecl

public void internalParameterEntityDecl(String name, String value)
Receive notification of a internal parameter entity declaration event.

Parameters: name The internal parameter entity name. value The value of the entity, which may include unexpanded entity references. Character references will have been expanded.

Throws: SAXException

See Also:

mixedElement

public void mixedElement(String elementName)
receives notification of child element of mixed content model. this method is called for each child element.

See Also: DTDEventListener

notationDecl

public void notationDecl(String name, String publicId, String systemId)
Receive notification of a Notation Declaration. Notation declarations are used by elements and entities for identifying embedded non-XML data.

Parameters: name The notation name, referred to by entities and elements. publicId The public identifier systemId The system identifier

processingInstruction

public void processingInstruction(String target, String data)
Receive notification of a Processing Instruction. Processing instructions contain information meaningful to the application.

Parameters: target The target of the proceessing instruction which should have meaning to the application. data The instruction itself which should contain valid XML characters.

Throws: SAXException

setDocumentLocator

public void setDocumentLocator(Locator loc)

startCDATA

public void startCDATA()
Receive notification that a CDATA section is beginning. Data in a CDATA section is is reported through the appropriate event, either characters() or ignorableWhitespace.

Throws: SAXException

See Also:

startContentModel

public void startContentModel(String elementName, short contentModelType)
receives notification that parsing of content model is beginning.

Parameters: elementName name of the element whose content model is going to be defined. contentModelType {@link #CONTENT_MODEL_EMPTY} this element has EMPTY content model. This notification will be immediately followed by the corresponding endContentModel. {@link #CONTENT_MODEL_ANY} this element has ANY content model. This notification will be immediately followed by the corresponding endContentModel. {@link #CONTENT_MODEL_MIXED} this element has mixed content model. #PCDATA will not be reported. each child element will be reported by mixedElement method. {@link #CONTENT_MODEL_CHILDREN} this elemen has child content model. The actual content model will be reported by childElement, startModelGroup, endModelGroup, and connector methods. Possible call sequences are: START := MODEL_GROUP MODEL_GROUP := startModelGroup TOKEN (connector TOKEN)* endModelGroup TOKEN := childElement | MODEL_GROUP

startDTD

public void startDTD(InputEntity in)
Receive notification of the beginning of the DTD.

Parameters: in Current input entity.

See Also: endDTD

startModelGroup

public void startModelGroup()

unparsedEntityDecl

public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Receive notification of an unparsed entity declaration. Unparsed entities are non-XML data.

Parameters: name The name of the unparsed entity. publicId The public identifier systemId The system identifier notationName The associated notation

warning

public void warning(SAXParseException err)