|
Subject: RE: [xsl] How to sort? From: <Jarno.Elovirta@xxxxxxxxx> Date: Thu, 14 Oct 2004 12:28:58 +0300 |
Hi,
> If this is the XML with previously missing root-elements
>
> <Documents>
> <Document title="1" chapter="i" href="file1.xml" filter="food">
> <Article title="1.1" info="sub" filter="drink"
> state="1"/>
> <Article title="1.2" info="main" filter="food"
> state="3"/>
> <Article title="1.3" info="main"
> filter="drink" state="2"/>
> </Document>
> <Document title="2" chapter="ii" href="file2.xml"
> filter="drink">
> <Article title="2.1" info="main"
> filter="drink" state="1"/>
> <Article title="2.1" info="sub" filter="drink"
> state="3"/>
> <Article title="2.2" info="main" filter="food"
> state="2"/>
> </Document>
> <Document title="3" chapter="1" href="file2.xml" filter="">
> <Article title="3.1" info="sub" filter="drink"
> state=""/>
> <Article title="3.2" info="child" filter="" state="8"/>
> </Document>
> <Document title="4" chapter="2" href="file2.xml" filter="">
> <Article title="3.1" info="sub" filter="drink"
> state=""/>
> <Article title="3.2" info="main" filter="food"
> state="1"/>
> </Document>
> </Documents>
>
>
> could this be correct XSLT for my output. Could you check it? It runs
> very slow for some reason.
I get (Saxon 6.5.3, intended in Xselerator)
<?xml version="1.0" encoding="utf-8"?>
<Documents>
<Document title="1" chapter="i" href="file1.xml" filter="food">
<Article title="1.3" info="main" filter="drink" state="2"/>
<Article title="1.2" info="main" filter="food" state="3"/>
</Document>
<Document title="2" chapter="ii" href="file2.xml" filter="drink">
<Article title="2.1" info="main" filter="drink" state="1"/>
<Article title="2.2" info="main" filter="food" state="2"/>
</Document>
<Document title="4" chapter="2" href="file2.xml" filter="">
<Article title="3.2" info="main" filter="food" state="1"/>
</Document>
</Documents>
Which engine are you using? Also, is you stylesheet
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Documents>
<xsl:apply-templates select="Documents/Document[Article/@info = 'main']"/>
</Documents>
</xsl:template>
<xsl:template match="Document">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:for-each select="Article[@info = 'main']">
<xsl:sort select="@state" data-type="number"/>
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
or did you embed the templates into some other stylesheet your've not showing
us?
Cheers,
Jarno - Seabound: Contact
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] How to sort?, Mike G | Thread | Re: [xsl] How to sort?, Mike G |
| Re: [xsl] How to sort?, Mike G | Date | Re: [xsl] How to sort?, Mike G |
| Month |