Subject: Re: [xsl] Kosher XSLT 3.0 numbering solution? From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 1 Sep 2016 15:55:32 -0000 |
> Actually it's quite tricky if you want to have a function/template that both returns a modified version of the source tree with new numbers inserted, and also returns the latest number used. Returning two results using maps is possible, but not easy. > > Computing the numbers is ideally done by a fold operation that processes all the nodes in the tree in document order, and XSLT 3.0 accumulators are essentially syntactic sugar for such a fold operation. > Having said that it can also be done using memo functions: write a function that computes the number for a significant node by getting the number for the first preceding significant node and adding 1 (or whatever), and make this a memo function. XSLT 3.0 supports memo functions using <xsl:function .... cache="yes"> Michael Kay Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Kosher XSLT 3.0 numbering, Michael Kay mike@xxx | Thread | Re: [xsl] Kosher XSLT 3.0 numbering, Graydon graydon@xxxx |
[xsl] XSL-List Guidelines, B Tommie Usdin btusd | Date | Re: [xsl] Kosher XSLT 3.0 numbering, Graydon graydon@xxxx |
Month |