XML宣言は、この文書が XML文書であることを示し、準拠する XML規格のバージョンや文字コードなどを設定することができます。XML宣言の記述は任意ですが、存在する場合には 1行目に記述されています。「<?xml ?>」が目印です。
先のサンプル文書では以下の部分です。
<?xml version="1.0" encoding="UTF-8"?>
このサンプルでは versionと encodingについて設定しています。
バージョンの指定はversionで行います。XML宣言の中でバージョン指定は必須です。また、XML宣言の中で最初に記述しなければなりません。今のところ version="1.0" と書くことになっています。
<?xml version="1.0"?>
文字コードの指定はencodingで行います。具体的には、文字コードに対応する以下の文字を encodingの値として指定します。なお、大文字小文字は区別しません。
文字コード | 文字列 |
---|---|
UTF-8 | UTF-8 |
UTF-16 | UTF-16 |
シフト JIS | Shift_JIS |
日本語 EUC | EUC-JP |
サンプルは以下のとおり。
<?xml version="1.0" encoding="Shift_JIS"?>
文字コードを省略した場合、UTF-8または UTF-16で記述されているものとみなされます。
UTF-8や UTF-16は、アプリケーションのXMLを読み込む部分がそれを読み込めるよう実装しなければならないと定められています。一方、それ以外の文字コード(シフト JISなど)は XMLを読み込むアプリケーションによっては実装しないことが許されているため、場合によっては上手く読み込めない可能性があります。
スタンドアロンの指定はstandaloneで行います。何も指定しなかった場合は no になります。yesを指定すると、外部のファイルを読みにいかないため、処理が早くなる可能性があります。
なお、スタンドアロンの yes/no に関しては、DTDと密接に関わっています。このウェブサイトでは DTDについてはほとんど扱わないので、詳細については省略します。
スタンドアロンの宣言をした例は以下のとおりです。
<?xml version="1.0" standalone="yes"?>