Goto (trpg-xml ML) HTML Log homepage
Date: Thu, 29 Jul 1999 10:13:56 +0900
From: 花本 雅樹 <dark-jedi@mbb.nifty.ne.jp>
Subject: [trpg-xml:00031] 空要素について
To: "XLM ML" <trpg-xml@trpg.net>
Message-Id: <00a801bed95f$a2c829e0$411ea8c0@toyotatsi.co.jp>
X-Mail-Count: 00031
花本と申します、はじめまして。
> > えーと、それから全般的なことですが、XMLにも閉じタグ無し...という
> > ような書き方がありませんでしたっけ? <?...?> だったか、 </.../> だったか
> > のような気がするんですが。
>
> 閉じタグ無しって言うのが「空要素 EMPTY」の事でしたら
>
> <要素名 属性 />
>
> と言うのが書き方です。
> ではなぜ、それを書かないかといいますと月刊ジャバワールド1999年6月号の記事
で
> 「(前略)複数の表記が可能であるとすると、二つの文章が同じないかどうか
> 比較したい場合などには、少し不便です。(中略)そこでジェームズ・クラーク
氏が
> Canonical XML(規範的なXML)というものを定義しています。
> (http://www.jclark.com/xml/canonxml.html)
> (中略)
> 具体的な内容は、例えば次のようになっています。
> ・<○○/>でなく<○○></○○>を使う。
> ・属性はUnicode順にソートする。
> ・UTF-8でエンコードする。
> ・&、<、>、6quot;、	、 、 を使用する。
> ・無視する事が可能な空白も無視しないでそのまま扱う。
> (後略) 」
>
> と言うものが在りました。XML初心者でかつJava好きな私はこの記事でXMLをやろう
と
> 心に決めた事も在り、出来るなら上の規範を守っていきたいと思ったわけです。
>
> (最初の一つ以外はどうすれば良いのかわからないので、やっていません。(笑))
要素が空の場合の表現方法は <○○></○○> でも <○○/> でも良いとは思います
が
W3C の勧告によると、
「要素が空のとき,その要素は,直後に終了タグをもつ開始タグ又は空要素タグで表
現し
なければならない」
「相互運用性のためには,空要素タグは,EMPTYとして宣言された要素には必ず使用
しな
ければならず,またこれ以外の要素には使用しない」
とあります。
XML の仕様に従うのであれば、
<!ELEMENT ○○ (××)*> の場合に要素が存在しないならば <○○></○○>
<!ELEMENT ○○ EMPTY> の場合には <○○/>
と表現するのが良いと思います。
たまたま要素が存在しない場合に <○○></○○> と記述しておけば、後から内容を
追加
する時に楽になりますし、EMPTY 要素の場合に <○○/> と記述すれば、その要素の情
報は
属性値のみである事がはっきりします。この記述を徹底すれば、二つの文章が同じか
どう
か比較する場合にも問題はないと思いますが。
[>>>>>
[>>>>> 花本 雅樹/にゃった
[>>>>>
[>>>>> E-mail : dark-jedi@mbb.nifty.ne.jp
[>>>>>