[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] is arity-based "polymorphism" safe to use in xsl 2.0
hi !
since it needs to keep an internal counter, i have solved it like this: <!-- this is the "internal" function: --> <xsl:function name="r2c:positionInContext" as="xs:integer"> <xsl:param name="haystack" as="node()*"/> <xsl:param name="needle" as="node()"/> <xsl:param name="position" as="xs:integer"/> <xsl:choose> <!-- found? --> <xsl:when test="$needle is $haystack[1]"> <xsl:sequence select="$position"/> </xsl:when> <!-- haystack empty? --> <xsl:when test="not($haystack[2])"> <xsl:sequence select="0"/> </xsl:when> <!-- try next node in haystack: --> <xsl:otherwise> <xsl:sequence select=" r2c:positionInContext( $haystack[position() gt 1], $needle, $position + 1)" /> </xsl:otherwise> </xsl:choose> </xsl:function> <!-- this is the "API" function: --> <xsl:function name="r2c:positionInContext" as="xs:integer"> <xsl:param name="haystack" as="node()*"/> <xsl:param name="needle" as="node()"/> <xsl:sequence select="r2c:positionInContext($haystack, $needle, 1)"/> </xsl:function>
regards, jC6rn -- jC6rn nettingsmeier home://germany/45128 essen/lortzingstr. 11/ http://spunk.dnsalias.org phone://+49/201/491621 if you are a free (as in "free speech") software developer and you happen to be travelling near my home, drop me a line and come round for a free (as in "free beer") beer. :-D
|
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
|