Subject: Re: [xsl] Sorting XML with XSL, output as XML From: Joerg Heinicke <joerg.heinicke@xxxxxx> Date: Sat, 04 May 2002 20:35:22 +0200 |
<xsl:template match="*|text()|@*"> <xsl:copy> <xsl:apply-templates select="*|text()|@*"/> </xsl:copy> </xsl:template>
<xsl:template match="book"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates select="chapter"> <xsl:sort select="*[name()=$sortfield]" order="{$sortorder}" /> </xsl:apply-templates> </xsl:copy> </xsl:template>
Hi all,
I'm new it this so I hope I'm posting this message the right way. Anyway...
I've got a HTML-pager with a table, with a data island, so the XML data is bounded in the table by Datafld and Datasrc. Now I want to sort the XML-data by an XSL-file and a XSL:SORT command. However, this needs to be generic so I can use the same XSL for all kinds of XML, because else I have to make a XSL for every XML.
Example: <?xml version="1.0"?> <book> <chapter> <number>2</number> <title>two</title> <paragraph>text 2</paragraph> </chapter> <chapter> <number>1</number> <title>one</title> <paragraph>text 1</paragraph> </chapter> </book>
How do I sort this data by e.g. Number or by Title in a generic way. It's needs to output the "same" XML but sorted like:
<?xml version="1.0"?> <book> <chapter> <number>1</number> <title>one</title> <paragraph>text 1</paragraph> </chapter> <chapter> <number>2</number> <title>two</title> <paragraph>text 2</paragraph> </chapter> </book>
I know how to sort with xsl:param and <xsl:sort select="@*[name()=$sortfield]" order="{$sortorder}" /> but how do I get the XML back like the XML described above...???
I've spend a lot of this on this so I would greatly appreciate any help!!
Thanks, Ernst Wolthaus
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Sorting XML with XSL, output , Ernst Wolthaus | Thread | RE: [xsl] Sorting XML with XSL, out, Ernst Wolthaus |
Re: [xsl] xpath - how to return all, Joerg Heinicke | Date | Re: [xsl] Identifying two tags that, Joerg Heinicke |
Month |