Previous | Next | Indexes
adultinternetusers > Tutorials > XSLT 2.0 Tutorial > Sequences (8/10) >

Creation of sequences using "for... in... return" instruction

"for... in... return" instruction is useful in many scenarios as it is very flexible although a bit more difficult to use.

When reading this instruction, the first attention should be given to the expression which follows the word "in". This expression specifies the sequence to be used in further processing.

Name of variables are preceded by dollar sign ($) in XSLT. The variable given after the word "for" specifies the name of variable to be used in further processing. In time of processing are all values from the sequence generated after "in" are one by one assigned to this variable which is then used in instructions following the word "return".

The instructions after "return" perform some processing on the sequence specified after "in" word. It means that final sequence will have same number of items as the "in" one.

The function concat() in the second example joins its arguments to a single string, which is outputed.

In the third example items of sequence are nodes. Therefore it is possible to ask about value of an attribute on this node and use it in the calculation, where the attribute is multiplied by the value of the element.

XSLT

      <xsl:stylesheet
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="2.0">
            <xsl:output  method="xml"
                        indent="yes"
                        omit-xml-declaration="yes"/>

            <xsl:template  match="/aaa">
                  <xxx>
                        <xsl:value-of  select="for $a in (1 to 5) return $a * $a"/>
                  </xxx>
                  <yyy>
                        <xsl:value-of  select="for $a in reverse(('a','b','c')) return concat('x-',$a,'-y')"/>
                  </yyy>
                  <zzz>
                        <xsl:value-of  select="for $a in bbb return $a * $a/@c"/>
                  </zzz>
            </xsl:template>

      </xsl:stylesheet>
XML

      <aaa>
            <bbb  c="2">3</bbb>
            <bbb  c="5">8</bbb>
            <bbb  c="7">1</bbb>
      </aaa>
Output

      <xxx>1 4 9 16 25</xxx>
      <yyy>x-c-y x-b-y x-a-y</yyy>
      <zzz>6 40 7</zzz>


Previous chapter: Templates - basic usage
Next chapter: Sequence Combinations
Previous page: Function reverse
Next page: Several variables can be used is for... in... return instruction

Kevin Carr in Stanton

Natural Skin Care and European Soaps
Kevin Carr
Mayor Dave Shawver Stanton
Internetusers


You can also get Organic Skin Care products from Bliss Bath Body and you must check out their Natural Body Lotions and bath soaps

Now if you are looking for the best deals on surf clothing from Quiksilver and Roxy then you have to check these amazing deals here:

Hey, check out this Organic Skin Care European Soaps along with Natural Lavender Body Lotion and shea butter

and we can get surf t shirts surfing shirt and And you must check out this website swim suit swimming suit and swim trunks