XMLとは
XMLとは
XML(Extensible Markup Language)は、情報の意味や構造を記述するためのマークアップ言語です。
XMLは、独自のタグを任意に指定できるため、マークアップ言語を作成するためのメタ言語(言語を記述するための言語)といえます。
XMLの構造
XML宣言
XML宣言は、ファイルがXMLで記述されたことを表すと同時に、使われているXML仕様のバージョンと文字コードを指定しています。
文字コードは、当該XMLファイルで使用している文字コードを「Shift-Jis、EUC-JP、UTF-8」など指定します。
<?xml version="バージョン" encoding="文字コード" ?>
XMLのコメント
XMLのコメントは、以下の形式です。
<!--コメント-->
要素(element)
要素は、開始タグから終了タグまでの範囲を意味します。
XMLでは、要素などの情報を木構造に配列します。木構造からはみ出すデータを記述することはできません。
要素にはその要素名と内容を使って下記のように記述します。
<要素名>内容</要素名>
要素において内容が存在しない場合は、要素名の後に「/」を付加します。
<要素名/>
要素は入れ子構造で記述することが可能であり、構成要素は親子関係となります。
<要素名(親)>
<要素名(子)>内容</要素名>
<要素名(子)>内容</要素名>
</要素名(親)>
属性(attribute)
属性は、開始タグ内に記述される補助的な情報です。
<要素名 属性名=属性値>内容</要素名>
処理命令(Processing Instruction)
処理命令は、特定のXMLアプリケーションソフトへの指示を埋め込むために使用されるものです。
使用頻度が高くない記述といえます。
<?処理命令?>
DTD(Document Type Definition)
DTDは、マークアップの構成要素、その順序(親子関係)、指定できる属性などについて定めた規則のことです。
XMLにおけるDTDとは、XML文書がどのような要素で構成されているかを定義する「文書型定義」といえます。
DTDを宣言することで、「要素の名前(タグの名前)」「要素の属性」「要素の出現回数」「要素の出現順序」などを定義することができます。
DTDは「XMLのスキーマ言語」であり、スキーマ言語には「XML Schema」や「RELAX」という言語が存在します。
XMLのスキーマ言語は、文書構造のルールを明確化することで複雑なXML文書の抽象度を高めるために使用されます。
なお、DTDを含まないXML文書であっても、XMLの仕様に適合する文書といえます。
XMLで書かれたXML仕様書とXML文書から参照されているDTDは以下の通りです。
文書型宣言
宣言は以下の書式を使い、すべてのDTD宣言を[ ]内に記述します。
<!DOCTYPE ルート要素名 [ ]>
実体宣言
内容に対して名前を付けて定義しておくことで、それ以後は名前を指定することで容易に参照できるようにするものです。
<!ENTITY ... >
要素宣言
要素宣言には以下の書式を使います。
( )内には要素の内容モデルを記載します。
内容モデルにはその要素に格納できる下位の要素、またその要素の出現順序や回数などの一覧を記載します。
<!ELEMENT 要素タイプ名 - - (内容モデル) >
属性宣言
要素に対して属性と属性値を関連付けるために使用します。
<!ATTLIST 要素タイプ名 属性名 属性値 省略時値orキーワード >