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 |