org::jdom::transform::JDOMResult Class Reference

List of all members.

Public Member Functions

 JDOMResult ()
void setResult (List result)
List getResult ()
void setDocument (Document document)
Document getDocument ()
void setFactory (JDOMFactory factory)
JDOMFactory getFactory ()
void setHandler (ContentHandler handler)
void setLexicalHandler (LexicalHandler handler)

Static Public Attributes

static final String JDOM_FEATURE

Classes

class  DocumentBuilder
class  FragmentHandler

Detailed Description

Acts as a holder for a transformation result tree, in the form of a JDOM Document.

This class shall be used to get the result of XSL Transformation as a list of JDOM nodes. As stated by the XSLT 1.0 specification, the result tree generated by an XSL transformation is not required to be a well-formed XML document. The result tree may have "any sequence of nodes as children that would be possible for an element node".

The following example shows how to apply an XSL Transformation to a JDOM document and get the transformation result in the form of a list of JDOM nodes: <blockquote>

   public static List transform(Document in, String stylesheet)
                                        throws JDOMException {
     try {
       Transformer transformer = TransformerFactory.newInstance()
                             .newTransformer(new StreamSource(stylesheet));
       JDOMResult out = new JDOMResult();
       transformer.transform(new JDOMSource(in), out);
       return out.getResult();
     }
     catch (TransformerException e) {
       throw new JDOMException("XSLT Trandformation failed", e);
     }
   }
 
</blockquote>

See also:
org.jdom.transform.JDOMSource
Author:
Laurent Bihanic

Jason Hunter

Version:
Revision
1.16
,
Date
2003/04/06 02:00:45


Constructor & Destructor Documentation

org::jdom::transform::JDOMResult::JDOMResult  )  [inline]
 

Public default constructor.


Member Function Documentation

Document org::jdom::transform::JDOMResult::getDocument  )  [inline]
 

Returns the result of an XSL Transformation as a JDOM document.

If the result of the transformation is a list of nodes, this method attempts to convert it into a JDOM document. If successful, any subsequent call to getResult will return an empty list.

Warning: The XSLT 1.0 specification states that the output of an XSL transformation is not a well-formed XML document but a list of nodes. Applications should thus use getResult instead of this method or at least expect null documents to be returned.

Returns:
the transformation result as a JDOM document or null if the result of the transformation can not be converted into a well-formed document.
See also:
getResult

JDOMFactory org::jdom::transform::JDOMResult::getFactory  )  [inline]
 

Returns the custom JDOMFactory used to build the transformation result.

Returns:
the custom JDOMFactory used to build the transformation result or null if the default JDOM classes are being used.
See also:
setFactory

List org::jdom::transform::JDOMResult::getResult  )  [inline]
 

Returns the result of an XSL Transformation as a list of JDOM nodes.

If the result of the transformation is a JDOM document, this method converts it into a list of JDOM nodes; any subsequent call to getDocument will return null.

Returns:
the transformation result as a (possibly empty) list of JDOM nodes (Elements, Texts, Comments, PIs...).

void org::jdom::transform::JDOMResult::setDocument Document  document  )  [inline]
 

Sets the document produced as result of an XSL Transformation.

Note: This method shall be used by the javax.xml.transform.Transformer implementations that natively support JDOM to directly set the transformation result rather than considering this object as a SAXResult. Applications should not use this method.

Parameters:
document the JDOM document result of a transformation.
See also:
setResult

getDocument

void org::jdom::transform::JDOMResult::setFactory JDOMFactory  factory  )  [inline]
 

Sets a custom JDOMFactory to use when building the transformation result. Use a custom factory to build the tree with your own subclasses of the JDOM classes.

Parameters:
factory the custom JDOMFactory to use or null to use the default JDOM classes.
See also:
getFactory

void org::jdom::transform::JDOMResult::setHandler ContentHandler  handler  )  [inline]
 

Sets the target to be a SAX2 ContentHandler.

Parameters:
handler Must be a non-null ContentHandler reference.

void org::jdom::transform::JDOMResult::setLexicalHandler LexicalHandler  handler  )  [inline]
 

Sets the SAX2 LexicalHandler for the output.

This is needed to handle XML comments and the like. If the lexical handler is not set, an attempt should be made by the transformer to cast the ContentHandler to a LexicalHandler.

Parameters:
handler A non-null LexicalHandler for handling lexical parse events.

void org::jdom::transform::JDOMResult::setResult List  result  )  [inline]
 

Sets the object(s) produced as result of an XSL Transformation.

Note: This method shall be used by the javax.xml.transform.Transformer implementations that natively support JDOM to directly set the transformation result rather than considering this object as a SAXResult. Applications should not use this method.

Parameters:
result the result of a transformation as a list of JDOM nodes (Elements, Texts, Comments, PIs...).
See also:
getResult


Member Data Documentation

final String org::jdom::transform::JDOMResult::JDOM_FEATURE [static]
 

Initial value:

                      "http://org.jdom.transform.JDOMResult/feature"
If javax.xml.transform.TransformerFactory#getFeature returns true when passed this value as an argument, the Transformer natively supports JDOM.

Note: This implementation does not override the SAXResult#FEATURE value defined by its superclass to be considered as a SAXResult by Transformer implementations not natively supporting JDOM.


The documentation for this class was generated from the following file:
Generated on Tue Jan 17 02:53:57 2006 for JDOM by  doxygen 1.4.6