Ich habe folgendes Problem beim Auslesen von Daten einer XML-Datei mittels XSLT, Ausgabe-Datei ist XHMTL.
Von der XML-Datei möchte ich die Infoelemente auslesen, diese sollten mittels Link auf eine Bild-Datei verweisen, diese Information über das Bild bzw. die Bildquelle steht an einem anderen Ort im XML-Dokument. Mein Problem ist, dass ich es nicht schaffe, diese Bildinformationen korrekt auszulesen. Entweder er listet mir bei jedem Infoelement sämtliche Bildpfade auf, oder nur den Pfad des letzten Bildes.
Meine XML-Datei (vereinfacht)
Alles anzeigen
...
XSLT (Ausschnitt, mit dem ich oben beschriebene Aufgabe erledigen möchte)
Alles anzeigen
Viele Dank für eure Hilfe, wäre toll jemand könnte das Problem lösen.
Von der XML-Datei möchte ich die Infoelemente auslesen, diese sollten mittels Link auf eine Bild-Datei verweisen, diese Information über das Bild bzw. die Bildquelle steht an einem anderen Ort im XML-Dokument. Mein Problem ist, dass ich es nicht schaffe, diese Bildinformationen korrekt auszulesen. Entweder er listet mir bei jedem Infoelement sämtliche Bildpfade auf, oder nur den Pfad des letzten Bildes.
Meine XML-Datei (vereinfacht)
Quellcode
- ...
- <fotoalben>
- <info_album>
- <infotitel>berlin.de</infotitel>
- <infoliste>
- <infoelement>Sony-Center</infoelement>
- <infoelement>Berliner Mauer</infoelement>
- <infoelement>Potsdamer Platz</infoelement>
- </infoliste>
- </info_album>
- ...
- <album>
- <albumtitel>berlin.de</albumtitel>
- <bilder>
- <bild quelle_original="bilder/berlin1.jpg/>
- <bild quelle_original="bilder/berlin2.jpg/>
- <bild quelle_original="bilder/berlin3.jpg/>
- </bilder>
- </album>
- ...
...
XSLT (Ausschnitt, mit dem ich oben beschriebene Aufgabe erledigen möchte)
Quellcode
- <xsl:template match="infoliste">
- <ul>
- <xsl:for-each select="infoelement">
- <li><a class="info">
- <xsl:apply-templates select="//bild"/>
- <xsl:value-of select="."/></a></li>
- </xsl:for-each>
- </ul>
- </xsl:template>
- <xsl:template match="bild">
- <xsl:attribute name="href">
- <xsl:for-each select=".">
- <xsl:value-of select="@quelle_original"/>
- </xsl:for-each>
- </xsl:attribute>
- </xsl:template>
- ...
Viele Dank für eure Hilfe, wäre toll jemand könnte das Problem lösen.