匹配具有特定属性且其父具有相同属性的任何节点?

时间:2012-11-06 16:55:57

标签: xml xpath xsl-fo

过了一会儿,我问了一个问题here关于匹配级别“文件”的子级,该子级具有级别为“file”的父级。解决方案如下:

 <xsl:template match="*[@level='file' ]/*[@level='file']"> 

这当时有效,但我现在意识到我需要超越第二级别。所以除了匹配这个:

 <c01 level="file">
   <c02 level="file"></c02>
 </c01>

我还需要匹配以下内容:

<c01 level="file">
  <c02 level="file">
     <c03 level="file"></c03>
  </c02>
</c01>

简而言之,有没有办法匹配级别“文件”文档中的任何节点,无论深度如何都具有级别“文件”的直接父级?我需要这个来指定xsl-fo文档中的缩进。我真的只需要我的样式表继续让孩子比父母更进一步缩进。

我希望这有点意义。谢谢!

1 个答案:

答案 0 :(得分:1)

//*[@level="file" and ../*[@level="file"]]

此XPath表达式匹配任何具有level="file"的节点,其父节点也具有level="file"。这是你需要的吗?