ThomasM: Template Match über mehrere Tags

Beitrag lesen

Hallo Janine,

Vielleicht könnte man auch nach <xsl:template match="//w:p[contains(.//w:r,'Geltungsbereich:')]"> suchen und das gesamte w:p ersetzen, erscheint mir aber etwas umständlich. Gibt es dafür nicht eine smartere Lösung?

Ist etwas schwierig zu interpretieren, ohne die Codebasis drumherum zu kennen. Mal ein Denkansatz:

<xsl:template match="//w:p[w:r[1][contains(., 'Geltungsbereich:')]]">

  <xsl:variable name="check">
    <xsl:copy-of select="w:r[position() > 1]/text()"/>
    <!-- hier entsteht in allen genannten Fällen [validity] -->
  </xsl:variable>

  <xsl:if test="$check = '[validity]'">
    <w:p>mach was …</w:p>
  </xsl:if>

</xsl:template>

Falls im w:p weitere als die genannten w:r folgen, passt der zusammenkopierte Vergleich schon nicht mehr. Dann sind weitere einschränkende Abfragen nötig.

Grüße,
Thomas