- From: Mukul Gandhi <gandhi.mukul@gmail.com>
- Date: Tue, 12 Jan 2021 13:07:05 +0530
- To: Michael Kay <mike@saxonica.com>
- Cc: public-xslt-40@w3.org
- Message-ID: <CABuuzNPc9cPPxGtZZ5zwZmjOJ-=n9baM=OO-tmv5MzSq+sRyhA@mail.gmail.com>
On Sat, Jan 9, 2021 at 10:08 PM Michael Kay <mike@saxonica.com> wrote: > It seems a no-brainer to provide an XSLT instruction along the lines > > <xsl:for-each-member select="array"> > .... > </xsl:for-each> > > to process the members of a supplied array. > > The question is: within the body of this instruction, how should one refer > to the current member of the array? > To do this, I'd like to propose enhancements to syntax of xsl:iterate. Something, along the following lines, 1) Let the XSLT 4.0 variable 'A' represents an array. for e.g, <xsl:variable name="A" select="array { 1, 2, 5, 7 }"/> 2) Then do following, <xsl:iterate idx="1 to array:size($A)"> <!-- do something with $A($idx) --> </xsl:iterate> Notes: Currently XSLT 4.0 xsl:iterate instruction is defined as follows (quoted from XSLT 4.0 spec, which I propose to be retained in XSLT 4.0), *<xsl:iterate* * select = expression>* * <!-- Content: (xsl:param*, xsl:on-completion?, sequence-constructor) -->* *</xsl:iterate>* *Where, xsl:iterate/@select contains an expression which is evaluated to produce a sequence, called the input sequence.* -- Regards, Mukul Gandhi
Received on Tuesday, 12 January 2021 07:37:38 UTC