[trpg-xml:00031] 空要素について

Goto (trpg-xml ML) HTML Log homepage


Index: [Article Count Order] [Thread]

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でエンコードする。
>   ・&amp;、&lt;、&gt;、6quot;、&#9;、&#10;、&#13;を使用する。
>   ・無視する事が可能な空白も無視しないでそのまま扱う。
>    (後略) 」
>
> と言うものが在りました。XML初心者でかつJava好きな私はこの記事でXMLをやろう
と
> 心に決めた事も在り、出来るなら上の規範を守っていきたいと思ったわけです。
>
> (最初の一つ以外はどうすれば良いのかわからないので、やっていません。(笑))

 要素が空の場合の表現方法は <○○></○○> でも <○○/> でも良いとは思います
が
W3C の勧告によると、

 「要素が空のとき,その要素は,直後に終了タグをもつ開始タグ又は空要素タグで表
現し
なければならない」

 「相互運用性のためには,空要素タグは,EMPTYとして宣言された要素には必ず使用
しな
ければならず,またこれ以外の要素には使用しない」

 とあります。

 XML の仕様に従うのであれば、

    <!ELEMENT ○○ (××)*> の場合に要素が存在しないならば <○○></○○>
    <!ELEMENT ○○ EMPTY> の場合には <○○/>

 と表現するのが良いと思います。

 たまたま要素が存在しない場合に <○○></○○> と記述しておけば、後から内容を
追加
する時に楽になりますし、EMPTY 要素の場合に <○○/> と記述すれば、その要素の情
報は
属性値のみである事がはっきりします。この記述を徹底すれば、二つの文章が同じか
どう
か比較する場合にも問題はないと思いますが。

        [>>>>>
        [>>>>>  花本 雅樹/にゃった
        [>>>>>
        [>>>>>  E-mail : dark-jedi@mbb.nifty.ne.jp
        [>>>>>



    

Goto (trpg-xml ML) HTML Log homepage