今回は、前回作成した下記XML文書について、ひとつずつ詳しく見ていきます。
<?xml version="1.0" encoding="UTF-8" ?> <ゲーム所持リスト> <ゲーム情報> <管理コード>0001</管理コード> <ゲームタイトル>DARK SOULS Ⅱ</ゲームタイトル> <購入日>2013/3/14</購入日> <購入価格>4000</購入価格> </ゲーム情報> <ゲーム情報> <管理コード>0002</管理コード> <ゲームタイトル>モンスターハンター4G</ゲームタイトル> <購入日>2014/10/11</購入日> <購入価格>5800</購入価格> </ゲーム情報> <ゲーム情報> <管理コード>0003</管理コード> <ゲームタイトル>ドラゴンクエストヒーローズ 闇竜と世界樹の城</ゲームタイトル> <購入日>2015/2/26</購入日> <購入価格>5800</購入価格> </ゲーム情報> </ゲーム所持リスト>
XML文書の構成
ここで記述しているXML文書は「整形式のXML文書」と呼ばれます。表面的な形式だけが整えられた最も簡単なXML文書になります。(具体的に言うと「DTDに関する情報を記述しないもの」が整形式となります。詳細は別ページで記載します。)
整形式XML文書の構成は下図のようになります。
まずは、バージョンと文字コードを指定する「XML宣言」を先頭行に記述し、その後にXML文書の本体を記述します。XML宣言に記述する内容の詳細は「CSVからXMLへ」を参照してください。
要素の記述
まずは、下記部分について考えてみます。
<ゲームタイトル>DARK SOULS Ⅱ</ゲームタイトル>
この部分は、「DARK SOULS Ⅱ」というゲームタイトルをあらわしています。XMLでは、「<ゲームタイトル>DARK SOULS Ⅱ</ゲームタイトル>」の部分を要素(element)と言い、ひとつのデータをあらわします。
また、「<」「>」で囲まれた部分を要素名と言います。このサンプルでは「ゲームタイトル」が要素名です。さらに、「<ゲームタイトル>」と「</ゲームタイトル>」をタグと言い、要素のはじまりを示す「<ゲームタイトル>」を開始タグ、要素の終わりを示す「</ゲームタイトル>」を終了タグと言います。
そして、開始タグと終了タグで囲まれた部分を要素の内容(content)と言います。
他のデータも同じように要素として記述します。
<管理コード>0001</管理コード> <ゲームタイトル>DARK SOULS Ⅱ</ゲームタイトル> <購入日>2013/3/14</購入日> <購入価格>4000</購入価格>
このサンプルでは、これで1つのゲーム情報としています。そのことをあらわすためには下記のように記述します。
<ゲーム情報> <管理コード>0001</管理コード> <ゲームタイトル>DARK SOULS Ⅱ</ゲームタイトル> <購入日>2013/3/14</購入日> <購入価格>4000</購入価格> </ゲーム情報>
要素の中に要素が4つあります。これはつまり、「ゲーム情報」をあらわす要素は、4つの要素を持っているということです。
同じように次のゲーム情報も記述します。
<ゲーム情報> <管理コード>0001</管理コード> <ゲームタイトル>DARK SOULS Ⅱ</ゲームタイトル> <購入日>2013/3/14</購入日> <購入価格>4000</購入価格> </ゲーム情報> <ゲーム情報> <管理コード>0002</管理コード> <ゲームタイトル>モンスターハンター4G</ゲームタイトル> <購入日>2014/10/11</購入日> <購入価格>5800</購入価格> </ゲーム情報> <ゲーム情報> <管理コード>0003</管理コード> <ゲームタイトル>ドラゴンクエストヒーローズ 闇竜と世界樹の城</ゲームタイトル> <購入日>2015/2/26</購入日> <購入価格>5800</購入価格> </ゲーム情報>
これである程度できましたが、このデータ全体が何のデータについて書かれているのかという肝心の情報がまだありません。つまり、XML文章本体の一番外側の要素の記述がありません。
<?xml version="1.0" encoding="UTF-8" ?> <ゲーム所持リスト> <ゲーム情報> <管理コード>0001</管理コード> <ゲームタイトル>DARK SOULS Ⅱ</ゲームタイトル> <購入日>2013/3/14</購入日> <購入価格>4000</購入価格> </ゲーム情報> <ゲーム情報> <管理コード>0002</管理コード> <ゲームタイトル>モンスターハンター4G</ゲームタイトル> <購入日>2014/10/11</購入日> <購入価格>5800</購入価格> </ゲーム情報> <ゲーム情報> <管理コード>0003</管理コード> <ゲームタイトル>ドラゴンクエストヒーローズ 闇竜と世界樹の城</ゲームタイトル> <購入日>2015/2/26</購入日> <購入価格>5800</購入価格> </ゲーム情報> </ゲーム所持リスト>
この一番外側になっている要素をルート要素(root element)と呼びます。XML文書では本文のところに記述したデータ全体が何のデータについて書かれているのかを、ルート要素を使って記述するというルールがあります。言い換えると、XML文書の本体部分は、必ず単一のルート要素に収まっていなければなりません。
このサンプルのルート要素は「ゲーム所持リスト」になります。その意味は、私が現在所持しているゲームソフトのリストになります。(DARK SOULS Ⅱは難しかった。。)