Hallo miteinander,
ich bekomme von einem Script einen XML-String übergeben, der eine Verzeichnis-Struktur darstellt.
So etwa:
************************************************
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="verzeichnisse.xsl"?>
<verzeichnisse>
<verzeichnis>
<vname>Cordner</vname>
<file>
<fname>Datei in C-Ordner</fname>
</file>
<verzeichnis>
<vname>C-Subfolder</vname>
<file>
<fname>B-Datei in C-Subfolder</fname>
</file>
<file>
<fname>A-Datei in C-Subfolder</fname>
</file>
</verzeichnis>
</verzeichnis>
<verzeichnis>
<name>Xordner</name>
</verzeichnis>
<verzeichnis>
<name>Aordner</name>
</verzeichnis>
</verzeichnisse>
************************************************
Es gibt also beliebig tief verschachtelte Verzeichnisse, deren Namen im Tag <vname> stehen. Jedes Verzeichnis
kann wieder Dateien enthalten, wobei der Name in <fname> steht.
Jetzt soll ich das ganze mit Hilfe von "verzeichnisse.xsl" sortieren und einen Verzeichnisbaum ausgeben, und zwar so, daß jeweils oben die Verzeichnisse stehen, darunter dann die Dateien, jeweils alphabetisch sortiert. Die Sortierung soll auch in den jeweiligen Unterverzeichnissen nach dieser Regel erfolgen.
Ich stehe völlig auf dem Schlauch und bekomme zwar irgendeine Ausgabe hin, aber nicht erst sortiert nach den VZ, und dann erst
nach den Dateien.
es müsste irgendwie mit apply-templates gehen, soweit bin ich gekommen.
Das ist ein erster Entwurf der Datei "Verzeichnisse.xsl".
************************************************
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="verzeichnisse">
xsl:apply-templates
<xsl:sort select="name"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="employee">
<xsl:value-of select="name()" />
</xsl:template>
</xsl:stylesheet>
************************************************
Hat jemand einen Tip für mich?
Dank & Gruss
Klaus