org.jdom.transform
Class JDOMResult

java.lang.Object
  |
  +--javax.xml.transform.sax.SAXResult
        |
        +--org.jdom.transform.JDOMResult
All Implemented Interfaces:
javax.xml.transform.Result

public class JDOMResult
extends javax.xml.transform.sax.SAXResult

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 JDOM Document.

The following example shows how to apply an XSL Transformation to a JDOM document and get the transformation result in the form of another JDOM Document:

   public static Document 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.getDocument();
     }
     catch (TransformerException e) {
       throw new JDOMException("XSLT Trandformation failed", e);
     }
   }
 

Version:
$Revision: 1.6 $, $Date: 2002/04/11 06:19:10 $
Author:
Laurent Bihanic, Jason Hunter
See Also:
JDOMSource

Field Summary
static java.lang.String JDOM_FEATURE
          If TransformerFactory.getFeature(java.lang.String) returns true when passed this value as an argument, the Transformer natively supports JDOM.
 
Fields inherited from class javax.xml.transform.sax.SAXResult
FEATURE
 
Fields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
 
Constructor Summary
JDOMResult()
          Default empty constructor.
 
Method Summary
 Document getDocument()
          Returns the document produced as result of an XSL Transformation.
 JDOMFactory getFactory()
          Returns the custom JDOMFactory used to build the result document.
 void setDocument(Document document)
          Sets the document produced as result of an XSL Transformation.
 void setFactory(JDOMFactory factory)
          Sets a custom JDOMFactory to use when building the result document.
 void setHandler(org.xml.sax.ContentHandler handler)
          Sets the target to be a SAX2 ContentHandler.
 void setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)
          Sets the SAX2 LexicalHandler for the output.
 
Methods inherited from class javax.xml.transform.sax.SAXResult
getHandler, getLexicalHandler, getSystemId, setSystemId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JDOM_FEATURE

public static final java.lang.String JDOM_FEATURE
If TransformerFactory.getFeature(java.lang.String) 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.

Constructor Detail

JDOMResult

public JDOMResult()
Default empty constructor.
Method Detail

setDocument

public void setDocument(Document document)
Sets the document produced as result of an XSL Transformation.

Note: This method shall be used by the 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:
getDocument()

getDocument

public Document getDocument()
Returns the document produced as result of an XSL Transformation.
Returns:
the transformation result as a JDOM document.

setFactory

public void setFactory(JDOMFactory factory)
Sets a custom JDOMFactory to use when building the result document. 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()

getFactory

public JDOMFactory getFactory()
Returns the custom JDOMFactory used to build the result document.
Returns:
the custom JDOMFactory used to build the result document or null if the default JDOM classes are being used.
See Also:
setFactory(org.jdom.input.JDOMFactory)

setHandler

public void setHandler(org.xml.sax.ContentHandler handler)
Sets the target to be a SAX2 ContentHandler.
Overrides:
setHandler in class javax.xml.transform.sax.SAXResult
Parameters:
handler - Must be a non-null ContentHandler reference.

setLexicalHandler

public void setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)
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.

Overrides:
setLexicalHandler in class javax.xml.transform.sax.SAXResult
Parameters:
handler - A non-null LexicalHandler for handling lexical parse events.


Copyright © 2002 Jason Hunter, Brett McLaughlin. All Rights Reserved.