第1回 『要素内容と混合内容』

第1回 『要素内容と混合内容』

はじめまして。インフォテリア教育部の木村です。

私はこれまで教育という立場でXMLに携わってきましたが、XMLには実はちょっと紛らわしい部分があったり、あるいは直感では誤解してしまいそうな部分があることにいくつか気が付きました。この連載コラムでは、XMLのそのような話題を7回にわたって解説してみたいと思います。

まずは手始めに、「要素内容と混合内容」についてです。
DTDでは、ある要素に対する子要素の存在回数などを定義するわけですが、このとき、ある要素の内容として実際考えられるパターンは次の3つです。

◆ある要素の内容として実際考えられる3つのパターン
(1) 子要素のみを内容とする
(2) 文字データのみを内容とする
(3) 子要素と文字データを内容とする

このときXML 1.0ではこの3つのパターンを2つに分けて、それを要素内容(element content)と混合内容(mixed content)と定義しています。(3)が子要素と文字データの双方を含んでいますので、感覚的には混合内容が(3)のみを指しているように感じますが、実は(1)が要素内容で、(2)(3)が混合内容です。(2)は、子要素の出現が0回である混合内容です。

(2)を混合内容として認識していなくても実際困ることはないと思いますが、「要素内容」という言葉が、XML 1.0の中で定義されている特別な言葉であることを知っていると、それだけXMLの理解が早まります。

ある文章の中で「element content」や「要素内容」(あるいは「エレメントコンテント」などの和訳)という言葉を見たときに、これが単なる要素の内容を指している一般用語ではなく「子要素のみを含み、文字データを含まない」ことが前提になっているということがすぐにイメージできるとよいと思います。

特に要素に含まれる無意味な空白について言及する場合など、XML 1.0はもちろん、DOMやSAXやXML Information Setなどの仕様書内に出てきますので、今度注意してみてください。

 

日時: 2004年06月17日 00:00 |  | TrackBack

« 1つ前のコラム |XMLノート:コラムの最新リストへ戻る| 1つ後のコラム »

このページのトップ