Subject: Re: [xsl] Required item type of first argument of <function> is node(); supplied value has item type xs:string From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Fri, 19 Feb 2010 16:39:19 -0500 |
I'm creating a function (so using 2.0), and this function should be generic enough to handle pretty much anything I throw at it, so I set the param type as node(). Trouble pops up though when I call a function such as the upper-case() xslt function on the parameter being passed in, as it's a string now, not a node.
How can you convert a string to a text node?
I put together an example of the problem I'm having below:
<?xml version='1.0'?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:qp="http://www.qplegaleze.ca" exclude-result-prefixes="qp xsd">
<xsl:function name="qp:test" as="item()*" xmlns:functx="http://www.qplegaleze.ca"> <xsl:param name="n" as="node()"/>
<xsl:choose>
<xsl:when test="not($n instance of node())"> <xsl:call-template name="doStuff"> <xsl:with-param name="n" select="$n"/> </xsl:call-template> </xsl:when>
<xsl:when test="not($n instance of node())"> <xsl:variable name="node"> <xsl:value-of select="$n"/> </xsl:variable> <xsl:call-template name="doStuff"> <xsl:with-param name="n" select="$node/text()"/> </xsl:call-template> </xsl:when>
<xsl:when test="$n/descendant-or-self::*">
<xsl:apply-templates select="$n" mode="test"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="doStuff">
<xsl:with-param name="n" select="$n"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:function>
-- XSLT/XQuery training: after http://XMLPrague.cz 2010-03-15/19 XSLT/XQuery training: San Carlos, California 2010-04-26/30 Principles of XSLT for XQuery Writers: San Francisco,CA 2010-05-03 XSLT/XQuery/UBL/Code List training: Trondheim,Norway 2010-06-02/11 Vote for your XML training: http://www.CraneSoftwrights.com/s/i/ Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Required item type of first a, Spencer Tickner | Thread | Re: [xsl] Required item type of fir, Spencer Tickner |
[xsl] Required item type of first a, Spencer Tickner | Date | Re: [xsl] Required item type of fir, Spencer Tickner |
Month |