Hi,
i have an template
<xsl:template name="test">
<xsl:param name="repl" select="''"/>
</xsl:template>
Sometimes i call this template with repl = string, sometimes i want to
call it with repl = nodeset.
When i apply-templates on repl and repl is a string, so the following
execption arises:
org.apache.xpath.XPathException: #RTREEFRAG kann nicht in NodeList
konvertiert werden!
(in english:
cannot be converted in nodeset)
So i wonder whether it is possible to decide if repl is a string or a
nodeset.
If repl = string output should be the value of the String
if repl = nodeset output should be apply-templates nodeset
How can i decide in "test" which type the param repl is of?
You can't with XSLT 1.0. How about
<xsl:template name="test">
<xsl:param name="sepl-string" select="''"/>
<xsl:param name="sepl-nodeset" select="/.."/>
<xsl:choose>
<xsl:when test="$sepl-nodeset">
<xsl:apply-templates select="$sepl-nodeset"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$sepl-string"/>
</xsl:otherwise>
<xsl:choose>
</xsl:template>
and when you call the template pass the correct parameter.
Cheers,
Jarno
--~------------------------------------------------------------------
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>
--~--