[jdom-interest] JDOMResult silently absorbs document fragments (was: Re: [jdom-interest] Question about JDOMResult and usage with XMLReader)

Laurent Bihanic laurent.bihanic at atosorigin.com
Mon Aug 19 06:26:00 PDT 2002


Elliotte Rusty Harold wrote:
>> No, JDOMResult only accepts well-formed documents and do throw an 
>> exception when it detects multiple root elements.
> 
> But it shouldn't be doing that! An XSLT transformation can produce a 
> document fragment. JDOM's representation of a document fragment is a 
> java.util.List containing various Text, Element, Comment, and 
> ProcessingInstruction objects. JDOMResult should be based on such a List 
> rather than on a Document. The design of JDOMResult is simply not 
> consistent with XSLT or TrAX.

You already said this sometime ago and I replied with 2 questions yet unanswered:

1. DOMResult can indeed return a DocumentFrangment but I do not agree with you 
for SAXResult: It is configured with a ContentHandler and the javadoc for 
ContentHandler states: "Receive notification of the logical content of *a* 
document".
So it seems SAXResults should not accept document fragments (and JDOMResult 
extends SAXResult). What is the SAX event flow fired by an XSLT processor when 
reporting a document fragment? For example, are start/endDocument fired in 
case of document fragments?

2. How would JDOMResult decide what the result actually is: If the 
transformation returns a list of nodes, no problem; but if a single element is 
returned, should it return a Document or an Element? Is there something in the 
XSLT spec to help distinguish between these 2 cases?

Laurent




More information about the jdom-interest mailing list