Я хотел бы применить шаблон XSL к части XML и скопировать оставшуюся неизмененную в результате XML.
В настоящее время я делаю то, что работает.
<xsl:template match="yt:bold">
<xsl:choose>
<xsl:when test="ancestor::ReportContent"> //I keep the ReportContent unchanged
<xsl:copy><xsl:copy-of select="@*"/>
<xsl:apply-templates />
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<b>
<xsl:apply-templates />
</b>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Но я делаю это для каждого шаблона ... и я уверен, что есть более элегантный способ сделать это.
Я попытался скопировать часть XML, используя этот шаблон:
<xsl:template match="ReportContent">
<xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates select="???" /></xsl:copy>
</xsl:template>
Но я применяю все остальные шаблоны при копировании ... и я не хочу этого.
Так есть ли более элегантный способ сделать то, что я хочу сделать?
Заранее спасибо.