Subject: RE: [xsl] SAX startDocument and endDocument when there's only a documentfragment From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Mon, 25 Nov 2002 16:01:13 -0000 |
XSLT has no concept of a document fragment. This is a DOM term, and it's a poor one. XSLT trees represent a generalization of XML documents to "well-balanced" documents, there is no requirement that they be "well-formed". The idea of not calling startDocument() and endDocument() presumably comes from thinking of these as partial documents, which is not how they are treated in the XPath data model: they are complete documents that happen to have multiple elements/text nodes as children of the root node. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > David Nelson > Sent: 25 November 2002 14:19 > To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' > Subject: RE: [xsl] SAX startDocument and endDocument when > there's only a documentfragment > > > I'm way out on a limb with this but, since a root node is not > present, my guess is that the implementations that do call > startDocument() and > endDocument() are being kind since no root node is present. > > Therefore, your application could collect the > documentfragment through the > startElement() endElement() methods using a stack/ hashMap > system. This should work even if my first ssumption is incorrect. > > Please be kind if I'm way off base as I'm am still wading > through specs. > > -----Original Message----- > From: Elliotte Rusty Harold [mailto:elharo@xxxxxxxxxxxxxxx] > Sent: Sunday, November 24, 2002 8:57 AM > To: sax-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: xsl-list@xxxxxxxxxxxxxxxxxxxxxx; xml-dev@xxxxxxxxxxxxx; > jdom-interest@xxxxxxxx > Subject: [xsl] SAX startDocument and endDocument when there's > only a documentfragment > > > Apologies in advance for the cross-posting, but this is one of those > nasty problems that crosses the usual boundaries. > > 1. Consider an XSLT transform that generates a document fragment > rather than a complete document; that is, there is no single root > element. > > 2. Suppose TrAX is used to apply this transform and generate a result. > > 3. Suppose the result is a JAXP SAXResult object; that is, it fires > the contents of the result into a user-specified ContentHandler. > > Question: should the the transformer fire startDocument() and > endDocument() events? even though this isn't a complete document, > only a document fragment? > > > The SAX API doc is not absolutely clear on this point. However, my > interpretation is that yes, it should call startDocument() and > endDocument(). > > The JAXP spec does not appear to have anything relevant to > say about this. > > In the course of adding XSLT support to JDOM, Laurent Bihanic has > discovered that different engines behave differently. In particular, > the Oracle XML Parser for Java does not call startDocument and > endDocument. This is a roadblock in adding full XSLT support to JDOM, > so some clarification would be appreciated. > -- > > +-----------------------+------------------------+-------------------+ > | Elliotte Rusty Harold | elharo@xxxxxxxxxxxxxxx | Writer/Programmer | > +-----------------------+------------------------+-------------------+ > | XML in a Nutshell, 2nd Edition (O'Reilly, 2002) | > | http://www.cafeconleche.org/books/xian2/ | > | http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/ | > +----------------------------------+---------------------------------+ > | Read Cafe au Lait for Java News: http://www.cafeaulait.org/ | > | Read Cafe con Leche for XML News: http://www.cafeconleche.org/ | > +----------------------------------+---------------------------------+ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] SAX startDocument and end, David Nelson | Thread | [xsl] ANN: RenderX XEP jEdit plugin, David Tolpin |
Re: [xsl] Selecting multi-existant , Sorin Marti | Date | RE: [xsl] Selecting multi-existant , TSchutzerWeissmann |
Month |