Hallo!
Es ist folgendes XML-Dokument gegeben.
XML-Datei
<?xml version="1.0" encoding="iso-8859-1"?>
<liste>
<eintrag>
<vorname>André</vorname>
<nachname>Laugks</nachname>
</eintrag>
<eintrag>
<vorname>Werner</vorname>
<nachname>Otto</nachname>
</eintrag>
</liste>
Mit folgender XSLT-Datei bekomme ich alle Kind-Element ausgegeben.
XSLT-Datei
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
xsl:apply-templates/
</body>
</html>
</xsl:template>
<xsl:template match="eintrag">
<b><xsl:value-of select="."/></b>
</xsl:template>
</xsl:stylesheet>
Sobald ich aber <xsl:apply-templates select="eintrag"/> nehme, bekomme ich nichts mehr ausgegeben. Ich wähle doch den Knoten "eintrag" aus?
So bekomme ich wieder was ausgegeben.
<xsl:template match="/liste">
<html>
<body>
<xsl:apply-templates select="eintrag"/>
</body>
</html>
</xsl:template>
Aber <xsl:template match="/"> bezieht sich doch auf das Root-Element "liste".
So möchte ich mir nur die Vornamen ausgeben lassen. Ich bekomme natürlich auch nichts ausgegeben. Kann ich in dem Pfad nicht springen. Muß ich immer komplet (/liste/eintrag/vorname) referenzieren?
XSLT-Datei
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates select="vorname"/>
</body>
</html>
</xsl:template>
<xsl:template match="vorname">
<b><xsl:value-of select="."/></b>
</xsl:template>
</xsl:stylesheet>
Irgendwie ist mir das heute erst aufgefallen.
MfG, André Laugks
L-Andre @ gmx.de