Servus
// XML-dokument
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<adressbuch>
<adresse>
<name>Sven</name>
<telefon>
<nr>S. 1</nr>
<nr>S. 2</nr>
<modil>s. M. 1.</modil>
</telefon>
</adresse>
<adresse>
<name>Tom</name>
<telefon>
<nr>T. 1</nr>
<nr>T. 2</nr>
<nr>T. 3</nr>
<mobil>T. M. 1.</mobil>
</telefon>
</adresse>
</adressbuch>
Hier noch ein Beispiel wie man es machen könnte.
Es gibt grundsätzlich die Push und die Pop Methodik,
wobei dein letztes Beispiel beide nutzt.
Hier nun reine Pull-Algorithmen (wie deine ersten beiden Beispiele):
So könntest Du auch kompletten Zugriff auf all Deine XML Elemente in deinen XML-Dateien bekommen:
<!-- er matcht hier das Wurzelelement -->
<xsl:template match="adressbuch">
Mein Adressbuch:
xsl:apply-templates/
</xsl:template>
<!-- falls er auch das adresse Tag stösst springt er hierhinein -->
<xsl:template match="adresse">
xsl:apply-templates/
</xsl:template>
<!-- falls er auch das telefon Tag stösst springt er hierhinein -->
<xsl:template match="telefon">
xsl:apply-templates/
</xsl:template>
<!-- falls er auch das nr Tag stösst springt er hierhinein -->
<xsl:template match="nr">
Telefonnummer:
xsl:apply-templates/
</xsl:template>
<!-- falls er auch das mobil Tag stösst springt er hierhinein -->
<xsl:template match="mobil">
Mobil-Telefonnummer:
xsl:apply-templates/
</xsl:template>
ciao
-Marco Wagner-