2. XMLの構造
前章で記述したとおり、XMLは言語を作成するための言語=メタ言語です。XMLでは、ユーザの環境や目的に合わせて言語を作成できます。しかし、もちろん、全く自由に作成できるわけではなく、一定のXMLのルールに従う必要があります。本章では、XMLで言語を作成する際に前提となる、XMLの構造について、説明します。
XMLの基本 2章 XMLの構造
- 2.1 XML宣言
- 2.2 要素
- 2.3 属性
- 2.4 XMLの構造
- 2.5 xml:space属性とxml:lang属性
- 2.6 CDATAセクション
- 2.7 まとめ
2.1 XML宣言
XML宣言とは、その文書がXML文書であることを明確に示す文字列です。XML宣言の例を以下に記します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
上の例のように、XML宣言は "<?xml" より始まり、"?>"で終わります。XML宣言は記述するほうが望ましいですが、記述しなくても構いません。ただし、記述する場合は、XML文書の先頭に必ず、記述しなくてはなりません。XML宣言の前に、スペースや改行などが含まれてもいけません。
XML宣言には、以下の情報が含まれています。
- バージョン
XMLのバージョン情報。上の例では、version="1.0"の部分。現在は、1.0と記述する必要がある。バージョン情報は省略できない。 - 文字コード
XML文書がどの文字コードで記述されているか、明示するもの。上の例では、encoding="UTF-8"の部分。省略可能。デフォルトはUnicode(UTF-8またはUTF-16)。 - スタンドアロン文書かどうか
XML文書がスタンドアロン文書かどうかをyes、noで示したもの。上の例では、standalone="yes"の部分。デフォルトの値は、以下のようになる。- 外部にmarkup宣言が存在する場合には、standalone="no"とみなされます。
- 外部にmarkup宣言が存在しない場合には、明らかにstandalone="yes"なので、 スタンドアロン宣言は無意味になります。 たとえ"no"と宣言されていても、無視されます
スタンドアロン文書とは、外部ファイルの参照を処理しなくても、すべて正しい文書が得られるXML文書を示します。正確には、文書実体の外部に(DTDの外部サブセット内に,又は内部サブセットから参照される外部パラメタ実体内に)、XMLプロセサからアプリケーションへと渡される情報に影響するマーク付け宣言が存在しないことを意味します。スタンドアロン文書に関しては、実体に関して、解説した後に、詳しく説明します。