У меня есть некоторый HTML, который выглядит так:
<div>
<p><span class="selected-for-presentation">This is a <u><em><strong>very cool</strong></em></u> sentence...</span></p>
<p>This is a <u><em><strong><span class="selected-for-presentation">very</span> cool</strong></em></u> sentence...</p>
</div>
и я пытаюсь написать XSLT, который копирует полное содержание абзацев, опуская теги <span>
, но не их содержимое. Поэтому результат должен выглядеть примерно так:
<div>
<p>This is a <u><em><strong>very cool</strong></em></u> sentence...</p>
<p>This is a <u><em><strong>very cool</strong></em></u> sentence...</p>
</div>
Это мой XSLT, который работает для первого абзаца, но не для второго:
<xsl:template match="p">
<p>
<xsl:apply-templates mode="copy_span_content"/>
</p>
</xsl:template>
<xsl:template match="strong" mode="copy_span_content">
<xsl:apply-templates mode="copy_span_content"/>
</xsl:template>
<xsl:template match="em" mode="copy_span_content">
<xsl:apply-templates mode="copy_span_content"/>
</xsl:template>
<xsl:template match="u" mode="copy_span_content">
<xsl:apply-templates mode="copy_span_content"/>
</xsl:template>
<xsl:template match="span" mode="copy_span_content">
<xsl:copy-of select="./node()"/>
</xsl:template>
Любая помощь будет оценена.