|
|
1
18
根据您提供的原始XML,我认为按AreaID分组就足够了,但事实证明,还需要按UnitID进行第二次分组。 这是我修改后的XSLT 1.0解决方案。它并不比最初的解决方案复杂多少:
由于您的XML缺少它,我在组中添加了一个UnitID:
输出如下:
访问数据结构的函数被调用
是(在JavaScript中)的逻辑等价物:
返回与给定键字符串匹配的所有节点的数组(更准确地说是节点集)(键始终是字符串)。此节点集可以像XSLT中的任何其他节点集一样使用,即像您通过“传统”XPath检索的节点集一样。这意味着您可以对其应用条件(谓词):
等等。这也意味着我们可以将其用作“选择”表达式
表达式完成后,只选择那些具有给定“AreaID,UnitID”组合的第一个节点——实际上,我们已经将它们分组到了它们的“AreaID”,UnitID组合上。
我希望使用JavaScript来解释这个概念是一个有帮助的想法。 |
|
2
1
我认为你不需要使用 kUnitID 钥匙在所有。请替换以下行。..
在这个循环中,为您 代码,然后您可以简单地循环这些部分
|
|
|
3
1
好吧,我暂时放弃了钥匙和Muenchian分组。我几乎不理解它,而且不断地破解它并没有产生预期的结果。我理解递归,所以我采用了这种递归方法来产生所需的输出。我发现它在 http://www.biglist.com/lists/xsl-list/archives/200412/msg00865.html 作品 对我来说,2)对于我目前的问题,输入集非常小,不超过十几个底层Part节点。
|
|
|
4
0
|
|
|
J_Cus504 · 在单匹配语句中使用身份变换和多谓词来沉默节点 1 年前 |
|
|
Daniel · 合并插入文本的直接兄弟元素 1 年前 |
|
JTennessen · Saxon XSLT输出中的额外换行符 1 年前 |
|
|
Velsus · XSLT尝试使用xsl:if排除某些记录,但不起作用 1 年前 |
|
|
Reto · XSLT 3.0突发流-如何存储/获取另一个分支的值 1 年前 |
|
|
badbee · 使用xsl:sort时保留未排序元素的问题 1 年前 |
|
|
Tronics · 尝试读取xml元素中的数据 2 年前 |
|
Abhishek Nayak · xslt仅对所选节点进行排序 2 年前 |