OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   SAX2 Event Sequence [Was: Re: SAX2: relative ordering of startDocument()

[ 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
***************************************************************************




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS