[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Working around immutable variables

Subject: Re: Working around immutable variables
From: "G. Ken Holman g.ken.holman@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 2 Mar 2018 21:12:48 -0000
Re:  Working around immutable variables
Read up on "grouping".  That is the declarative
way to do what you want to do, rather than the
imperative approaches you've described as
considering.  With grouping you don't need any mutable variables.

For many imperative programmers, wrapping one's
head around the declarative style can be
challenging, but it sure is rewarding when finally understood!

I have made my book on the subject free, available at:

https://cranesoftwrights.github.io/books/ptux/

... and there is an entire section on the many
kinds of grouping available when using XSLT.

Good luck!

. . . . . . Ken

At 2018-03-02 21:05 +0000, Jacopille, David djacopille@xxxxxxx wrote:
Hello,

We have a for-each loop that constructs a
table.  The first column is a region that would
normally look like the following  we would like
to show the firstt region name only to avoid repetition.

US
US
US
US
Europe
Europe
Europe
Asia
Asia

My non-xsl mind wants to use a mutable variable:
   * initialize a variable $current_region to bb
   * loop through each row
   * If current rowbs region column
COLUMN[@name=bregionb] does not equal $current_region then:
       * select the region so it shows in the table
       * reassign $current_region to the string
value of the current rowbs region column

Perhaps comparing the current category to the preceding-sibling?

Perhaps a loop on select=bdistinct_values to
find region names, enclosing aanother loop that
goes through each distinct regionbs rows?  If
position()=1 worked in that context perhaps this would work?

Webre aware of the saxon namespace that allows
for the mutable variable cheat, but would like to avoid this.

I would greatly appreciate your recommendations.

Thank you,
David Jacopille
Boston


--
Contact info, blog, articles, etc. http://www.CraneSoftwrights.com/s/ |
Check our site for free XML, XSLT, XSL-FO and UBL developer resources |
Streaming hands-on XSLT/XPath 2 training class @ US$45 (5 hours free) |

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.