Verlinkung
mjk
- xsl
0 andre3030 mjk
Hi,
habe folgendes Problem.Ich habe eine schleife mit name und will diesen Namen verlinken.
d.h.
<---xml---->
<?xml version="1.0"?>
<pdf_downloads>
<items>
<item>
<name_de>mjk</name_de>
<download_url>http://www.pfd-download.pdf.</download_url>
</item>
</item>
</items>
</pdf_downloads>
<---------XSL ----->
<?xml version="1.0" encoding="windows-1252"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>mjk</title>
</head>
<body>
<table>
<xsl:for-each select="pdf_downloads/items/item">
<tr>
<td width="25" valign="top"><img src="../../img/img_icon_pdf.gif" width="14" height="15" border="0" alt="Download PDF" title="Download PDF" /></td>
<td width="515" valign="top">
<a href="{}@download_url"><xsl:value-of select="name_de"/></a>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
--------------------------
Es muss also im a href irgendwie das <download_url> eingebunden werden.
wer kann mir helfen?
Hi mjk,
<xsl:for-each select="pdf_downloads/items/item">
<tr>
<td width="25" valign="top"><img src="../../img/img_icon_pdf.gif" width="14" height="15" border="0" alt="Download PDF" title="Download PDF" /></td>
<td width="515" valign="top">
<a href="{}@download_url"><xsl:value-of select="name_de"/></a>
</td>
</tr>
</xsl:for-each>
Auf Attribute greift man mit dem @ zu, deshalb
ist es hier falsch und die
geschweiften Klammern müssen drum herum. Wenn man
explizit den Text-Node selektieren möchte, kann
man auch <a href="{download_url/text()}"> schreiben,
aber in deinem Fall würde ich einfach folgendes benutzen:
...<a href="{download_url}">...
Gruß
André
Auf Attribute greift man mit dem @ zu, deshalb
ist es hier falsch und die
geschweiften Klammern müssen drum herum. Wenn man
explizit den Text-Node selektieren möchte, kann
man auch <a href="{download_url/text()}"> schreiben,
aber in deinem Fall würde ich einfach folgendes benutzen:
...<a href="{download_url}">...Gruß
André
Erstmal Danke dür die Schnelle Nachricht André,
aber Irgendwie klappt es nicht. Es muss ja dynamisch(download_url) sein.
Ich habe ja mehrere <name>-Atribute und jder name hat ja einen anderen <link>-Atribut, wenn ich es so schreibe(w.oben) bekomme ich ja es auch so angezeigt http://..../{download_url}
Gruß
mjk
Hallo,
aber Irgendwie klappt es nicht. Es muss ja dynamisch(download_url) sein.
Ich habe ja mehrere <name>-Atribute und jder name hat ja einen anderen <link>-Atribut,
Nein!
Entweder hast du uns ein anderes XML hier gepostet als du wirklich hast, oder du verwechselst hier Elemente und Attribute.
Du hast mehrere <item> Elemente.
In jedem <item> Element hast du ein <name_de> und ein <download_url> Element.
Dementsprechend ist es richtig, dass du es so schreiben musst:
<a href="{download_url}"><xsl:value-of select="name_de"/></a>
Du kannst es natürlich auch so machen:
<a>
<xsl:attribute name="href"><xsl:value-of select="download_url" /></xsl:attribute>
<xsl:value-of select="name_de"/>
</a>
wenn ich es so schreibe(w.oben) bekomme ich ja es auch so angezeigt http://..../{download_url}
Dann stimm aber das XML oder XSL was du uns gezeigt hast, nicht mit dem überein was du tatsächlich verwendest.
Grüße
Thomas
Hi,
wenn ich es so schreibe(w.oben) bekomme ich ja es auch so angezeigt http://..../{download_url}
Dann stimm aber das XML oder XSL was du uns gezeigt hast, nicht mit dem überein was du tatsächlich verwendest.
Oder der verwendete Transformator hat einen an der Waffel...
cu,
Andreas
Nein!
Entweder hast du uns ein anderes XML hier gepostet als du wirklich hast, oder du verwechselst hier Elemente und Attribute.Du hast mehrere <item> Elemente.
In jedem <item> Element hast du ein <name_de> und ein <download_url> Element.Dementsprechend ist es richtig, dass du es so schreiben musst:
<a href="{download_url}"><xsl:value-of select="name_de"/></a>Du kannst es natürlich auch so machen:
<a>
<xsl:attribute name="href"><xsl:value-of select="download_url" /></xsl:attribute>
<xsl:value-of select="name_de"/>
</a>
Grüße
Thomas
Danke Thomas mit dem 2ten Beispiel hat es geklappt!