Subject: Re: [xsl] Processing approach From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 18 Jul 2017 14:07:01 -0000 |
> I have a template that matches nodeC based on its ID, copies it contents and appends child nodes. > Its at this time that much info gets derived which is useful elsewhere. In XSLT 1.0 there are a couple of approaches to this: (a) put both the primary and secondary results into a variable, and then process this using the node-set extension (b) put both the primary and secondary results in the result tree of the transformation, and then post-process this in a second pass (these aren't actually very different: in both cases you're doing a pipeline of two transformations, the only difference is whether it's done all within one stylesheet or using separate stylesheets). In XSLT 3.0 (or as vendor extensions) there's a range of options: (a) memo functions: allow you to call a function twice, and the second time, the results are remembered from the first time. (b) accumulators: similar to memo functions in that the result of a function can be used repeatedly without recomputation, but geared to the situation where the value of the function for each node is computed incrementally as you walk through the tree. (c) maps: a function can in effect return multiple results, by returning a map. Michael Kay Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Processing approach, Joseph L. Casale jca | Thread | [xsl] JWT by XSL, Rahul Singh rahulsin |
[xsl] JWT by XSL, Rahul Singh rahulsin | Date | Re: [xsl] JWT by XSL, Lech Rzedzicki xchao |
Month |