【发布时间】:2015-03-01 05:10:57
【问题描述】:
我需要通过将相关元素分组到新的组元素下,将下面的 sn-p 更改为层次结构。 XSLT 听起来像是在这里使用的合适技术,但我对它的了解还不够,无法评估它是否能够满足我的需求。一个示例分组标准是“1个'd'节点后跟一些'3'节点,然后是1个'f'节点”。我必须针对几个单独的条件执行此任务,所以我想知道在 XSLT 中是否可以进行这种性质的查询,或者我是否会更好地放弃并以程序方式处理 DOM。我也对其他策略完全开放。对于一个具体的例子,我需要转换这个-
<root>
<a>foo</a>
<b>bar</b>
<c>baz</c>
<d>location</d>
<e>3.14</e>
<e>6.02</e>
<e>1.23</e>
<f>2015</f>
<d>location</d>
<e>3.14</e>
<e>6.02</e>
<f>2015</f>
</root>
进入这个-
<root>
<a>foo</a>
<b>bar</b>
<c>baz</c>
<sample>
<d>location</d>
<e>3.14</e>
<e>6.02</e>
<e>1.23</e>
<f>2015</f>
</sample>
<sample>
<d>location</d>
<e>3.14</e>
<e>6.02</e>
<f>2015</f>
</sample>
</root>
【问题讨论】:
-
输入 XML 在
d之后是否可以有超过 3 个(或更少,或没有)e元素?f元素的相同问题,是否有更多或没有。你想怎么处理?请提及您正在使用的 XSLT 版本? 1.0 还是 2.0? -
任何分组问题的解决方案都将取决于您使用的是 1.0 还是 2.0。你需要说。
标签: xml xslt xslt-grouping