1

私はこのような XML 構造を持っています。有効な XML 構造に HTML タグが混在しているだけです。セクションで一致<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>タグが剥がれている様子は見られません。

4

1 に答える 1

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']"/>
于 2012-08-09T12:33:18.460 に答える