xsl-list
[Top] [All Lists]

RE: <xsl:number> in XPath

2004-12-09 08:35:07
 

<xsl:number level="any" count="*" from="parent"/>

The XSLT 2.0 specification defines xsl:number in terms of equivanent XPath
expressions. However, because "count" and "from" are XSLT patterns, it's a
bit complicated to do this in the general case. For this particular case,
however, if the context node is an element named C, then this xsl:number
call returns a text node containing the value of:

count(
         (preceding::node()|ancestor-or-self::node())[self::C]
      [not(. <<
         $S/(preceding::node()|ancestor::node())[self::parent][last()])] )

unless that is zero, in which case xsl:number returns a zero-length text
node.

If you leave out the from="parent", and if a C element cannot have any C
ancestors, then the expression reduces to count(preceding::C)+1.

Michael Kay
http://www.saxonica.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>
--~--



<Prev in Thread] Current Thread [Next in Thread>