解析される文字データ(#PCDATA)

解析される文字データ(#PCDATA)は、要するに文字列であると考えて差し支えない。但し#PCDATA中の「<」はタグや処理命令の開始と見なされ、また「&」は数値文字参照あるいは文字実体参照の開始であると見なされ、「<」「&」という文字としては扱われない点に最大の注意が必要。

「<」「&」の二つの文字を使用したい場合には、通常、それぞれ「&lt;」「&amp;」という文字実体参照を使う。HTML4.01においては要素名、文字実体の種類が固定されているため、モダンなユーザーエージェントは不正な要素名、不正な実体参照について適切なエラー補正をするなど、割と寛容に振舞うようでありHTML4.01の文書は文法チェックを忘れた場合にも、比較的閲覧不可能になる危険が少ない。拡張可能性を考慮した結果エラー補正ができなくなっているXHTMLとの対比に留意のこと。

使用可能な文字はSGML Declaration of HTML 4によると、Unicode(ISO/IEC 10646)で定義された文字であると考えて差し支えない。普通(謎)の言語ならばほぼ全てこの中に入っているので余計な心配は無用だ(と思う)。Shift_JISやEUCではなくUnicodeの配列を元に文字を符号化したUTF-8やUTF-16を用いるならば、「機種依存文字」と呼ばれて敬遠されてきたものも安全に使用可能だ。その辺りの誤解について書きたかったが機種依存文字とUnicodeという文書が既に公開されているので控える。要するに同じ符号化方式を名乗りつつ異なる文字を符号化していたのが原因。


webmaster@jintrick.net
Published: 2007-10-08 ,Updated: 2007-10-08