RE: [xsl] SAX startDocument and endDocument when there's only a d ocumentfragment

Subject: RE: [xsl] SAX startDocument and endDocument when there's only a d ocumentfragment
From: David Nelson <David.Nelson@xxxxxxxxxxxxxx>
Date: Mon, 25 Nov 2002 08:19:24 -0600
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


Current Thread