XML
を構成する要素は、XML宣言、DTD
、XML
データと大きく3つに分かれています。なお、XML
宣言と DTD
は必ずしも必要ではなく、必要に応じて作成します。
XML
は、汎用的なデータ記述言語であり、HTML
のようにデータと表示方法が混在した言語ではないため、コンピュータシステムとのデータの連携が容易にできる点にあります。XML
の作成上、欠かすことのできない規則があります。コンピュータ間で正しくデータ交換できるための最低条件があるということです。XML
でデータを作成する場合、使用できる文字コードに基準が定められています。Windows
系や Macintosh、UNIX
系OSで主に使用されている1バイト系文字コードは、ASCII
です。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
における基本的な基盤となるのが「タグ」です。タグとは、< と >
で囲まれた文書の意味付け(マークアップ)を指定するために記述します。「 _ 」
に限定されています。2文字目には、文字、ハイフン、アンダースコア、数字などを利用できます。最初の1文字目に数字を指定するとエラーになります。XML
文書は、以下の3つの要素で構成されています。
XML
宣言 (XML Declaration)XML
のバージョンと、XML
文書中で使用する文字符号コードを宣言する。DTD (Document Type Definition
文書型定義)XML
文書の要素、属性、エンティティ、記法を定義する。XML
データXML
データの要素そのものを記述する。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 が勧告されています。)XML
はデフォルトエンコード方式として UTF-8
を採用しています。UTF-8
は、Unicode
の種類で、1バイト文字を1バイトに圧縮したものです。XML
は、Unicode
に対応していて、Unicode
を用いられることを前提として制定されています。XML
文書が単一で完成されるかどうかを示します。これは、クライアントコンピュータで複数の文書を包括する仕組みを与えています。XML
文書がそれ一つで完成しているのであれば standalone
属性で "yes"
を指定し、そうでなければ "no"
を指定します。standalone
属性を記述しない場合には、自動的に "yes"
が選択されます。