因此,假設我有這樣的,在一些節點有一個名爲「的ID號」部分有一個叫「SERIALNUMBER」的元素和一些數據:XSL按多個屬性排序?
<data>
<product>
<name> Chair </name>
<idNumber> 12 </idNumber>
</product>
<product>
<name> Table </name>
<idNumber> 16 </idNumber>
</product>
<product>
<name> Lamp </name>
<serialNumber> 13 </serialNumber>
</product>
<product>
<name> Fan </name>
<idNumber> 10 </idNumber>
</product>
<product>
<name> Desk </name>
<serialNumber> 15 </serialNumber>
</product>
</data>
我需要他們的數量對它們進行排序,無論是是idNumber或serialNumber;因此結果將是:
範 - 10
椅 - 12
燈-13
臺-15
表 - 16
我嘗試使用:
<xsl:sort select="idNumber"/>
<xsl:sort select="serialNumber"/>
然而,這不起作用,因爲它會嘗試按第一個排序,即使它沒有該元素。我需要一種排序方式,既考慮到了問題,又選擇了正確的方法並正確地對它們進行了排序。這甚至有可能嗎?
謝謝。發現我的問題與我原先想象的有點不同。基本上每個節點都有「idNumber」和「serialNumber」,但有時一個是空的(空白)。理想情況下,我可以說,「如果idNumber不是按idNumber排序,ELSE按serialNumber排序」。希望這是有道理的。無論如何,似乎你不能使用條件,所以我不知道該怎麼做。 – Arcturus
@Arcturus,你可以提供一個例子,當這個'xsl:sort'產生不需要的結果嗎? –
是的問題是「 」是,如果「idNumber」是空白的,而不是使用「serialNumber」,它只是將該項目放在列表的開頭,因爲空白位於其他位置之前。 –
Arcturus