ホーム > X-Plus > XML Square >  ビギナーズコーナー  >  XML入門

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

ビギナーズコーナー:XML入門(4)

2001年05月31日作成 

(株)日本ユニテック 野田 俊太郎
1.XMLとは
    XML仕様制定までの歴史
2.XMLの長所
    「拡張可能」と「意味情報」
3.文書における「内容」「構造」「体裁」の分離
    XML文書の記述方法
4.XML宣言( XML declaration )
    XMLインスタンス
5.DTD ( Document Type Definition ) の記述方法
6.検証済みXML文書と整形式XML文書
7.XML関連規格
    まとめ

XML宣言( XML declaration )

XML宣言は、XML仕様のバージョン番号とXML文書作成に使用する文字コードを宣言する部分である。

<?xml version = "1.0" encoding = "Shift_JIS"?>

「encoding = 」に続く部分ではXML文書作成時に使用される文字コード(Shift_JIS、UTF-8など)を指定する。文字コードがUnicode(UTF-8、UTF-16)の場合は 「encoding = 」の部分を省略してもよい。この部分を省略する場合には、XML宣言そのものを省略することもできる。

XMLインスタンス

XMLインスタンスとは、実際の内容にタグが付けられている部分、つまりXML文書の本体のことである。この部分の文法を理解するにはまず、「要素( element )」と「属性( attribute )」について理解する必要がある。

① 要素( element )の書き方
XMLインスタンスに現れる要素の1つ1つは次のように記述していく。

開始タグと終了タグで囲まれる部分を要素(element)と呼ぶ。XMLでは、HTMLでは許される場合のあるタグの省略ができないので、開始タグと終了タグは必ず書かなければならない。したがって次のような書き方は許されない。

<連絡先> <郵便番号>105-0001 </連絡先>

(※<郵便番号>の終了タグが書かれていないのでエラー)

要素の内容には、文字列だけではなく、他の要素と文字列を混在させることも可能である。
例えば、図3の例では「連絡先」という要素の中に「郵便番号」「住所」「電話番号」「FAX」という要素が含められている。このとき、「連絡先」を「親要素」、「郵便番号」「住所」「電話番号」「FAX」を「子要素」と呼ぶ。
このように、XML文書は、親要素から子要素、そのまた子要素、というように要素を階層的に作り上げることで成り立っている。ある要素の開始タグと終了タグの対の中に、子要素として別の要素の開始タグと終了タグを「入れ子」にして書くことによって階層関係を作るのである。例えば、要素Aの下位に要素Bと要素Cを入れ子にしてタグ付けするには次のような書き方をする。

<要素A><要素B>......<要素B/><要素C>....</要素C></要素A>

階層化された要素のタグ付けに際しては、上位下位の関係がわかるように開始タグと終了タグの対応をきちんと取る必要がある。
タグの対応が取れている場合でも、親要素と子要素が入れ子構造を形成していないような次のようなタグ付けは許されない。

<要素A><要素B>......<要素B/><要素C>....</要素A></要素C>

要素には、その内容に子要素も文字列ももたない「空要素」と呼ばれる要素がある。 書き方は次の通りである。

<要素名 />

上記のタグは「内容が空の要素」つまり、「< 要素名 >< / 要素名 >」とみなされ、例外的に単独で用いることができる。

②属性( attribute )の書き方

  図3のXML文書のサンプルで、<会社 登録番号 = "1">という開始タグが書かれていた。この中の「登録番号 = "1"」という部分は、属性(attribute)と呼ばれるもので、要素に付加的な情報を与えるために存在する。属性は開始タグの中で次のように書く。

<要素名 属性名 ="属性値"......>

属性は開始タグに複数指定することも可能である。
属性は空要素にも設けることができる。例えば、次のような書き方をして、ファイルへのパスを属性「file」の属性値として示したグラフィックデータを表す空要素が考えられる。

<graphic file = " http://www.utj.co.jp/graphics/sample1.gif "/>


>>「DTDの記述方法」について
<<前の記事へ



関連サービス

XMLを使ったシステム構築への支援業務





ページトップへ戻る