Hi Thomas
Mein Ansatz war eine abgewandelte Identitäts-Transformation. Wenn noch HTML im Spiel ist, wäre es hier vielleicht einfacher, das erhaltene Ergebnis weiter zu verarbeiten (nochmal zu transformieren). Ansonsten über die count()-Funktion und Vorgänger-/Nachfahren-Hierarchien probieren, überblicke ich aber beim Gezeigten nicht.
Hab leider noch nicht so viel Erfahrung mit XSLT. Das erste klingt für mich aber logischer -> nochmals zu transformieren.
Die komplette Tabelle wird in diesem Template erstellt:
<xsl:template match="table">
<table border="1" frame="border" rules="all">
<xsl:apply-templates select="./tthead"/>
<xsl:apply-templates select="./ttbody"/>
</table>
</xsl:template>
liege ich in der Annahme richtig, dass ich in dem Template überprüfen muss ob der name == table ist und dann muss das template match="table" aufgerufen werden?
<xsl:template match="//*">
<xsl:element name="{name()}">
<!-- id hinzufügen -->
<xsl:attribute name="id">
<xsl:number count="//*" format="1" level="multiple"/>
</xsl:attribute>
<xsl:apply-templates select="@* | node()"/>
<xsl:if test = 'table'>
<xsl:apply-templates select="table"/>
</xsl:if>
</xsl:element>
</xsl:template>
Oder liege ich mit dieser Annahme noch meilenweit vom richtigen Ergebnis weg.