xsl-list
[Top] [All Lists]

Re: How to sort?

2004-10-14 02:43:11
I am using MSXML and XslTransform() in C# to transform documents.
There is only one stylesheet.

original XML doc is 1500 lines large tough.

Transform is very very slow.

-Mike


On Thu, 14 Oct 2004 12:28:58 +0300, jarno(_dot_)elovirta(_at_)nokia(_dot_)com
<jarno(_dot_)elovirta(_at_)nokia(_dot_)com> wrote:
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[(_at_)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



--+------------------------------------------------------------------
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>
--+--




-- 

[row.filter]


<Prev in Thread] Current Thread [Next in Thread>