Re: [xsl] Working around immutable variables

Subject: Re: [xsl] Working around immutable variables
From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 2 Mar 2018 22:25:59 -0000
> My non-xsl mind wants to use a mutable variable:

You should worry, your mind has been corrupted by exposure to
unnatural imperative programming languages:-)

If you were describing the problem to a human, you would not start
with "initialize a variable $current_region"

The XSLT version far more closely follows your english description

> we would like to show the first region name only to avoid repetition.

<xsl:for-each-group select="row" group-by select="region">
<xsl:value-of select="current-grouping-key()"/>
<xsl:for-each select="current-group()">
  do something with all the rows with this <region>US</region> or whatever
</xsl:for-each>
</xsl:for-each-group>

assuming an input like

<row><region>US</region>...</row>
<row><region>US</region>...</row>
<row><region>Europe</region>...</row>

So not only do you not need mutable variables, you don't need a variable at all.

David

Current Thread