Text vergleichen
Tobi
- xsl
HAllo,
ich will aus einer xml Datei alle Einträge eines Autors raussuchen. Mein xml sieht so aus:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="XMLAusgabe.xsl" type="text/xsl" ?>
<LiteraturVerzeichnis>
<Eintrag>
<Autor>Meier</Autor>
<Autor>Schulz</Autor>
<Autor>Lehmann</Autor>
<Text>Erster Titel</Text>
</Eintrag>
<Eintrag>
<Autor>Schulz</Autor>
<Autor>Nagel</Autor>
<Autor>Meier</Autor>
<Text>Zweiter Text</Text>
</Eintrag>
<Eintrag>
<Autor>Müller</Autor>
<Autor>Fritz</Autor>
<Text>Dritter Text</Text>
</Eintrag>
</LiteraturVerzeichnis>
Mein Xsl sieht so aus:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
xsl:template
<xsl:for-each select="LiteraturVerzeichnis/Eintrag">
xsl:choose
<xsl:when match=".[Autor='Meier']">
<H1>
<xsl:value-of select="Text"/>
<br/>
<br/>
</H1>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Der Output der dabei rauskommt zeigt nur den ersten Eintrag zu Meier. Ich denke das liegt daran das nur der Erste Tag Autor verarbeitet wird.
Hat jemand eine Lösung für das Problem?
Viele Grüße
Tobi
Hallo,
ich will aus einer xml Datei alle Einträge eines Autors raussuchen. Mein xml sieht so aus:
Mein Xsl sieht so aus:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
xsl:template
Das ist realtiv schlimm: es ist das XSL, das es nie gegeben hat ;-)
Dieses XSL wurde mit dem IE 5 von Microsoft eingeführt und basiert auf eine frühe Working.Draft der XSLT-Spezifikation.
Hat jemand eine Lösung für das Problem?
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:key name="autoren" match="Autor" use="."/>
<xsl:template match="/LiteraturVerzeichnis">
<html>
<head>
<title>Autoren - Texte</title>
</head>
<body>
<xsl:for-each select="//Autor[generate-id(.) = generate-id(key('autoren', .)[1])]">
<h1>
<xsl:value-of select="."/>
</h1>
<xsl:for-each select="key('autoren', .)/..">
<p>
<xsl:value-of select="Text"/>
</p>
</xsl:for-each>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Erklärungen zu key() findest du unter:
https://forum.selfhtml.org/?t=150186&m=976444
Grüße
Thomas