[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
|