XMLの構造2

昨日の日記を少しきちんと考えてみることに。
http://d.hatena.ne.jp/yasuizo/20080119#1200677568

XMLの要素か属性かは考えさせられることが多いので、他のXMLを採用している色々なものをちらっと確認してみた。
・DocBook
文書をSGMLXMLで管理する仕様群、ツール群。あんまり属性は使っていない気がする。
RDF
リソース情報をトリプルで管理する仕様群、ツール群。属性も使っているが、要素も多く使っている。
・OWL
RDFと基本的に同じ。ただ、クラスの部分ではほとんど要素を使わない。インスタンスには要素を多く使う。
・MSOffice2003 WordXML
ドキュメントのプロパティ、ドキュメントの内容部分には要素が使われている一方で、スタイルの情報、フォントの情報など固定的なものには属性が使われている。
OpenOffice XML
今ダウンロード中。100Mはデカイ!!
追記:MSOffice2003とあまり変わらない。ドキュメントの内容の部分にのみ要素。後は全て属性で対応している。


MSOffice2003 WordXML、OpenOfficeXMLは参考になるかもしれません。アプリケーションで利用する上で、どこが要素でないと困るか、どこが属性でないと困るかのポイントが分かりそう。
調べてみる限り、要素でなきゃいけない、属性でなきゃいけないということはないみたい?でも、肝心なところで要素が使われているところを見ると、要素は色んな点で優秀なのかもしれません。
追記:MSOffice、OpenOfficeを見る限りでは「基本的に属性。上記特性が必要な時だけ要素にすべき。」の原則が当てはまっています。やはり、属性をできるだけ使うこと(要素をあまり使わない)ことには速度などのメリットがあるのだと推測できます。