我有一個樣本Xml,如下所示。這有兩個名爲「Param」和「Dimension」的根元素。與兩組節點的區別 - XSLT
Param元素也有一個名爲「Dimension」的子節點,它包含一些名爲「Member」的元素。這有兩個屬性id和名稱。
<Root>
<Param>
<Pattern id="P1" name="Pattern1">
<Dimension name="Dim1">
<Member id= "1" name="Member1" />
<Member id= "4" name="Member4" />
<Member id= "5" name="Member5" />
<Member id= "6" name="Member6" />
<Member id= "7" name="Member7" />
<Member id= "9" name="Member9" />
<Member id= "10" name="Member10" />
<Member id= "11" name="Member11" />
<Member id= "12" name="Member12" />
<Member id= "13" name="Member13" />
<Member id= "16" name="Member16" />
<Member id= "17" name="Member17" />
<Member id= "18" name="Member18" />
<Member id= "19" name="Member19" />
</Dimension>
</Pattern>
<Pattern id="P2" name="Pattern2">
<Dimension name="Dim1">
<Member id= "1" name="Member1" />
<Member id= "2" name="Member2" />
<Member id= "3" name="Member3" />
<Member id= "4" name="Member4" />
<Member id= "5" name="Member5" />
<Member id= "6" name="Member6" />
<Member id= "8" name="Member8" />
<Member id= "11" name="Member11" />
<Member id= "12" name="Member12" />
<Member id= "13" name="Member13" />
<Member id= "14" name="Member14" />
<Member id= "15" name="Member15" />
<Member id= "16" name="Member16" />
<Member id= "17" name="Member17" />
</Dimension>
</Pattern>
</Param>
<Dimension name="Dim1">
<Member id= "1" name="Member1" >
<Member id= "2" name="Member2" >
<Member id= "3" name="Member3" />
<Member id= "4" name="Member4" />
<Member id= "5" name="Member5" />
<Member id= "6" name="Member6" />
<Member id= "7" name="Member7" />
</Member>
<Member id= "8" name="Member8" >
<Member id= "9" name="Member9" />
<Member id= "10" name="Member10" />
<Member id= "11" name="Member11" />
</Member>
<Member id= "12" name="Member12" >
<Member id= "13" name="Member13" />
<Member id= "14" name="Member14" />
<Member id= "15" name="Member15" />
<Member id= "16" name="Member16" />
<Member id= "17" name="Member17" />
<Member id= "18" name="Member18" />
<Member id= "19" name="Member19" />
<Member id= "20" name="Member20" />
</Member>
</Member>
</Dimension>
</Root>
來自Pattern/Dimension/Member的成員必須與根Dimension元素進行比較,並且在輸出中需要像下面那樣的區別。
<Root>
<Pattern id="P1" name="Pattern1">
<Dimension name="Dim1">
<Member id= "2" name="Member2" />
<Member id= "3" name="Member3" />
<Member id= "8" name="Member8" />
<Member id= "14" name="Member14" />
<Member id= "15" name="Member15" />
<Member id= "20" name="Member20" />
</Dimension>
</Pattern>
<Pattern id="P2" name="Pattern2">
<Dimension name="Dim1">
<Member id= "7" name="Member7" />
<Member id= "9" name="Member9" />
<Member id= "10" name="Member10" />
<Member id= "18" name="Member18" />
<Member id= "19" name="Member19" />
<Member id= "20" name="Member20" />
</Dimension>
</Pattern>
</Root>
用於型式1,
相比/根/尺寸//成員,下面的區別在樣品例如發現
Member2 Member3 Member8 Member14 Member15 部件20
相同不同模式的邏輯。是否可以通過XSLT 1.0來實現?任何人都可以幫助這一點。
在此先感謝。
感謝蒂姆,它的工作。再次感謝大家 –
嗨添,從上面的一個更多的幫助。你能解釋我如何從上面的答案只獲得父節點。就像在輸出中一樣,需要跳過成員3,因爲它是成員2'代碼'的子成員 'code' –
這可能是最好的,你問一個全新的單獨的問題,因爲它很難在評論中閱讀代碼。謝謝 –