Hi Matynas,
I'm going through a PHP-to-Java conversion myself.
Using JSP and JSTL, I've used the following method:
(illustrating passing of request parameters)
In the JSP page:
<x:parse var="requestXml">
<params>
<param id="action">${param['action']}</param>
...
</params>
</x:parse>
...
<x:translate doc="<uri of XML document>" xslt="URI of XSLT document">
<x:param name="rx" value="${requestXml"} />
...
</x:translate>
In the XSLT:
...
<xsl:param name="rx" />
<p>Action:<xsl:value-of select="$rx/params/param[(_at_)id='action']" /><br/>
...
If it complains about result tree fragments, you can use Xalan-Java
extensions, and the above becomes:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xalan/java"
exclude-result-prefixes="java">
<xsl:param name="rx" />
...
<p>Action:<xsl:value-of
select="xalan:nodeset($rx)/params/param[(_at_)id='action']" /><br/>
More info about Xalan-Java extensions here:
http://xml.apache.org/xalan-j/extensions.html#ext-functions
The other method is to use the document() function, but that's not
really suitable for run-time documents.
The above passes a DOM document and it works because XSLT and JSTL have
the same parser (Xalan) under Tomcat.
Martynas Jusevicius wrote:
Hi,
probably this is an old issue, but I'm struggling to find a solution.
My XSLT stylesheet is using several side documents that are
constructed at run-time.
Back in PHP I was passing them using a stream wrapper and a custom
"arg:" protocol. Then, for example, the stylesheet could get access
through document('arg://mydoc').
Obviously, that doesn't work in Java. So how do you do it in Java? I'm
using JDK 1.5 and the standard java.xml.transform package.
Thanks,
Martynas
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--