Richtiges match= gesucht!
Florian Reichert
- xsl
0 Cheatah0 Thomas J.S.
Hallo Ich habe folgende xml Quelle:
<HTMLTextSection Title="Test1">
<HTMLLink Title="Linux" URL="linux.shtml"></HTMLLink>
<HTMLLink Title="Windows XP Home oder Professional" URL="http://www.microsoft.de"></HTMLLink><HTMLTextSection>
<HTMLTextSection ......
(Wobei das Eltern Element auch HTMLPage heißen kann.)
Ich möchte nun folgenden html output erreichen:
<div class="links">
<div><a href="linux.shtml">Linux</a></div>
<div><a href="http://www.microsoft.de">Windows</a></div>
</div>
---------------------------------------------------------------------
<xsl:template match="HTMLLink" name="HTMLLink">
<div class="links">
<div>
<a href="{@URL}">
<xsl:value-of select="@Title"/>
</a>
</div>
</div>
</xsl:template>
Das bearbeitet zwar alle Links, legt aber für jeden einzelnen Link einen div Container der Klasse links an.
Ich denke ich muß mit einer for each schleife alle <HTMLink> Elemnte abbarbeiten. Aber ich weiß nicht, was ich dan match zuweisen soll. lasse ich match="HTMLLink" bekomme ich gar keine Ausgabe:
<xsl:template match="HTMLLink" name="HTMLLink">
<xsl:if test="HTMLLink">
<div class="link">
<xsl:for-each select="HTMLLink">
<div>
<a href="{@URL}">
<xsl:value-of select="@Title"/>
</a>
</div>
</xsl:for-each>
</div>
</xsl:if>
</xsl:template>
Was muß ich denn da richtiger Weiße setzen, damit nicht für jedes einzelne HTMLLink Element das Template einzeln abgearbeitet wird?
Vielen Dank für Eure Hilfe!
Florian
Hi,
<xsl:template match="HTMLLink" name="HTMLLink">
<div class="links">
[...]
</div>
</xsl:template>Das bearbeitet zwar alle Links, legt aber für jeden einzelnen Link einen div Container der Klasse links an.
dann schreibe diesen _außerhalb_ des Aufrufs Deines Templates. Ganz einfach.
Ich denke ich muß mit einer for each schleife alle <HTMLink> Elemnte abbarbeiten.
Nö.
Cheatah
Hallo,
Ich möchte nun folgenden html output erreichen:
<xsl:template match="/">
<html><title></title><body>
<div class="links">
<-- richtigen Pfad beim select="" eintragen -->
<xsl:apply-templates select="HTMLTextSection/HTMLLink" />
</div>
</body></html>
</xsl:template>
<xsl:template match="HTMLLink">
<div>
<a href="{@URL}">
<xsl:value-of select="@Title"/>
</a>
</div>
</xsl:template>
Grüße
Thomas