[
Lists Home |
Date Index |
Thread Index
]
- From: Michael Fuller <msf@io.mds.rmit.edu.au>
- To: David Megginson <david@megginson.com>
- Date: Mon, 28 Feb 2000 14:28:32 +1100
[As promised sometime ago, a summary of the SAX2 event sequence.]
Mixing all possible events in from ContentHandler, DTDHandler,
LexicalHandler, and DeclHandler, the legal event sequence appears to be:
SAXDocument :=
startDocument
(processingInstruction | comment)*
DTDEvents?
(processingInstruction | comment)*
ElementEvents?
(processingInstruction | comment)*
endDocument
DTDEvents :=
startDTD DTDContent* endDTD
DTDContent :=
startEntity DTDContent* endEntity
| elementDecl
| attributeDecl
| notationDecl
| internalEntityDecl
| externalEntityDecl
| unparsedEntityDecl
| skippedEntity
| (processingInstruction | comment)*
ElementEvents :=
startPrefixMapping*
startElement
ElementContent*
endElement
endPrefixMapping* # Note: "startPrefixMapping"
# and "endprefixMapping" events
# are balanced (by prefix name)
# (and are nested?).
ElementContent :=
ElementEvents
| startEntity ElementEvents* endEntity
| characters
| ignorableWhitespace
| startCDATA characters* endCDATA
| skippedEntity
| (processingInstruction | comment)*
[terminals (which start with [a-z]) represent SAX2 events;
non-terminals (starting with [A-Z]) added for structuring purposes.]
For a more complete & possibly prettier document, see:
http://www.mds.rmit.edu.au/~msf/misc/SAXEvents.html
which includes the above, plus a brief description of each event
and the SAX2 class to which the actual method belongs.
Michael
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/threads.html
***************************************************************************
|