要素とは、XMLの文書構造の最も基本的なもののひとつです。XMLインスタンスは、ツリー構造をしています。ツリー構造とは、一般的なパソコン(Windowsなど)のファイル管理がディレクトリになっている、ディレクトリの中には複数のディレクトリと複数のファイルがあり、そのディレクトリの中にはまた複数のディレクトリと複数のファイルがある…そんな構造のことです。要素は、ディレクトリに相当するものということになります。
サンプルを見ていきましょう。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>サンプル</title> </head> <body> <h1>サンプル</h1> <p>これは XHTML文書です。<em>XML文書</em>でもあります。</p> </body> </html>
この XML文書のルート要素は「html」要素です。ルート要素は、XML文書に唯一存在します。同様に、以下のことが分かります。
XML文書では、ルート要素は 1つ存在する形しか認められません。ルート要素が 2つ以上あったり、ルート要素がない場合は、XML文書にはなりません。
×…ルート要素が 2つ以上ある。
<?xml version="1.0" encoding="UTF-8"?> <item>あいうえお</item> <item>かきくけこ</item>
×…ルート要素がない。
<?xml version="1.0" encoding="UTF-8"?> あいうえお
要素をタグで記述するにあたって幾つかのルールがあります。重要なものをここにまとめます。
開いたタグは閉じなければなりません。タグを開いた順番に閉じる必要があります。
×…タグを閉じていない。
<item>ここを<strong>強調します。</item>
×…タグを閉じる順番が間違っている。
<item>ここを<strong>強調します。</item></strong>
○…タグを閉じる順番が正しい。
<item>ここを<strong>強調します。</strong></item>
中身がない要素は、以下のように記述する必要があります。
○…直後にタグを閉じる。
<item></item>
×…記号「/」を記述する。
<item />