This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Q on copying
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Q on copying
- From: "Alexander Gutman" <gutman at novosoft-us dot com>
- Date: Fri, 3 Aug 2001 12:13:37 +0700
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hello.
Rosa I-Ting Cheng wrote:
> Can anyone please tell me how to copy XML into certain sorted
> order while keeping the attributes of the root element as is?
> ie the following is my XML
>
> <Root att1="" att2="">
> <Info sort="2"/>
> <Info sort="5"/>
> <info sort="1"/>
Replace all "Info"s with "info"s.
> <other sort="3"/>
> <other sort="5"/>
> <other sort="2"/>
> </Root>
>
> I want to turn that XML into
> <Root att1="" att2="">
> <info sort="1"/>
> <Info sort="2"/>
> <Info sort="5"/>
> <other sort="3"/>
> <other sort="4"/>
> <other sort="5"/>
> </Root>
>
> This is what I have so far..
> <xsl:template name="Root">
> <Root>
Insert the following here:
<xsl:copy-of select="@*"/>
> <xsl:for-each select="info">
> <xsl:sort select="sort"/>
Replace select="sort" with select="@sort"
and add data-type="number" if you treat
the sort's values as numbers rather than strings.
> <xsl:copy-of select="."/>
> </xsl:for-each>
> <xsl:for-each select="other">
> <xsl:sort select="sort"/>
Do the same here.
> <xsl:copy-of select="."/>
> </xsl:for-each>
> </Root>
> </xsl:template>
--
Alexander E. Gutman
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list