for-each Problem
Karlovic
- xsl
Hallo,
ich habe folgendes XML:
<listXML>
<Grp>
<Title>Italien</Title>
<Grp>
<Title>PLZ 39022</title>
<Grp>
<Block>
<Row>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
</Row>
<Row>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
</Row>
</Block>
<Block>
<Row>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
</Row>
<Row>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
</Row>
</Block>
<Block>
<Row>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
</Row>
<Row>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
<Content>Col1</Cotent>
</Row>
</Block>
</Grp>
</Grp>
</Grp>
</listXML>
Also so ein Art Groupierung.
Das zugehörige XSL schaugt folgendermaßen aus:
<xsl:for-each select="listXML/Grp">
<fo:table padding="0">
<fo:table-column column-width="proportional-column-width(100)"/>
fo:table-body
fo:table-row
<fo:table-cell padding="0" display-align="center">
fo:block
fo:inline
<xsl:value-of select="Title"/>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell padding="0" display-align="center">
fo:block
fo:inline
<xsl:for-each select="Grp">
<fo:table padding="0">
<fo:table-column column-width="proportional-column-width(100)"/>
fo:table-body
fo:table-row
<fo:table-cell padding="0" display-align="center">
fo:block
fo:inline
<xsl:value-of select="Title"/>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell padding="0" display-align="center">
fo:block
fo:inline
<fo:table padding="0">
<fo:table-column column-width="proportional-column-width(20)"/>
<fo:table-column column-width="proportional-column-width(20)"/>
<fo:table-column column-width="proportional-column-width(20)"/>
<fo:table-column column-width="proportional-column-width(20)"/>
fo:table-body
<xsl:for-each select="Grp/Block">
<!--Strich-->
<xsl:for-each select="Row">
fo:table-row
<xsl:for-each select="Col">
<fo:table-cell padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" display-align="center">
fo:block
<fo:inline font-size="{/listXML/DataFormat/FontSizeData}pt">
<xsl:value-of select="Content"/>
</fo:inline>
</fo:block>
</fo:table-cell>
</xsl:for-each>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:for-each>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:for-each>
Dann schicke ich das Ganze durch den fop-Parser und er rennt mir im Kreis.
Hallo,
ich habe folgendes XML:
Leider stimmt dein XML nicht mit deinem XSL überein, auch wenn ich die (Copy & Past?) Fehler im XML korrigiere.
Das zugehörige XSL schaugt folgendermaßen aus:
<xsl:for-each select="Col">
In deinem XML gibt es kein Col-Element.
Poste bitte ein korrektes XML- und XSL-Fragment, sonst können wir dir leider nicht helfen.
Grüße
Thomas