XML基本構成

XMLを構成する要素は、XML宣言、DTDXMLデータと大きく3つに分かれています。なお、XML宣言と DTDは必ずしも必要ではなく、必要に応じて作成します。

XMLの基本的な規則
XMLは、汎用的なデータ記述言語であり、HTMLのようにデータと表示方法が混在した言語ではないため、コンピュータシステムとのデータの連携が容易にできる点にあります。
しかし、そうした便利な言語である XMLの作成上、欠かすことのできない規則があります。コンピュータ間で正しくデータ交換できるための最低条件があるということです。
XMLで使用できる文字コード
複数のコンピュータ間で情報交換を行う場合、データの文字符号コードの認識が違っていると、お互いに正しく処理することができません。そのため、XMLでデータを作成する場合、使用できる文字コードに基準が定められています。
日本語環境のコンピュータで扱う文字コードには、1バイト系の場合、ASCII(アスキー)コードと、EBCIDIC(エビシディック)コードがあります。
Windows系や Macintosh、UNIX系OSで主に使用されている1バイト系文字コードは、ASCIIです。
2バイト系の場合、シフトJIS (Shift_Jis) コードや EUC、Unicode などがあります。Windows系OSで主に利用されている2バイト系文字コードは、シフトJISで、UNIX系OSでは EUCが利用されています。このように、文字コードは様々な環境で、様々な種類が使われています。
XMLでデータを作成する場合、W3Cから勧告されている XMLの規格書では、ISO-10646 (世界の文字コードを統一する Unicodeプロジェクトの成果を国際標準化したもの) を基準とする文字コードとして定義されています。
具体的に XMLの規格書では、文字コードは16進コードで「000000〜10FFFF」の領域を使用することができると定義しています。この文字コードには、日本語環境のコンピュータで扱う1バイト系文字コードと、2バイト系文字コードの両方が含まれています。
このため、ISO-10646 を利用すれば1バイト系の英数字のみならず、2バイト系のひらがなや漢字も表現できるわけです。
なお、これらはあくまで基準となる文字コードであり、他の文字コードを使ってはいけないということではありません。ただし、他の文字コードを利用する場合には、XML宣言の中で、利用するエンコードを明示的に宣言する必要があります。
名前で使用できる文字
タグの要素名や属性名、エンティティ名、処理命令ターゲットなどは、XMLにおいて「名前」と呼ばれています。
この名前は、XMLデータとは別の命名規則があります。名前に使える文字のことを「名前文字 (Name Character)」と呼び、名前文字には、以下の表のようなものがあります。
名前文字の種類
名前文字 説明
letter 基本文字と表意文字がある。
Base Character 基本文字。アルファベット、ひらがな、カタカナなどの文字。
Ideograph Caracter 表意文字。漢字などの文字。
Digit 数字。数字文字。
Combining Character 統合文字。アクセント記号、ウムラウト記号などの文字。
Extender ある文字に続く文字。データの「−」、日々の「々」など。
その他 アンダースコア、コロン、ハイフン、ピリオドなど
命名規則
XMLにおける基本的な基盤となるのが「タグ」です。タグとは、< と > で囲まれた文書の意味付け(マークアップ)を指定するために記述します。
タグには名前が付けられますが、タグの命名規則も決められており、最初の1文字目は、文字、またはアンダースコア「 _ 」に限定されています。2文字目には、文字、ハイフン、アンダースコア、数字などを利用できます。最初の1文字目に数字を指定するとエラーになります。
XMLの3つの構成要素
XML文書は、以下の3つの要素で構成されています。
XML宣言 (XML Declaration)
XMLのバージョンと、XML文書中で使用する文字符号コードを宣言する。
DTD (Document Type Definition 文書型定義)
XML文書の要素、属性、エンティティ、記法を定義する。
XMLデータ
タグで囲まれたXMLデータの要素そのものを記述する。
XMLを構成する3つの要素これらの XMLの構成要素は、右の図のように記述されます。
XML宣言と、DTD に関しては、必ずしも記述する必要はなく、省略することもできます。特に、DTD の部分は、XMLデータの文法を明確に定義したい場合に記述します。ただし、XML宣言を省略した場合、XMLパーサが正しく解釈できるかはソフトウェアに依存します。つまらないエラーを避けるためにも、XML宣言は記述するよう強くお勧めします。
DTD は、XML文書中に配置することができますが、XML文書とは別の外部ファイルに記述することも可能です。
外部ファイルとして記述した DTD は、同じコンピュータ内になければならないものではなく、外部組織の Webサーバ上にあるものを参照することもできます。
XML宣言補足説明
XML宣言は、XMLパーサ に対して、XML文書であることを伝えます。
つまり、XML宣言のようにパーサに直接伝えるべき情報を「XML処理命令」と呼び、XML処理命令は、必ず「 <? 」で始まり「 ?> 」で終わります。
XML宣言で記述される属性は、version属性、encoding属性、standalone属性があります。version属性は XMLのバージョンを指定しますが、現在のバージョンは 1.0 です。 (追記:2004年3月にバージョン 1.1 が勧告されています。)
encoding属性は、文書中でエンコードする文字符号コードを指定します。なお、XMLはデフォルトエンコード方式として UTF-8 を採用しています。UTF-8 は、Unicode の種類で、1バイト文字を1バイトに圧縮したものです。XMLは、Unicode に対応していて、Unicode を用いられることを前提として制定されています。
standalone属性は、XML文書が単一で完成されるかどうかを示します。これは、クライアントコンピュータで複数の文書を包括する仕組みを与えています。
XML文書がそれ一つで完成しているのであれば standalone属性で "yes" を指定し、そうでなければ "no" を指定します。standalone属性を記述しない場合には、自動的に "yes" が選択されます。


Valid XHTML 1.1! Valid CSS! 初版更新日 2003年10月12日   最新更新日 2004年3月31日
Copyright(C) 2002〜2004 banban@scollabo.com