|
Subject: RE: [xsl] Deciding whether param contains nodeset From: <Jarno.Elovirta@xxxxxxxxx> Date: Mon, 17 Oct 2005 14:26:46 +0300 |
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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Deciding whether param co, Michael Kay | Thread | [xsl] RE : RE: [xsl] xsl:sort block, Stephane Dion |
| [xsl] Deciding whether param contai, Lensch, Thomas | Date | Re: [xsl] Deciding whether param co, David Carlisle |
| Month |