鉴于XML
<blockquote>
<attribution>foo</attribution>
<para>bar</para>
</blockquote>
Run Code Online (Sandbox Code Playgroud)
我有XSL模板
<xsl:template match="dbk:blockquote">
<blockquote>
<xsl:apply-templates select="*[not(dbk:attribution)]" />
<xsl:apply-templates select="dbk:attribution" />
</blockquote>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
第一个apply-templates应该选择dbk:blockquote不属于类型的所有子元素dbk:attribution.(这是将归因移到底部的必要条件.)
但是,它实际上匹配每个节点.为什么?
您想要使用self轴:
<xsl:apply-templates select="*[not(self::dbk:attribution)]" />
Run Code Online (Sandbox Code Playgroud)
这将选择本身不是dbk:attribution元素的子元素.你的版本选择不子元素包含一个dbk:attribution孩子.
| 归档时间: |
|
| 查看次数: |
3565 次 |
| 最近记录: |