|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.xml.transform.sax.SAXResult org.cdmckay.coffeedom.transform.CoffeeDOMResult
public class CoffeeDOMResult
A holder for an XSL Transformation result, generally a list of nodes although it can be a CoffeeDOM Document also. 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 CoffeeDOM document and get the transformation result in the form of a list of CoffeeDOM nodes:
public static List transform(Document doc, String stylesheet)
throws CoffeeDOMException {
try {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(new StreamSource(stylesheet));
CoffeeDOMSource in = new CoffeeDOMSource(doc);
CoffeeDOMResult out = new CoffeeDOMResult();
transformer.transform(in, out);
return out.getResult();
}
catch (TransformerException e) {
throw new CoffeeDOMException("XSLT Transformation failed", e);
}
}
CoffeeDOMSource
Field Summary | |
---|---|
static String |
CoffeeDOM_FEATURE
If TransformerFactory.getFeature(String) returns true when passed this
value as an argument, the Transformer natively supports CoffeeDOM. |
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 | |
---|---|
CoffeeDOMResult()
Public default constructor. |
Method Summary | |
---|---|
Document |
getDocument()
Returns the result of an XSL Transformation as a CoffeeDOM document. |
CoffeeDOMFactory |
getFactory()
Returns the custom CoffeeDOMFactory used to build the transformation result. |
List<Content> |
getResult()
Returns the result of an XSL Transformation as a list of CoffeeDOM nodes. |
void |
setDocument(Document document)
Sets the document produced as result of an XSL Transformation. |
void |
setFactory(CoffeeDOMFactory factory)
Sets a custom CoffeeDOMFactory to use when building the transformation result. |
void |
setHandler(ContentHandler handler)
Sets the target to be a SAX2 ContentHandler. |
void |
setLexicalHandler(LexicalHandler handler)
Sets the SAX2 LexicalHandler for the output. |
void |
setResult(List<Content> result)
Sets the object(s) produced as result of an XSL Transformation. |
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 |
---|
public static final String CoffeeDOM_FEATURE
TransformerFactory.getFeature(String)
returns true
when passed this
value as an argument, the Transformer natively supports CoffeeDOM. 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 CoffeeDOM.
Constructor Detail |
---|
public CoffeeDOMResult()
Method Detail |
---|
public void setResult(List<Content> result)
Note: This method shall be
used by the Transformer
implementations that natively support CoffeeDOM to directly set
the transformation result rather than considering this object as a SAXResult
. Applications should
not use this method.
result
- the result of a transformation as a list
of CoffeeDOM nodes (Elements, Texts,
Comments, PIs...).getResult()
public List<Content> getResult()
If the result of the transformation is a
CoffeeDOM document, this method converts it into a list of CoffeeDOM nodes; any subsequent call to getDocument()
will return null
.
public void setDocument(Document document)
Note: This method shall be
used by the Transformer
implementations that natively support CoffeeDOM to directly set
the transformation result rather than considering this object as a SAXResult
. Applications should
not use this method.
document
- the CoffeeDOM document result of a transformation.setResult(java.util.List)
,
getDocument()
public Document getDocument()
If the result of the transformation is a list
of nodes, this method attempts to convert it into a CoffeeDOM document. If successful, any subsequent call to getResult()
will return an empty list.
getResult()
instead of this
method or at least expect null
documents to be returned.
null
if the result of the transformation can
not be converted into a well-formed document.getResult()
public void setFactory(CoffeeDOMFactory factory)
factory
- the custom CoffeeDOMFactory
to use or null
to use the default CoffeeDOM classes.getFactory()
public CoffeeDOMFactory getFactory()
CoffeeDOMFactory
used to build the transformation result or null
if the
default CoffeeDOM classes are being used.setFactory(org.cdmckay.coffeedom.CoffeeDOMFactory)
public void setHandler(ContentHandler handler)
setHandler
in class SAXResult
handler
- Must be a non-null ContentHandler reference.public void setLexicalHandler(LexicalHandler handler)
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.
setLexicalHandler
in class SAXResult
handler
- A non-null LexicalHandler for handling lexical parse events.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |