2012-04-24 157 views
1

我想知道是否有一個訂單定義了哪些屬性和名稱空間定義可以在XML標籤元素中發生。讓我們假設以下元素:訂購屬性/命名空間

<tag attr1="a1" attr2="a2" xmlns="ThisIsTheNameSpace">value</tag> 

所以現在的問題是:必須是以後的xmlns屬性或之前或不會有關係。

<tag xmlns="ThisIsTheNameSpace" attr1="a1" attr2="a2">value</tag> 

,或者可以說,它是這樣的任何地方:

<tag attr1="a1" xmlns="ThisIsTheNameSpace" attr2="a2">value</tag> 

有什麼樣的定義?

回答

2

根據可擴展標記語言(XML)1.0(第五版)的第3.1節,否,順序無關緊要。

Note that the order of attribute specifications in a start-tag or empty-element 
tag is not significant. 

http://www.w3.org/TR/REC-xml/#sec-starttags

+0

嗯。可能我誤解了一件事,但在這個http://www.w3.org/TR/REC-xml-names/#ns-它提到xmlns必須是第一個? – khmarbaise 2012-04-24 10:12:16

+0

我在該文章中看不到任何對該屬性順序的引用。它引用一個名稱空間前綴必須位於開始標記或祖先標記中,但這就是我所看到的可能與此有關的所有內容。這不是對屬性順序的引用。 – 2012-04-24 10:42:39

+1

Outch你是對的。我忽略了語法定義了邏輯或NSAttName和QName之間的等等,所以沒有定義順序。你是對的。謝謝。 – khmarbaise 2012-04-24 10:45:09