|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Deciding whether param contains nodeset
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








