xslt匹配和剥离

时间:2012-08-09 11:00:12

标签: xslt

我有这样的XML结构,只是一些与HTML标签混合的有效XML结构。我正在尝试匹配该部分中的<p>MyHeader</p>并将其设置为空。

那是在这个结构上运行XSLT之后,我不想打印<p>MyHeader</p>标签。

<abstract>
<section>
<p>MyHeader</p>

<p> other content in section </p>
<h1> other content in section </h1>

</section>
</abstract>

这是我在XSL中尝试的内容

<xsl:template match="abstract/section/p">
        <xsl:choose>
            <xsl:when test="text() ='MyHeader'"></xsl:when>
            <xsl:otherwise><xsl:apply-templates /></xsl:otherwise>
        </xsl:choose>
</xsl:template>

关于我的代码上面有什么问题的任何想法?我没有看到<p>MyHeader</p>标签被剥离。

1 个答案:

答案 0 :(得分:0)

<xsl:template match="abstract/section/p">
        <xsl:choose>
            <xsl:when test="text() ='MyHeader'"></xsl:when>
            <xsl:otherwise><xsl:apply-templates /></xsl:otherwise>
        </xsl:choose>
</xsl:template>

 what's wrong with my code

显示的代码没有错 - 问题出在你没有向我们展示的代码中。

<强>猜测

  • 未选择执行模板。
  • 明确<xsl:copy-of>选择此p元素。

建议:只需使用

<xsl:template match="abstract/section/p[.='MyHeader']"/>