個別記事

XML宣言のstandalone属性

この記事が属するカテゴリー
web&blog

SGMLを元としたHTMLを、XMLベースで再定義したしたモノがXHTMLです。XML文書なので、XML宣言の記述はデフォルト文字コードのUTF-8とUTF-16以外は必須とされています。XML宣言は<?xmlで始まり?>で終わる記述で、属性としては以下の3点があります。

  • version 属性
  • encoding 属性
  • standalone 属性

version 属性についてはその文書のxmlバージョン、encoding 属性についてはその文書の文字コードを記述をすれば良いのは分かるのですが、standalone 属性については、自分的に曖昧だったので調べたメモとして記しておきます。

standalone 属性とは

XMLはXMLプロセッサ(パーサ)と言われる解析装置によって、内部・外部DTDを参照することで、その文書の妥当性の検証を行うことができます。standalone 属性にはyesnoの指定があり、その文書にとって外部DTDの参照が必要か不要かを明示するためのものです。つまり、standalone="yes"とすれば、外部DTDを参照する必要がないので、余計な処理をしなくて良い事になります。

XHTMLの場合standalone 属性は必要か

XHTML1.0には3種類、XHTML1.1には1種類のW3Cが定義したDTDが存在し、通常はこの標準DTDを文書型宣言DOCTYPEのPUBLICで指定します。

XHTML1.0
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML1.1
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

これは外部DTDなので、standalone 属性はnoとなります。そしてstandalone 属性を省略した場合、文書型宣言が存在していればstandalone="no"とみなされます。つまり、一般的にXHTMLで作成し文書型宣言を記述した場合は、standalone 属性を省略しても構わないという事になります。なので、XHTML文書でstandalone 属性が記述されているのを見かける事は少ない筈です。当サイトのxml宣言にstandalone 属性を付加して記述するとなると以下のようになります。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

2005-01-06T21:19:50+09:00 | コメント (0) | トラックバック (1) |はてなブックマーク

関連性が高いエントリー 5 件

トラックバック

このエントリーのトラックバックURL:
http://WWW.lucky-bag.com/cgi/mt/mt-tb.cgi/115

このリストは、次のエントリーを参照しています: XML宣言のstandalone属性:

鳥さんの独り言 さんからのトラックバック
WinIEでXHTML文書を保存する
ふと思い出したので、メモ。 [続きを読む]
2005年01月07日 22:57

コメント

"XML宣言のstandalone属性"へのコメントはまだありません。

コメントしてください

コメント内ではタグは一切使えません。コメント内にてタグを表記したい場合は、お手数ですが、文字実体参照を利用して < を &lt; 、> を &gt; とそれぞれ置き換えてください。




保存しますか?


(V) (P)