我正在尝试找到一种方法来将此转换重新工作到我不必ancestor::
在 Xpath 中使用轴的位置:
<xsl:template match="p[ancestor::p]">
<xsl:apply-templates select="node() except ppr" />
</xsl:template>
来源示例:
<root>
<p>
<p/>
<section>
<p/>
</section>
<ppr/>
<content/>
<p/>
<picture/>
</p>
</root>
期望的输出:
<root>
<p>
<section>
</section>
<ppr/>
<content/>
<picture/>
</p>
</root>
我不能使用显式 Xpath 或定位来抓取这些<p>
元素,因为它们的位置是随机的,并且在我的原始源文档中没有模式。
我试图不使用的原因ancestor::
是因为我使用的 XSLT 处理器需要 30-50 秒来评估 Xpath 表达式。我不希望这个问题是关于我正在使用哪个 XSLT 处理器或我的设置的其他实现,而是关注手头的问题:有什么方法可以不在ancestor::
我的上述转换中使用吗?
提前致谢。