0

假设我目前有这个代码:

<p>
    <greeting>
        <a name="hello">Hello!</a>
    </greeting>
</p>
<ul>
    <p>This paragraph needs to be selected</p>
</ul>

基本上,在<a>第一部分的元素中,我需要选择<ul>下面元素的所有子元素。有没有办法在 XSLT 中做到这一点?

4

2 回答 2

1

假设您位于a元素上,那么以下两个表达式中的任何一个都可以工作

<xsl:value-of select="../../following-sibling::ul[1]/p" />

<xsl:value-of select="ancestor::p[1]/following-sibling::ul[1]/p" />

在这种情况下,第一个假设a是“孙子”,而第二个将在任何级别与a一起使用,但假设您要检查的相关“祖先”始终是 a p

于 2013-10-14T18:56:10.130 回答
0

理想情况下,您需要知道<p>and的父级<ul>。假设元素是<x>,您将使用祖先轴选择它,然后将路径附加到您想要的后代:

<xsl:copy-of select="ancestor::x/ul/*">

或者,如果这是变量,您可以使用通配符:

<xsl:copy-of select="ancestor::*[3]/ul/*">
于 2013-10-14T18:53:17.177 回答