|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.jelly.TagSupport
org.apache.commons.jelly.tags.xml.ParseTagSupport
org.apache.commons.jelly.tags.xml.ParseTag
org.apache.commons.jelly.tags.xml.TransformTag
public class TransformTag
A tag which parses some XML, applies an xslt transform to it and defines a variable with the transformed Document. The XML can either be specified as its body or can be passed in via the xml property which can be a Reader, InputStream, URL or String URI. The XSL can be passed in via the xslt property which can be a Reader, InputStream, URL or String URI.
Nested Class Summary | |
---|---|
private class |
TransformTag.TagBodyInputSource
A marker class used by the TagBodyXMLReader as a sanity check (i.e. |
private class |
TransformTag.TagBodyXMLReader
A helper class that converts a transform tag body to an XMLReader to hide the details of where the input for the transform is obtained |
Field Summary | |
---|---|
private static java.lang.String |
LEXICAL_HANDLER_PROPERTY
Propert name for lexical handler |
private static org.apache.commons.logging.Log |
log
The Log to which logging calls will be made. |
private javax.xml.transform.sax.SAXTransformerFactory |
tf
The xsl transformer factory |
private javax.xml.transform.sax.TransformerHandler |
transformerHandler
the transformer handler, doing the real work |
private java.lang.Object |
xslt
The xslt to parse, either a String URI, a Reader or InputStream |
Fields inherited from class org.apache.commons.jelly.TagSupport |
---|
body, context, hasTrimmed, parent, shouldTrim |
Constructor Summary | |
---|---|
TransformTag()
Constructor for TransformTag. |
Method Summary | |
---|---|
protected javax.xml.transform.Result |
createSAXResult(org.apache.commons.jelly.XMLOutput output)
Factory method to create a new SAXResult for the given XMLOutput so that the output of an XSLT transform will go directly into the XMLOutput that we are given. |
protected javax.xml.transform.URIResolver |
createURIResolver()
Creates a new URI Resolver so that URIs inside the XSLT document can be resolved using the JellyContext |
protected org.xml.sax.XMLReader |
createXMLReader()
Factory method to create a new XMLReader for this tag so that the input of the XSLT transform comes from either the xml var, the nested tag or the tag body. |
private void |
doNestedParamTag(org.apache.commons.jelly.XMLOutput output)
Helper method to run any nested param tags |
void |
doTag(org.apache.commons.jelly.XMLOutput output)
Process this tag instance |
protected org.xml.sax.InputSource |
getInputSourceFromObj(java.lang.Object sourceObj)
Helper method to get an xml input source for the supplied object |
protected javax.xml.transform.sax.SAXSource |
getObjAsSAXSource(java.lang.Object saxSourceObj)
Helper method to convert the specified object to a SAX source |
protected org.xml.sax.InputSource |
getXMLInputSource()
Helper method to get the appropriate xml input source so that the input of the XSLT transform comes from either the xml var, the nested tag or the tag body. |
java.lang.Object |
getXslt()
Gets the source of the XSL which is either a String URI, Reader or InputStream |
void |
setParameterValue(java.lang.String name,
java.lang.Object value)
|
void |
setXslt(java.lang.Object xslt)
Sets the source of the XSL which is either a String URI, Reader or InputStream |
Methods inherited from class org.apache.commons.jelly.tags.xml.ParseTag |
---|
createSAXReader, getValidate, getXml, getXmlDocument, setValidate, setXml |
Methods inherited from class org.apache.commons.jelly.tags.xml.ParseTagSupport |
---|
getSAXReader, getText, getVar, parse, parseBody, parseText, setSAXReader, setText, setVar |
Methods inherited from class org.apache.commons.jelly.TagSupport |
---|
findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, getBody, getBodyText, getBodyText, getContext, getParent, invokeBody, isEscapeText, isTrim, setBody, setContext, setEscapeText, setParent, setTrim, trimBody |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final org.apache.commons.logging.Log log
private static final java.lang.String LEXICAL_HANDLER_PROPERTY
private java.lang.Object xslt
private javax.xml.transform.sax.SAXTransformerFactory tf
private javax.xml.transform.sax.TransformerHandler transformerHandler
Constructor Detail |
---|
public TransformTag()
Method Detail |
---|
public void doTag(org.apache.commons.jelly.XMLOutput output) throws org.apache.commons.jelly.MissingAttributeException, org.apache.commons.jelly.JellyTagException
doTag
in interface org.apache.commons.jelly.Tag
doTag
in class ParseTag
output
- The pipeline for xml events
java.lang.Exception
- - when required attributes are missing
org.apache.commons.jelly.MissingAttributeException
org.apache.commons.jelly.JellyTagException
public java.lang.Object getXslt()
public void setXslt(java.lang.Object xslt)
xslt
- The source of the xsltpublic void setParameterValue(java.lang.String name, java.lang.Object value)
protected javax.xml.transform.URIResolver createURIResolver()
protected javax.xml.transform.Result createSAXResult(org.apache.commons.jelly.XMLOutput output)
output
- The destination of the transform output
protected org.xml.sax.XMLReader createXMLReader() throws org.xml.sax.SAXException
org.xml.sax.SAXException
- If the value of the "org.xml.sax.driver" system property
is null, or if the class cannot be loaded and instantiated.protected org.xml.sax.InputSource getXMLInputSource()
protected javax.xml.transform.sax.SAXSource getObjAsSAXSource(java.lang.Object saxSourceObj)
protected org.xml.sax.InputSource getInputSourceFromObj(java.lang.Object sourceObj)
private void doNestedParamTag(org.apache.commons.jelly.XMLOutput output) throws org.apache.commons.jelly.JellyTagException
output
- The destination for any SAX output (not actually used)
org.apache.commons.jelly.JellyTagException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |