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(_dot_)jim(_at_)gmail(_dot_)com> wrote:
You can declare your own functions in XSLT 2.0:
<xsl:stylsheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:local="your-namespace"
version="2.0">
<xsl:function name="local:getPic">
<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:ref($node//data-declaration[name=$searchvalue[1]],
$searchValue[postion()
!= 1])"/>
</xsl:otherwise>
</xsl:choose>
</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(_at_)gmail(_dot_)com]
Sent: Wednesday, March 18, 2009 4:27 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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 ( ) ,
$ s ear chValue as x s : s t r i n g )
{
i f ( empty ($ searchValue ) ) then
$node/ pic-value
e l s e
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
[ name=$s earchValue [ 1 ] ] [ 1 ] ,
$ searchValue [ p o s i t i o n ( ) != 1 ] )
};
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--