[4] HTML の html
要素の version
内容属性は、その文書が利用している HTML の版 (バージョン) を記述するものでした。
かつては定義こそされていましたが、実用上まったく意味を成さないため、現実には使われていませんでした。
この属性は HTML5 によって完全に廃止されています。
[41] HTMLHtmlElement
インターフェイスの version
IDL属性は、 version
内容属性を反映する DOMString
型の読み書きできる属性です。内容属性の方が廃止されていますが、 IDL属性は互換性のため引き続き
Webブラウザーが実装しなければならないものに含まれています。
[52] 歴史的に HTML の仕様書には「版」がありましたが、 HTML という言語は唯一のもので、 版の違いはありません。どんなHTML文書も現行 HTML Standard の規定によって解釈されますから、 文書に版を記述する必要はありません。
[5] HTML 4 仕様書本文は属性値の書式について
CDATA
であるとだけ述べています。
また、大文字・小文字の区別には意味がないとされています。
[22] HTML 4 移行用DTD・フレーム集合DTD では、それぞれの DTD の公式公開識別子が既定値であるような固定属性として宣言されています。
従って、 HTML 4.01 で
version
属性を明示的に指定する場合、
でなければならず、それ以外であれば非妥当です。 大文字・小文字も空白も正確にこの通りでなければなりません。
[23]
version
属性が何のために存在するのか、
利用者エージェントがどう扱うべきなのかなどは
HTML 4 ではまったく規定されていません。
[57] RDFa においては RDFa の版を切り替えるために使われています。 RDFa処理器の項を参照してください。
[28] HTML 2.0 開発当時の HTML DTD の変更履歴には次のようにあります。
revision 1.18 date: 1994/07/20 16:24:43; author: connolly; state: Exp; lines: +2 -2 Changed HTML.version to a parameter entity, added #fixed attribute on HTML element to report version to application
これ以前から DTD には一般実体として
HTML.Version
が定義されていて、
DTD の公開識別子が実体文になっていましたが、
このとき引数実体となり、同時に version
属性が追加されたようです。
version
属性を追加した動機は、
応用が HTML の版を判別できるようにすることのようです。
SGML 構文解析器が SGML 応用に文書の内容を渡す際に文書型宣言が失われてしまうことを考慮したのでしょう。
version
属性の追加は確認できません。
1994年9月23日の1.19版では確かに version
属性が追加されています。#FIXED
属性を使って DTD からSGML応用に引き渡す情報を記述するのは、 SGML DTD
ではよく用いられていた技法です。[29]
version
属性は、
その宣言のされ方を含めてその後のほぼすべての
HTML DTD に引き継がれています。
標準化されたものの中では、 HTML 2.0、 HTML 2.x、
HTML 3.2、HTML 4.0、HTML 4.01
の DTD で version
属性が %HTML.Version;
を値とする固定属性として宣言されています。
[30] HTML 2.0 も HTML 2.x も HTML 3.2 も、 DTD には含めながら、 仕様書本文ではまったく説明していませんでした。
[31] HTML 4.0 はその文書が使用している HTML DTD の版を指定するもので、文書型宣言もあって冗長なので非推奨にする、 と説明しています。そのため、移行用DTD とフレーム集合DTD には含まれていますが、 厳密DTD には含まれていません。
[24] Compact HTML は、附属書 A の一覧表の
html
の欄の Comments
として
version="C-HTML 1.0".
と記しています。
明らかに version
属性値の規定または例と思われます。
[25] しかし、附属書 B の DTD
では、 HTML 4 等と同様に version
を %HTML.Version;
と同値 (-//W3C//DTD Compact HTML 1.0 Draft//EN
)
の固定属性として宣言しています。
[26] ちなみに、
3.1 Design Principles で
Compact HTML is defined as a subset of HTML 2.0, HTML 3.2 and HTML 4.0 specifications.
、
3.2 Features of Compact HTML でも
The Compact HTML is a subset of HTML 2.0, HTML 3.2 and HTML 4.0.
と述べられているのですが、 HTML 2.0、
HTML 3.2、HTML 4.0 のいずれも version
属性に
-//W3C//DTD Compact HTML 1.0 Draft//EN
や
C-HTML 1.0
が現れることを認めていないので、
subset
とはいえません。
[27] iモード対応HTML 1.0
には version
属性があり、
このホームページで使用しているHTMLのバージョン情報を明示する。
と説明されていました。
[42] しかし、なぜか iモード対応HTML 2.0 では削除されています。
[32]
version
属性は XHTML 1.0
にはまったく含まれておらず、言及すらされていませんが、
XHTML m12n には普通に含まれています。
[37] XHTML 1 の最初の WD には、
HTML 4 で非推奨とされたものも含めてほぼすべての属性が含まれていますが、
version
属性はなぜか含まれていません。
これ以後 XHTML 1.0 にはずっと version
属性は含まれていません。
[38] XHTML m12n の最初の WD には
version
属性が含まれており、
面白い説明があります。
%Version.attrib;
- the Formal Public Identifier (FPI) for this DTD. This parameter entity is a historical legacy of past HTML DTDs, and is preserved in case any application software uses it. It is also the only place within the DTD (excluding comments) that the DTD's FPI is declared. This declares the attribute specification containing the value as declared in the DTD driver.
歴史的なものだけど、もしかすると使っている応用があるかもしれないから残す、 といっています。
[33]
XHTML m12n では HTML 4
で非推奨とされた属性は遺物モジュールなどに分けられているのですが、
version
属性はなぜか中核モジュールの構造モジュールで
html
要素と共に定義されています。
非推奨であることをうかがわせる記述はまったくありません。
[34]
XHTML m12n 抽象モジュール定義によれば、
version
属性は
CDATA
で、既定値は特にありません。
[35]
XHTML m12n DTDモジュール定義によれば、
version
属性は
%FPI.datatype;
で、
固定属性で、既定値は
%XHTML.version;
です。
HTML 4 と比べると、属性型が単なる
CDATA
ではなく FPI
(公式公開識別子) と明記されていること、
既定値が %HTML.version;
でなく %XHTML.version;
であることが異なりますが、実質的に同じといってよいでしょう。
抽象モジュール定義でなぜ FPI
とされていないのかという疑問が湧きますが、
そこは (旧) HTML WG クオリティーでしょう。
[36]
XHTML m12n 1.1 では
XML Schemaモジュール定義が追加されています。
データ型は
になっています。既定値はありません。xh11:FPI
[39]
XHTML 2.0 の2004年7月22日版 WD
で、
要素に html
version
属性が追加されました。
The value of this attribute specifies which XHTML Family document type governs the current document. The format of this attribute value is unspecified.
と説明されていました。また、未解決の問題点として、
version
属性の書式が決まっていないことが挙げられていました。
1つ前の2003年の WD では
要素に html
profile
属性がありました。2004年の WD
で version
が追加されたのは
profile
の代わりなのかもしれません。
[46]
>>45
XHTML-Print にも version
属性はあるのですが、
無視してよいことになっていて、
The version attribute is not applicable for printing since it was deprecated in the HTML 4.01 Specification [HTML4] in favor of version information within the DTD.
という意味不明な説明があります。
[48] XHTML+RDFa 1.0 では version
属性値は
XHTML+RDFa 1.0
とするべきとされていました。
[49] それ以前の XHTML1 では文書型宣言が必須でしたが、 XHTML+RDFa 1.0 ではその要件が削除されており、その代わりに設けられたのだと思われます。 でもその割には MUST でなくて SHOULD なのが謎です。
[55] XHTML+RDFa 1.1 では version
属性値は
XHTML+RDFa 1.1
として構わないとされていました。
[59] XHTML+RDFa 1.1 は version
属性の値によって
XHTML+RDFa の版を切り替えることを求めています。 (RDFa処理器の項を参照。)
[63] ところで RDFa の初期文脈の定義文書である >>61 と >>62 は XHTML+RDFa 1.1文書のようですが、なぜか
version
は RDFa 1.1
という謎の値になっています。
[64] HTML+RDFa 1.1 は、 XHTML5+RDFa 1.1文書が version
属性を使うべきではないとしています。
[60] HTML Standard は廃止された内容属性のリストにこれを含めました。一方で IDL属性は互換性のためとして
HTMLHtmlInterface
に残されています。
[6] HTML 4.01 移行用 DTD の場合
<html
version
="-//W3C//DTD HTML 4.01 Transitional//EN">
[9]
"<html version=" - Google Code Search
(2007-04-15 16:02:30 +09:00
版)
<http://www.google.com/codesearch?q=+%22%3Chtml+version%3D%22>
Web で配布されているプログラム等に同梱されている HTML 文書その他が検索対象なので、本当の Web の実態とは一致しないでしょうが、参考までに。
1.0
。まさか HTML 1.0
のつもりではないと思うのですが、
XHTML 1.0 か、あるいは XSLT 1.0 か。2.0
。おそらく本当に
HTML 2.0 のつもりでしょう。 ImageMagick
のソース・コードに含まれているようです。4.01
。
正しい DOCTYPE
宣言を使いながら
version
はこれ、という用例もありました。transitional 4.0
。-//IETF//DTD HTML 2.0//EN
。-//IETF//DTD HTML STRICT LEVEL 2//EN
。
なにを参考にしたのか知りませんが、 DOCTYPE
宣言の公開識別子も同じ値なので、
間違え方としては正しい(謎)。-//W3C//DTD HTML 3.2 Final//EN
。
使い方としては間違っていません。
この用例では DOCTYPE
宣言がありましたので、その点もおk。-//W3C//DTD HTML 3.2//EN
。
DOCTYPE
宣言の公開識別子はなぜか
HTML 4.0 でした。-//W3C//DTD HTML 4.0 Transitional//EN
。
DOCTYPE
宣言はなぜか公開識別子なし
(<!DocType HTML SYSTEM>
) でした。-//W3C//DTD XHTML 1.1//EN
。
使い方として間違ってはいませんが、
この用例には DOCTYPE
宣言がないので XHTML 1.1 としては妥当ではありません。C-HTML 1.0
。
Compact HTML 仕様書本文に従えば正しい使い方です。全部で24件見つかりました。
[43]
FX Online Japan (2007-06-10 22:06:37 +09:00
版) <http://www.fxonline.co.jp/i/>
<!doctype HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN"> <html version="C-HTML 1.0"> <head> <title>FX Online Japan</title> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <META name="CHTML" content="yes"> <META name="description" content="FX Online Japan"> </head>
(名無しさん)
[44]
第9節 大臣官房地方課 1.地方課の設置とその背景 (mof 著, 2004-12-30 16:02:49 +09:00
版) <http://www.mof.go.jp/zaimu/30nenn/main/010901.htm>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML LANG="ja-JP" VERSION="3.2"> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <META NAME="Author" CONTENT="mof"> <LINK REV="Made" HREF="mailto:info@mof.go.jp"> <TITLE>第9節 大臣官房地方課 1.地方課の設置とその背景</TITLE> </HEAD>
(名無しさん)
[40]
html要素 (2007-03-11 16:11:29 +09:00
版) <http://w3g.jp/xhtml/dic/html#version>
HTML 4.01 厳密DTD に version
属性が存在すると説明し、使用例まで載せています。
[47] XHTML 1.1のバージョン表記 - vantguarde - web:g ( 版) <http://web.g.hatena.ne.jp/vantguarde/20080127/1201401694>
[3] Bug 8979 – Please reconsider should-level requirement for version attribute ( 版) <http://www.w3.org/Bugs/Public/show_bug.cgi?id=8979>
version
属性が存在しません。