2011-10-28 16 views
2

XMLスキーマを以下のように定義することをお勧めします。dept = "lab"とid = "001"のsalを取得しなければならないとします。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> 

なぜ、私は2番目の方法は、解析するためにはるかに良いと思いますが、属性を避けることをお勧めしますか?あなたは何を言っていますか?

+0

それが賢明でしょうか? – abatishchev

+0

標準的なルールはありませんが、私はグーグルでグーグルで調べて、ほとんどの人が要素の使用を提案しています。 – user1010399

+0

これは重複している可能性があります:http://stackoverflow.com/questions/33746/xml-attribute-vs-xml-element –

答えて

0

属性を気に入る人もいます。彼らは非常にばかばかしいと言い、Web上でその発言を見つけました。

あなたが同意しない場合は、それらの人を無視して、必要な属性を自由に使用してください。 (それが重要ならば、あなたは常にSGMLとXMLの設計者はなく、属性を嫌う人たちと、あなたと合意したことを推測することができます。)の属性を避けるために、3つの主な理由がある

0

  1. は、属性は複数の値を含むことはできませんが、子要素は複数の値を持つことができます。
  2. 属性はツリー構造を含むことはできませんが、子要素はできます。
  3. 属性を簡単に拡張することはできません。将来、属性値を変更したい場合は、複雑になる可能性があります。
  4. 属性は構造を記述できませんが、子要素は構造を記述できません。
  5. 属性は、プログラムコードによって操作することがより困難です。
  6. 属性値は、XML文書の正当な要素を定義するために使用されるDTDに対してテストするのは容易ではありません。

要素ではない属性に対して前進することをお勧めします理由です...

関連する問題