XMLのルール
2009/09/23 | XML
知っているようで実はぜんぜん知らないXML。XML文書の中で、&が入るのは特別な場合を除いてエラーになることを今日はじめて知った。調べてみたらいろいろあるっぽい。知っていることも含めて列挙しておく。
- ルート要素が必要。
全ての要素を包含する一つのルート要素が必ず必要。 - 終了タグが必ず必要。
XHTMLでは当たり前だから、特に問題なし。 - 要素は正しくネスト。
これもXHTMLでは当たり前。 というか正しくネストしていないと気持ち悪くて。 - 値を引用符で囲む。
これも当たり前。 - 大文字・小文字は区別。
Linuxやってれば、これもぜんぜん気にならない。 - エンティティ参照の宣言が必要。
&と<を使うには一工夫必要。
6番目のが今回ぶつかった問題。例えば&はOKだけど©や はダメ。&は;他と組み合わせて、エンティティとして使うのだが、特別な場合を除いて、DTDで宣言してやらないといけない。特別な場合というのは&、<、$gt;、"、'。だから©や をXML文書中で使用するのは間違いになる(どうしても使いたい場合はDTDで宣言しないといけない)。&単品で使用するのもダメ。必ず特別な場合の組み合わせのみで使用しないといけない。
いろいろ難しい。