その仕事、蠍は留守です

おべんきょうしたことなどをメモメモしておくブログです。

さそるのホーム
さそるのおしごと
スクリプト関連
XML を勉強してみた vol.02

XML を勉強してみた vol.02

こんにちは、月に1度はラーメンを食べ過ぎて苦しい思いをするHitoyamです。

さて、XMLのお勉強メモ第2弾。今回はシンプルなXMLの別の書き方について。

実際に自分で書いてみる

実際のファイル

ソースの中身


<?xml version="1.0" encoding="UTF-8" ?>
<books>
    <book isbn="ISBN4-1020-5701-3" name="ナイン・ストーリーズ" author="J.D.サリンジャー"
        category="英米文学" price="460" publish="新潮文庫" pDate="1986-01" />
    <book isbn="ISBN4-1021-1401-7" name="異邦人" author="アルベール・カミュ"
        category="フランス文学" price="420" publish="新潮文庫" pDate="1954-09" />
    <book isbn="ISBN4-1675-0203-8" name="レキシントンの幽霊" author="村上春樹"
        category="日本文学" price="480" publish="文藝春秋" pDate="1999-10" />
    <!-- Last Update : 2010/04/01 by Hitoyam -->
</books>

前回のメモの時に書いたbooks01-1.xmlでは書籍の情報を<book>要素配下に子要素として書いていて、今回のbooks01-2.xmlでは<book>要素の属性として書いています。

ブラウザ表示のキャプチャ

Firefoxでの表示 Safariでの表示 IE8での表示

Firefox、IE8で見るとSafari、前回と似たようなツリー表示ですが、Safariで見ると白紙状態...あれあれ?
Chromeでも同じく白紙状態だったので、webkit的なものたちは表示されないっぽい。これって正しい挙動? よくわかりませんが、とりあえずスルーして進むことにします...。

今回のポイント

要素主体のXML

  • 長所 : 配下に子要素を持たせることができるため、データをより細かく分割する場合の対応が柔軟
  • 短所 : 冗長でデータ量が多くなる

属性主体のXML

  • 長所 : データ量が少量に抑えられ、コンパクトな記述が可能
  • 短所 : データの統合・分割などの構造変化に弱い

予約語は使用できない

予約語概要
#FIXED属性は固定値である
#IMPLIED属性は任意である
#PCDATA文字データ
#REQUIRED属性値は必須である
ANY任意の要素を認める
ATTLIST属性リスト宣言
CDATACDATAセクション
DOCTYPE文書型宣言
ELEMENT要素型宣言
EMPTY空要素
encoding使用している文字エンコーディング
ENTITY実体宣言
EITITIES実体宣言の集合
IDユニークな識別子
IDREF識別子への参照
IDREFS識別子参照の集合
IGNORE無視指定(条件セクション)
INCLUDE処理指定(条件セクション)
NDATAデータ記法宣言
NMTOKEN名前トークン
NMTOKENS名前トークンの集合
NOTATION記法宣言
PUBLIC公開識別子
standalone外部のDTDを参照しなければならないか
SYSTEMシステム識別子
versionXMLのバージョン
xmlXMLのバージョン
xml:lang使用している言語
xml:space空白文字の処理方法

※SGMLから引き継がれた文字は大文字で、それ以外は小文字

雑感

予約語の中には自分的にうっかり使ってしまいそうなものが含まれているので、最初に気を付けなくちゃ。

属性主体のXMLを書くシチュエーションって、具体的にどんな時なのでしょうか。実際に使用したことがないので、あまり想像がつかない。けど使い勝手として要素主体の方がよさそうだなーなどと素人考えで思ったりしています。余裕で使い分けるくらいXMLを使いこなす日が来るとは思えないですが、そのくらいできたらいいなぁ。

My Contact Lists

このサイト『蠍は留守です』はIE6、IE7を対応を廃止しました。
申し訳ありませんが、新しいバージョンのブラウザでご覧下さい。