我正在查看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。查看我的答案獲得完整的解決方案。 –