Wie Link in XSL definieren
Martin P
- xsl
0 Thorsten F.0 korn
0 Olaf Schneider
Hallo,
wie kann ich einen Link (A HREF) in XSL definieren?
Bei dem Problem geht es mir vor allem daru, wie ich das Attribut HREF fülle.
Ein Beispiel:
In meiner XML-Datei steht
<LINKOUT>http://localhost</LINKOUT>
Ich kann ja jetzt schlecht hingehen und in der XSL Datei schreiben:
<A HREF=<xsl:apply-templates select="linkout" />>
Denn dann wäre meine XSL Datei ja nicht mehr valide.
Also wie mache ich es?
Vielleicht eine andere Frage...
Kann ich irgendwie dasselbe Problem lösen,
indem ich nur XML und CSS verwende?
Bye,
Martin
Hi,
das kannst du in etwa so lösen, bin mir aber nicht mehr ganz sicher.
<xsl:element name="a"><xsl:attribute
name="href"><xsl:value-of
select="wert"/></xsl:attribute>Link</xsl:element>
Das würde dann dem hier entsprechen:
<a href="value_des_knotens_wert">Link</a>
Grüße,
Thorsten F.
Hi!
Soviel ich weiß geht das auch über
<Web-Adresse xml:link="simple" href="http://uri.org/">Text</Web-Adresse>
der Wert simple besagt, dass es sich um einen einfachen Hyperlink handelt.
Innerhalb von XSL muss dann noch stehen:
<a style="styles">
<xsl:attribute name="HREF">
<xsl:value-of select="Web-Adrese/@href"/>
</xsl:attribute>
<xsl: value-of select="Web-Adresse"/>
</a>
geht das so auch?
mfg
Hallo Martin,
<A HREF=<xsl:apply-templates select="linkout" />>
Du kannst aber schreiben
<a href="{linkout}">Linktext</a>
In den geschweifen Klammern dürfen beliebige XPath-Ausdrücke stehen, die einen String erhalten. Auch Variablen gehen.
Groß- und Kleinschreibung sind natürlich, wie in allen xml-Varianten zu beachten. Möchtest Du xhtml ausgeben, _muss_ Elementname und Attribut kleingeschrieben werden.
Gruß
Olaf
Du kannst aber schreiben
<a href="{linkout}">Linktext</a>
In den geschweifen Klammern dürfen beliebige XPath-Ausdrücke stehen, die einen String erhalten. Auch Variablen gehen.
Danke! Ist ja einfacher als ich dachte.
Aber eine Lösung nur mit CSS und HTML gibt es nicht, oder?
Es muss XSL verwendet werden?
Hallo Martin,
Aber eine Lösung nur mit CSS und HTML gibt es nicht, oder?
Es muss XSL verwendet werden?
ich verstehe nicht, was Du meinst. Wenn Du einfach
<a href="http://www.example.org">Mein Link</a>
schreibst, hast Du doch schon html (bis jetzt ohne css).
Weshalb scheidet diese Lösung aus?
Gruß
Olaf