Sortierungsproblem
André Laugks
- xsl
0 MudGuard
Hallo!
Also irgenwie packe ich das jetzt nicht...
Ich habe hier eine XML-Datei, die nach den Namen sortiert werden soll. Die Ausgabe soll
Andreas
Diether
Lisa
Luise
sein.
Wie liegt mein Denkfehler? Ich habe keien Ahnung, was ich hier übersehe.
<?xml version="1.0"?>
<liste>
<eintrag>
<name>Andreas</name>
<name>Lisa</name>
</eintrag>
<eintrag>
<name>Luise</name>
<name>Diether</name>
</eintrag>
</liste>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/liste">
<html>
<body>
<xsl:apply-templates select="eintrag">
<xsl:sort select="name"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<xsl:template match="eintrag">
<xsl:apply-templates select="name"/>
</xsl:template>
<xsl:template match="name">
<xsl:value-of select="."/><br/>
</xsl:template>
</xsl:stylesheet>
MfG, André Laugks
Hi,
Ich habe hier eine XML-Datei, die nach den Namen sortiert werden soll. Die Ausgabe soll
Andreas
Diether
Lisa
Luise
sein.
Wie liegt mein Denkfehler? Ich habe keien Ahnung, was ich hier übersehe.
<?xml version="1.0"?>
<liste>
<eintrag>
<name>Andreas</name>
<name>Lisa</name>
</eintrag>
<eintrag>
<name>Luise</name>
<name>Diether</name>
</eintrag>
</liste><?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/liste">
<html>
<body>
<xsl:apply-templates select="eintrag">
<xsl:sort select="name"/>
</xsl:apply-templates>
Du selektierst hier eintrag-Elemente, die Du nach dem (ersten) name-Element sortieren läßt.
</body>
</html>
</xsl:template>
<xsl:template match="eintrag">
<xsl:apply-templates select="name"/>
</xsl:template>
Innerhalb der (sortierten) eintrag-Elemente werden aber die name-Elemente unsortiert ausgegeben.
<xsl:template match="name">
<xsl:value-of select="."/><br/>
</xsl:template>
</xsl:stylesheet>
Du willst aber name-Elemente, die Du nach sich selbst (also nach .) sortieren lassen willst.
cu,
Andreas
Hallo!
Du selektierst hier eintrag-Elemente, die Du nach dem (ersten) name-Element sortieren läßt.
Da lag das Hündchen begraben.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/liste">
<html>
<body>
<xsl:apply-templates select="eintrag/name">
<xsl:sort select="."/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<xsl:template match="name">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
MfG, André Laugks