Hallo,
ich transformiere ein xhtml-dokument in ein anderes. Dabei soll einige Elemente mit einem Attribut erweitert werden und der Rest so übernommen werden.
Dafür habe ich ein Template für das Element geschrieben:
<xsl:template match="xf:group[@id=/xhtml:html/descendant::xs:attribute[@name='modul']/descendant::xs:enumeration/@value]">
<xf:group xf:ref="{@id}">
<xsl:apply-templates select="@*"/>
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xf:group>
</xsl:template>
Allerdings kopiert er mir das Original-Element (ohne das Attribut xf:ref) als Kindknoten mit. Genau das will ich verhindern. Er soll einfach das derzeitige Element überspringen und bei den Kindern weitermachen. Aber die Templates auch auf die Kinder ausführen. Also ein <copy-of select="*"/> ist nicht geeignet.
Um die Frage zu vereinfachen: Ich suche eine Möglichkeit ein Element aus dem Original-Dokument um ein Attribut zu erweitern und den Rest zu kopieren. Die Templates sollen aber auf die Kinder des Elements ausgeführt werden.
Ich hoffe ich habe die Frage verständlich formuliert. Vielen Dank schon mal im Voraus.
mfg,
henryf
ich transformiere ein xhtml-dokument in ein anderes. Dabei soll einige Elemente mit einem Attribut erweitert werden und der Rest so übernommen werden.
Dafür habe ich ein Template für das Element geschrieben:
<xsl:template match="xf:group[@id=/xhtml:html/descendant::xs:attribute[@name='modul']/descendant::xs:enumeration/@value]">
<xf:group xf:ref="{@id}">
<xsl:apply-templates select="@*"/>
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xf:group>
</xsl:template>
Allerdings kopiert er mir das Original-Element (ohne das Attribut xf:ref) als Kindknoten mit. Genau das will ich verhindern. Er soll einfach das derzeitige Element überspringen und bei den Kindern weitermachen. Aber die Templates auch auf die Kinder ausführen. Also ein <copy-of select="*"/> ist nicht geeignet.
Um die Frage zu vereinfachen: Ich suche eine Möglichkeit ein Element aus dem Original-Dokument um ein Attribut zu erweitern und den Rest zu kopieren. Die Templates sollen aber auf die Kinder des Elements ausgeführt werden.
Ich hoffe ich habe die Frage verständlich formuliert. Vielen Dank schon mal im Voraus.
mfg,
henryf
Comment