Hallo,
kann mir jemand sagen wie ich eine sortierte ausgabe nummerieren kann?
Beim obersten "Datensatz" soll eine "1" stehen bein 2. eine "2" usw...
Mal angenommen, das XML-Dokument sieht so aus:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xxx>
<test name="Christian"/>
<test name="Andreas"/>
<test name="Gernot"/>
<test name="Thomas"/>
</xxx>
Mit einem Attribut "name" verbinde ich einen alphanumerischen Wert, aber keinen Zahlenwert. Deshalb scheint mir statt <xsl:sort select="@name" data-type="number" order="descending"/>
eher <xsl:sort select="@name" data-type="text" order="descending"/>
angebracht. Mittels position() erhalte ich ueber dieses Stylesheet
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="ISO-8859-1"/>
<xsl:template match="xxx">
<table>
<xsl:for-each select="test">
<xsl:sort select="@name" data-type="text" order="descending"/>
<tr>
<td><xsl:value-of select="position()"/></td>
<td><xsl:value-of select="@name"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
als Ergebnis in absteigend sortierter Folge:
<table>
<tr><td>1</td><td>Thomas</td>
</tr>
<tr><td>2</td><td>Gernot</td>
</tr>
<tr><td>3</td><td>Christian</td>
</tr>
<tr><td>4</td><td>Andreas</td>
</tr>
</table>
MfG, Thomas