Hallo,
» Meine xsl-Versuche diesbezüglich habe ich Dir auch noch dazu kopiert (bisher leider fehlerhaft). Die Ausgabe soll lediglich die Elemente entsprechend ihren Bezeichnungen im xml-file (müsste eigentlich selbsterklärend sein) in einer Tabelle darstellen. Bei fester Anzahl Zeilen und Spalten würde ich dies auch ohne weiteres hinbekommen. Aber so gestaltet es sich etwas schwierig:
So schwierig ist es nicht, man braucht nicht unbedingt an was kompliziertes denken:
Grüße
Thomas
-------------------------------------------------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="ausrichtung" select="//column_format" />
<xsl:template match="/page">
<html>
<head>
<title/>
</head>
<body>
<xsl:if test="show_table = 'true'">
<xsl:apply-templates select="table"/>
</xsl:if>
</body>
</html>
</xsl:template>
<xsl:template match="table">
<table width="100%" border="1">
<caption><xsl:value-of select="../table_headline" /></caption>
<xsl:apply-templates select="tr[position() != 1]"/>
</table>
</xsl:template>
<xsl:template match="tr">
<tr>
<xsl:apply-templates select="td"/>
</tr>
</xsl:template>
<xsl:template match="td">
<xsl:variable name="pos1" select="position()" />
xsl:choose
<xsl:when test="./table_header">
<th>
<xsl:attribute name="align">
<xsl:value-of select="$ausrichtung[position() = $pos1]" />
</xsl:attribute>
<xsl:value-of select="child::node()/text()" />
</th>
</xsl:when>
xsl:otherwise
<td>
<xsl:attribute name="align">
<xsl:value-of select="$ausrichtung[position() = $pos1]" />
</xsl:attribute>
<xsl:value-of select="child::node()/text()" />
</td>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>