On Fri, Oct 18, 2019 at 08:21:28PM -0000, Martin Honnen martin.honnen@xxxxxx scripsit:
> On 18.10.2019 21:08, Graydon graydon@xxxxxxxxx wrote:
> > Is there a better way to get the single continuous sequence of numbers?
>
> If don't want to create a result tree then I think instead of
>
> <xsl:variable as="element(w:document)+" name="numberedSrc">
> <xsl:apply-templates mode="fileNumber" select="$contentSet" />
> </xsl:variable>
>
> you would need to use xsl:iterate select="$contentSet" and pass the
> latest accumulator on as the parameter of xsl:iterate, like I have done
> in https://xsltfiddle.liberty-development.net/bwdwrT
>
> <xsl:variable name="transformed-docs" as="element(root)*">
> <xsl:iterate select="$docs">
> <xsl:param name="sum" as="xs:integer" select="0"/>
> <xsl:apply-templates>
> <xsl:with-param name="sum" tunnel="yes" select="$sum"/>
> </xsl:apply-templates>
> <xsl:next-iteration>
> <xsl:with-param name="sum" select="$sum +
> accumulator-after('acc-example')"/>
> </xsl:next-iteration>
> </xsl:iterate>
> </xsl:variable>
>
> Not sure whether that is anything better, it seems to be a bit too
> complicated.
Given the size of what I've got, I'll stick with "let's throw the lot in
a container element", but good to have a "by the each" example available.
Thank you!
Graydon
|