In 2.0, that's
<xsl:for-each-group select="data"
group-starting-with="data[ends-with(., 'A')]">
<group>
<xsl:apply-templates select="current-group()"/>
</group>
</xsl:for-each>
<xsl:template match="data">
<amount><xsl:value-of select="."/></amount>
</xsl:template>
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: piming(_dot_)kuo(_at_)worldspan(_dot_)com
[mailto:piming(_dot_)kuo(_at_)worldspan(_dot_)com]
Sent: 07 February 2005 14:39
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] HELP! The XSLT may be easy, but I could not
figure it out
Can anyone help? Thanks in advance.
I have the xml document like:
<response>
<all>
<data>12345A</data>
<data>22345B</data>
<data>32345A</data>
<data>42345B</data>
<data>52345B</data>
<data>62345A</data>
<data>72345A</data>
<all>
</response>
And like to transform it to another xml document. For all
<data> under the
<all>, Start a new group
with the <group> following with <amount> when the last
character of context
of the <data> is A; otherwise add the <amount> with the context when
the last character of the context of the <data> is "B".
I had tried with for-each and following, but could not get
what I want.
<response>
<group>
<amount>12345A</amount>
<amount>22345B</amount>
</group>
<group>
<amount>32345A</amount>
<amount>42345B</amount>
<amount>52345B</amount>
</group>
<group>
<amount>62345A</amount>
<amount>72345B</amount>
</group>
</response>
Have a nice day!
Piming Kuo
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--