Abel and others,
Thanks so much for the prompt response and help! I really appreciate it.
You are correct that my syntax was incorrect. Unfortunately the
solution you gave me also seg faults.
The XSLT processor I am using is xsltproc (from the command line). It
does not give me any useful error output aside from "Segmentation
fault'. Would you recommend using a different processor?
{hostname} 273%> xsltproc -v -o output.xml transform.xsl input.xml
creating dictionary for stylesheet
reusing dictionary from transform.xsl for stylesheet
Added namespace: xsl mapped to http://www.w3.org/1999/XSL/Transform
Segmentation fault
{hostname} 274%>
-- START SNIPPET --
<xsl:template match="dataloggerlist">
<xsl:element name="dataloggerlist">
<xsl:apply-templates select="datalogger">
<xsl:sort select="param/@id{dlt}" data-type="number"
order="descending" />
<xsl:sort select="@name" order="ascending" />
</xsl:apply-templates>
</xsl:element>
</xsl:template>
-- END SNIPPET --
(Note: the datalogger template outputs the data same as before)
This is very strange, as it cannot possibly run, you have a syntax
error in your select clause (if you did manage to get it running,
can you follow-up with the processor you are using?). The following
is in error:
<xsl:sort select="param/@id{dlt}" data-type="number"
order="descending" />
Change it to:
<xsl:sort select="param[(_at_)id = 'dlt']" />
and all elements with @id = 'dlt' (i.e., attribute nodes containing
the exact match to the text 'dlt') will be output firstly.
Here is the relevant part of the file (changed as per your instruction):
-- START SNIPPET --
<xsl:template match="dataloggerlist">
<xsl:element name="dataloggerlist">
<xsl:apply-templates select="datalogger">
<xsl:sort select="param[(_at_)id = 'dlt']" />
</xsl:apply-templates>
</xsl:element>
</xsl:template>
-- END SNIPPET --
I would prefer to do this whole process in one step, and avoid
having two XSL files that create an interim XML file that just
gets transformed again.
and you are right, you won't need to.
Can you please give me an example of how to do this in one file? As I
see it, I have to get the XML structure tight with my first
transformation before I can apply the sorting rules. In the meantime
I will keep tinkering.....
Thanks again,
- Rob
--~------------------------------------------------------------------
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>
--~--