2011-10-28 91 views
2

XML模式定義如下,並假設我必須得到sal dept =「lab」和id =「001」。爲什麼建議避免xml屬性,並使用元素

<start> 
    <emp> 
     <dept>lab</dept>      
     <id>001</id>       
     <sex>male</sex>     
     <sal>5k</sal>       
    </emp>           
</start> 

另一種方式,

<start>          
    <emp dept="lab">           
     <id sr="001">       
      <sex>male</sex>     
      <sal>5k</sal> 
     </id>      
    </emp>           
</start> 

我認爲第二種方式是更好的解析,但最好是避免屬性,爲什麼呢?你說什麼?

+0

這是哪裏最好? – abatishchev

+0

沒有任何標準規則,但我只是在網上搜索,發現大多數人建議使用元素。 – user1010399

+0

這是一個可能的重複:http://stackoverflow.com/questions/33746/xml-attribute-vs-xml-element – 2013-05-16 01:30:33

回答

0

有些人不喜歡屬性。他們非常聰明地說,並且你在網上發現了他們的評論。

如果您不同意,請隨時忽略這些人並使用屬性。 (如果它的事項,你總是可以推斷,SGML和XML的設計者同意你,而不是那些誰不喜歡的屬性。)

0

主要有3個原因,以避免屬性:

  1. 屬性不能包含多個值,但子元素可以有多個值。
  2. 屬性不能包含樹結構,但子元素可以。
  3. 屬性不容易擴展。如果將來要更改屬性的值,可能會很複雜。
  4. 屬性不能描述結構,但子元素可以。
  5. 屬性更難以被程序代碼操縱。
  6. 屬性值不容易針對DTD進行測試,DTD用於定義XML文檔的合法元素。

這就是爲什麼它被勸走前的元素屬性不...

相關問題