【发布时间】:2014-11-04 15:53:24
【问题描述】:
这可能是个棘手的问题。
我有这份文件:
<html>
<h1>title1</h1>
<p>content</p>
<ul>
<li>item</li>
</ul>
<h1>title2</h1>
<p>content</p>
<p>another content</p>
<h1>title3</h1>
<ol>
<li><p>text</p></li>
</ol>
</html>
这个例子表明我有一些 html,其中“部分”被标题划分。它是标题,然后是各种元素的组合,然后又是标题。
我希望使用 XSLT 2 用 div 包装这些部分。
所以,我想使用<h1> 标题来选择组。基本上分组规则是:
- 选择
h1和他的所有兄弟姐妹,直到出现另一个h1。
“和” 上的这种强调非常重要,因为我想出了 XPath 公式,它仅在 h1 节点之间选择节点,或者从第一个到最后一个 h1 选择忽略 h1它们之间。我也需要得到那个标题。我认为使用 XPath 实现这一点并不难,但我无法让它发挥作用。
为了更好地理解,它应该是这样的:
<html>
<div>
<h1>title1</h1>
<p>content</p>
<ul>
<li>item</li>
</ul>
</div>
<div>
<h1>title2</h1>
<p>content</p>
<p>another content</p>
</div>
<div>
<h1>title3</h1>
<ol>
<li><p>text</p></li>
</ol>
</div>
</html>
【问题讨论】:
标签: xslt xpath xslt-2.0 xpath-2.0 xslt-grouping