Hallo Thomas,
vielen Dank für deinen Denkansatz. Ich habe das Problem nun ein wenig anders gelöst, da ich noch sehr viel Code drumherum habe und nicht so einfach mit xsl:copy-of
arbeiten konnte.
Ich filtere zunächst nach "Geltungsbereich" im ersten w:r
(was bisher von Word noch nie zerschossen wurde), schreibe dann w:p
komplett neu und füge, je nach Inhalt des w:r
(es gibt noch mehr) meine Variablen ein. Sehr komplex, aber leider dank WordML nicht anders lösbar...
<xsl:template match="//w:p[contains(.//w:r,'Geltungsbereich') or contains(.//w:r,'Scope') or contains(.//w:r,'Vertraulichkeitsklasse') or contains(.//w:r,'Confidentiality Class')]">
<xsl:variable name="descr" select=".//w:r"/>
<w:p>
<!--Hier stehen weitere xsl:attribute und Word-Formatierungstags-->
<w:r>
<!--Hier kommen nochmal viele xsl:attribute und Word-Formatierungstags-->
<xsl:choose>
<xsl:when test="contains($descr,'Geltungsbereich') or contains($descr,'Scope')">
<xsl:value-of select="$istrings/text[@name='scope']/* [local-name () = $lang]"/>
</xsl:when>
<xsl:when test="contains($descr,'Vertraulichkeitsklasse') or contains($descr,'Confidentiality Class')">
<xsl:value-of select="$istrings/text[@name='confidentiality']/* [local-name () = $lang]"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>FEHLER</xsl:text>
</xsl:otherwise>
</xsl:choose>
</w:r>
</w:p>
</xsl:template>
Trotzdem danke für deinen Denkanstoß 😉 Viele Grüße Janine