Hallo Leute.
Ich habe heute mit XSLT angefangen und stehe vor einem Problem.
Ich habe eine XML-Datei, die ein RSS-Feed ist und möchte diese formattieren, da der Feed in älteren Browsern nicht angezeigt wird.
Hierzu möchte ich es hinkriegen, dass man den Titel anklicken kann, der Link soll dann auf die Seite weiterleiten die im <link>-Tag definiert ist.
Hier ist mal ein Ausschnitt aus der XML-Datei:
Das habe ich versucht mit XSLT zu realisieren, einiges hab ich auch schon geschafft, nur eben diesen Link nicht. Ich bekomme allerdings immer die Meldung, dass es fehlschlägt
Hier ist die XSLT-Datei
In $link steht kein Wert, es wird noch nicht einmal geparst. Der Link wäre folglich nur {$link}... Auch wenn man versucht die Variable normal als Text darzustellen, wird nur {$link} ausgegeben.
Wenn man den Inhalt des Links einfach so reinschreibt, kommt auch der Verarbeitungsfehler
Was mache ich falsch? Wäre nett, wenn jemand einen Tip für mich hätte.
Vielen Dank schon mal im Voraus
Ich habe heute mit XSLT angefangen und stehe vor einem Problem.
Ich habe eine XML-Datei, die ein RSS-Feed ist und möchte diese formattieren, da der Feed in älteren Browsern nicht angezeigt wird.
Hierzu möchte ich es hinkriegen, dass man den Titel anklicken kann, der Link soll dann auf die Seite weiterleiten die im <link>-Tag definiert ist.
Hier ist mal ein Ausschnitt aus der XML-Datei:
HTML Code:
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml-stylesheet type="text/xsl" href="news_rss.xsl" ?> <rss version="2.0"> <channel> <title>Der Titel</title> <link>http://meineseite.de</link> <description>Die Beschreibung</description> <language>de-DE</language> <lastBuildDate>Sat, 08 Sep 2007 18:52:10 +0200</lastBuildDate> <item> <title>der Newstitel</title> <author>[email protected] (Author) </author> <link>http://meienseite.de/news.php?eintrag=15</link> <description>Beschreibung</description> <pubDate>Sat, 08 Sep 2007 18:52:10 +0200</pubDate> </item> [ ... - Insgesamt 50 items ] </channel> </rss>
Hier ist die XSLT-Datei
HTML Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <html> <head> <link rel="stylesheet" type="text/css" href="news_rss.css" /> </head> <body> <h1><xsl:value-of select="rss/channel/title"/></h1> <xsl:value-of select="rss/channel/description"/> <br /> <xsl:for-each select="rss/channel/item"> <xsl:variable name="linkurl" select="link" /> <div class="rss_entry"> <a href="{$link}"><xsl:value-of select="title" /></a> </div> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>
Wenn man den Inhalt des Links einfach so reinschreibt, kommt auch der Verarbeitungsfehler
HTML Code:
<a href="<xsl:value-of select='link'/>"><xsl:value-of select="title" /></a>
Vielen Dank schon mal im Voraus
Comment