我有,我想已經整理這些ID值:如何對包含數字但有時也包含字母的XML條目進行排序?
<rule id="1.1">
</rule>
<rule id="1.2">
</rule>
<rule id="1.3">
</rule>
<rule id="Id. 4.3">
</rule>
<rule id="Id. 4.9">
</rule>
<rule id="Id. 4.10">
</rule>
<rule id="Id. 4.11">
</rule>
<rule id="Id. 4.12">
</rule>
目前,我想有點像這樣。這適用於只有數字的id值,但不適用於也有字母的值。
<xsl:sort select="substring-before(@id, '.')" data-type="number"/>
<xsl:sort select="substring-after(@id, '.')" data-type="number"/>
它目前給我的順序是:
Id. 4.10
Id. 4.11
Id. 4.12
Id. 4.3
Id. 4.9
1.1
1.2
1.3
我哪有這麼順序排序的:
Id. 4.3
Id. 4.9
Id. 4.10
Id. 4.11
Id. 4.12
1.1
1.2
1.3
請解釋所需排序的邏輯(例如,爲什麼「Id。」出現在空字符串之前)。同時說明如果使用XSLT 1.0或2.0。 –
我無法控制id的命名約定。例如,該值僅作爲「Id。4.3」給出,因此我需要弄清楚如何對其進行分類。我目前的邏輯爲排序id值只有數字(1.1,1.2,1.3)。我不知道如何在添加「ID」時對其進行排序。我正在使用XSLT 2.0 – albinosilver
這不能回答我的問題。如果你只想按數字排序,那麼「1.3」應該在「4.3」之前。我們需要一些規則,而不僅僅是一個例子。 –