![]() |
[XML] for-each Schleife
Ich habe folgende Schleife:
XML-Code:
Wäre es möglich diese so umzubauen, dass nicht nach jedem Eintrag ein Zeilenumbruch erfolgt, sondern nur nach jedem fünften oder so?
<xsl:for-each select="Kontakt">
<xsl:sort select="concat(Name, Vorname)"/> <!-- für den Fall, dass es mehrere identische Namen gibt wird noch die aktuelle Position in die Sprungmarke eingefügt --> <a href="#{Vorname}_{Name}:{position()}"> <xsl:value-of select="Name"/>*<xsl:value-of select="Vorname"/></a>**<xsl:value-of select="Firma"/> </xsl:for-each> |
Re: [XML] for-each Schleife
Hi Luckie,
Zitat:
Gruß |
Re: [XML] for-each Schleife
Zitat:
XML-Code:
@Luckie: Die Überschrift sollte aber [XSL] und nicht [XML] enthalten ;)
<xsl:if test="position() mod 5 = 0">
<hr /> </xsl:if> ...:cat:... |
Re: [XML] for-each Schleife
Zitat:
statt <hr />. Aber du hast natürlich vollkommen recht. Thank God it's friday... ;) (Auf dem Nachhauseweg ist mir der Fehler auch eingefallen...) Gruß |
Re: [XML] for-each Schleife
Perfekt. Nur warum werden die Attribute für <td> nicht berücksichtigt:
XML-Code:
Und noch was:
<table>
<xsl:for-each select="Kontakt"> <xsl:sort select="concat(Name, Vorname)"/> <!-- für den Fall, dass es mehrere identische Namen gibt wird noch die aktuelle Position in die Sprungmarke eingefügt --> <td> <xsl:attribute name="border-width">1px</xsl:attribute> <xsl:attribute name="border-style">solid</xsl:attribute> <a href="#{Vorname}_{Name}:{position()}"> <xsl:value-of select="Name"/> <xsl:value-of select="Vorname"/></a> <xsl:value-of select="Firma"/></td> <xsl:if test="position() mod 5 = 0"> <tr /> </xsl:if> </xsl:for-each> </table>
XML-Code:
Wie kann ich das gleiche hier erreichen? Kontakt sieht so aus:
<xsl:apply-templates select="Kontakt">
<xsl:sort select="concat(Name, Vorname)"/> </xsl:apply-templates>
XML-Code:
<xsl:template match="Kontakt">
<dl> <dt> <a name="{Vorname}_{Name}:{position()}" id="{Vorname}_{Name}:{position()}"> [b]<xsl:value-of select="Name"/>*<xsl:value-of select="Vorname"/>**<xsl:value-of select="Firma"/>[/b] </a> </p></dt> <dd> <xsl:value-of select="Strasse"/> <xsl:value-of select="PLZ"/> <xsl:value-of select="Ort"/> <xsl:if test="Land!=''"><xsl:value-of select="Land"/> </xsl:if> <xsl:if test="GebDat!=''">Geburtsdatum: <xsl:value-of select="GebDat"/> </xsl:if> <xsl:if test="Telefon1!=''">Tel. <xsl:value-of select="Telefon1"/> </xsl:if> <xsl:if test="Telefon2!=''">Tel. <xsl:value-of select="Telefon2"/> </xsl:if> <xsl:if test="Fax!=''">Fax: <xsl:value-of select="Fax"/> </xsl:if> <xsl:if test="EMail1!=''"> [email="{EMail1}"]<xsl:value-of select="EMail1"/>[/email] </xsl:if> <xsl:if test="EMail2!=''"> [email="{EMail2}"]<xsl:value-of select="EMail2"/>[/email] </xsl:if> <xsl:if test="URL!=''"> [url="{URL}"]<xsl:value-of select="URL"/>[/url] </xsl:if> </p></dd> </dl> <xsl:if test="position()!=last()"> </p> </xsl:if> </xsl:template> |
Re: [XML] for-each Schleife
Hallo Michael,
wenn du mit <xsl:element name="td"> arbeitest, dann wird es funktionieren. Grüße vom marabu |
Re: [XML] for-each Schleife
Zitat:
Probier mal folgendes:
XML-Code:
ungetestet.
<xsl:attribute name="style">border:1px solid black;</xsl:attribute>
Gruß |
Re: [XML] for-each Schleife
Geht. Nur bei der Tabelle ignoriert er das collapse:
XML-Code:
<table>
<xsl:attribute name="style">border:1px solid black collapse;</xsl:attribute> |
Re: [XML] for-each Schleife
Zitat:
hat denn <xsl:element> bei <xsl:output method="HTML" /> überhaupt eine Wirkung? Ich dachte bis jetzt immer, <xsl:element> sei ausschließlich für die Transformation nach XML vorbehalten...? Gruß |
Re: [XML] for-each Schleife
Zitat:
Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz