Hallo!
Ich bin absoluter Neueinsteiger bei XSLT und würde gerne wissen wie ich aus einer XML Datei per XSLT Transformation eine Tabelle bekomme, die immer nach 3 Einträgen eine neue Zeile hat.
XML Datei:
Die XML hat zwischen 10 und 18 member Einträge
XSLT Datei:
Es sollen nun immer 3 Mitglieder in einer Tabellenzeile dargestellt werden. Also voher <tr> nach 3 Mitgliedern </tr>. Wie kann ich das in die Transformation einbauen?
Versucht habe ich folgendes:
Jedoch kann es dann auf Grund des geöffneten/geschlossenen Tags nicht mehr ausgeführt werden.
Hat jemand wohl eine Lösung für mich?
Gruß John
Ich bin absoluter Neueinsteiger bei XSLT und würde gerne wissen wie ich aus einer XML Datei per XSLT Transformation eine Tabelle bekomme, die immer nach 3 Einträgen eine neue Zeile hat.
XML Datei:
Code:
<?xml version="1.0" encoding="utf-8" ?> <space:resource xmlns:space="http://schemas.foo.com/" version="1.0"> <member> <name>Scott Smith</name> <office>President</office> </member> <member> <name>Scott Smith</name> <office>President</office> </member> <member> <name>Scott Smith</name> <office>President</office> </member> </space:resource>
XSLT Datei:
Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:space="http://schemas.foo.com/"> <xsl:output method="html" encoding="utf-8"/> <!-- Max Members: 18 --> <xsl:template match="/"> <h2>Mitglider</h2> <p> Ein kleiner einführender Text. </p> <table summary="Mitgliederliste"><tbody> <xsl:for-each select="space:resource/member"> <td> <xsl:value-of select="name"/> </td> </xsl:for-each> </tbody></table> </xsl:template> </xsl:stylesheet>
Versucht habe ich folgendes:
Code:
// Im For-Each Konstrukt des XSLT <xsl:if test="position() mod 3 = 0"><tr></xsl:if> <td><xsl:value-of select="name"/></td> <xsl:if test="position() > 0 and position() mod 3 = 0"></tr></xsl:if>
Hat jemand wohl eine Lösung für mich?
Gruß John
Comment