Ich bin neu in XSLT und kann nicht herausfinden, wie man ein Attribut von einem Kind-Tag zu einem neuen Tag kopiert. Ich bin mir ziemlich sicher, dass es ein dummer Anfängerfehler ist.XSLT: Wie man ein Attribut auf ein neues Tag überträgt
Die Eingabedatei ist:
<?xml version="1.0" encoding="UTF-8"?> <navMap> <navPoint> <navLabel> <text>Chapter 1</text> </navLabel> <content src="Text/chapter01.html"/> </navPoint> </navMap>
Die XSLT, die ich bisher habe, ist:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="navMap/navPoint">
<h1><span><xsl:value-of select="./content/@src" /></span><xsl:value-of select="./navLabel/text" /></h1>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Das wird erzeugen:
<h1><span>Text/chapter01.html</span>Chapter 1</h1>
aber ich brauche:
<h1 href="Text/chapter01.html">Chapter 1</h1>
Wie füge ich dem h1-Tag ein neues href-Attribut hinzu und kopiere den Wert des src-Attributs des Inhalts-Tags?
I versucht:
<h1 href="<xsl:value-of select="./content/@src" />"><xsl:value-of select="./navLabel/text" /></h1>
sondern dass ein Syntaxfehler erzeugt.
Vielen Dank für Ihre sehr hilfreiche Antwort! –