Re: [xsl] Fwd: using xquey in XSLT transformation

Subject: Re: [xsl] Fwd: using xquey in XSLT transformation
From: Michalmas <michalmas@xxxxxxxxx>
Date: Thu, 19 Mar 2009 22:42:31 +0100
Is it possible to call the function recursively:

 <xsl:function name="local:getNodeType">
		   <xsl:param name="node" as="node()*"/>
		   <xsl:param name="searchValue" as="xs:string*"/>

       <xsl:choose>
           <xsl:when test="empty($searchValue)">
               <xsl:sequence select="$node/pic-value"/>
           </xsl:when>
           <xsl:otherwise>
               <xsl:sequence
select="local:getNodeType($node//data-declaration[name=$searchvalue[1]][1],
$searchValue[postion() != 1])"/> <!--HERE-->
           </xsl:otherwise>
       </xsl:choose>
 </xsl:function>


As it doesn't work (Unknown function)

thanks!


On Thu, Mar 19, 2009 at 12:52 AM, Jim Earley <xml.jim@xxxxxxxxx> wrote:
> You can declare your own functions in XSLT 2.0:
>
>
> <xsl:stylsheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> B  B xmlns:xs="http://www.w3.org/2001/XMLSchema";
> B  B xmlns:local="your-namespace"
> B  B version="2.0">
> B  B <xsl:function name="local:getPic">
> B  B  B  B  B  B <xsl:param name="node" as="node()"/>
> B  B  B  B  B  B <xsl:param name="searchValue" as="xs:string"/>
>
> B  B  B  B <xsl:choose>
> B  B  B  B  B  B <xsl:when test="empty($searchvalue)">
> B  B  B  B  B  B  B  B <xsl:sequence select="$node/pic-value"/>
> B  B  B  B  B  B </xsl:when>
> B  B  B  B  B  B <xsl:otherwise>
> B  B  B  B  B  B  B  B <xsl:sequence
> select="local:ref($node//data-declaration[name=$searchvalue[1]],
$searchValue[postion()
> != 1])"/>
> B  B  B  B  B  B </xsl:otherwise>
> B  B  B  B </xsl:choose>
> B  B </xsl:function>
> <xsl:stylesheet>
>
> Cheers,
>
>
> Jim Earley
> Senior XML Architect
> Flatirons Solutions Corp.
>
> The important thing is not to stop questioning. Curiosity has its own reason
for
> existing - Albert Einstein
>
> -----Original Message-----
> From: Michalmas [mailto:michalmas@xxxxxxxxx]
> Sent: Wednesday, March 18, 2009 4:27 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Fwd: using xquey in XSLT transformation
>
> Hello guys,
>
> I have XQuery function. I need to use it in XSLT transformation. Is it
possible?
>
> d e c l a r e func t i on l o c a l : g e tPic ( $node as node ( ) B ,
> $ s ear chValue as x s : s t r i n g B  )
> B {
> B i f ( empty ($ searchValue ) ) then
> B  B $node/ pic-value
>
> B e l s e
> B  B  B l o c a l : r e f ($ node // de s c endant : :da ta-d e c l a r a t
i o n
> B  B  B [ name=$s earchValue [ 1 ] ] [ 1 ] ,
> B  B  B $ searchValue [ B p o s i t i o n ( ) B != B 1 ] )
> B };

Current Thread