Problem mit XLink

wolfeye

Grünschnabel
Hallo, ich lerne gerade XML/XSL. Hier meine Frage: warum funktioniert folgender Link nicht?

[Auszug aus XML-Datei:]
<kategorie xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="simple" xlink:href="http://www.amazon.de/">Psychologie</kategorie>

[Auszug aus xsl-Datei:]
<DIV STYLE="background-color:goldenrod">
<A STYLE="color:black; font-size:15pt;font-family: Arial">
<xsl:attribute name="href">
<xsl:value-of select="kategorie/@href"/>
</xsl:attribute>
<xsl:value-of select="kategorie"/>
</A>
</DIV>

Im Voraus herzlichen Dank für Eure Hilfe
 
Ich nehme an, mit "nicht funktionieren" meinst Du, daß nicht richtig transformiert wird.
Hast Du im xsl-stylesheet auch den namespace von xlink mitangegeben? Sonst findet der die attribute xlink:href nicht.
Das geht im root element
Code:
<xsl:stylesheet ... xmlns:xlink="http://www.w3.org/1999/xlink">

Außerdem würde ich
a) nicht kategorie/@href benutzen, sondern ein <xsl:template match="kategorie">...</xsl:template> benutzen
b) dein html-element <A STYLE="color:black; font-size:15pt;font-family: Arial"> nicht so in textform ins stylesheet schreiben, sondern explizit und komplett definieren mit
Code:
<xsl:template match="kategorie">

<xsl:element name="a">
   <xsl:attribute name="style">font-size:15pt;font-family: Arial</xsl:attribute>
   <xsl.attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
   <xsl:value-of select="."/>
</xsl:element>

</xsl:template>
 
Zuletzt bearbeitet:
Zurück