我正在查看Muenchian分组。我试图找到类似于我的XML的例子,但找不到任何。大部分的例子结构合理,而我的混乱。XSLT 1.0分组密钥用于不同的节点和元素
下面是我的XML的简短版本(注意,我无法更改XML结构,因为它是标准的东西,而且不在我的手中),并且我使用的是XSLT 1,因为系统现在只支持该版本。
<object>
<creator id="123">
<name>ABC</name>
<city>Hamilton</city>
</creator>
<creator><references>456</references></creator>
<contact><references>123</references></contact>
<creator id="456">
<name>XYZ</name>
<city>New York</city>
</creator>
<associatedParty><references>123</references>
<role>Sponsor</role>
</associatedParty>
</object>
,我希望的输出是:
<party id="123">
<name>ABC</name>
<city>Hamilton</city>
<role>Creator</role>
<role>Contact</role>
<role>Sponsor</role>
</party>
<party id="456">
<name>XYZ</name>
<city>New York</city>
<role>Creator</role>
<role>Contact</role>
</party>
现在id属性被用作参考元件的值。并且输出中的标记可以是创建者,联系人或元素内的任何元素(如果它位于associatedParty元素下)。
我一直在创建密钥以将它们从它们的id/references属性中分组。据我所见,使用xsl:key的例子仅适用于具有相同名称的节点,并且我发布的示例具有不同的节点名称。任何帮助,将不胜感激!!!!
问得好,+1。查看我的答案获得完整的解决方案。 –