XHTML Schema Modularization

XHTML m12n 1.1 (HTML)

[2] XHTML m12n 1.1 は、XHTML m12n 1.0 の改訂版でした。 W3C HTML WG (後の XHTML2 WG) により開発されました。

[3] HTML WG の他の仕様や、若干数の他の標準化団体XHTML 関連仕様などでマーク付け言語の仕様化の基盤として使われました。 しかし XML の衰退により、使われなくなりました。

XHTML m12n 1.0 (第1版) 勧告からの変更点

[405] XHTML m12n 1.0 (第1版) 勧告からの変更点のまとめです。

技術的な変更

XML Schema 実装

[437] XML Schema 実装に関する規定 (附属書 A.、B.、C.) が追加されました。

DTD 実装

[446] F.2.5. XHTML Qualified Names大域属性XML Schema 名前空間属性のための定義が追加されています。

[450] F.3.1. XHTML Core Moduleshtml 要素xsi:schemaLocation 属性が追加されています。

大域属性

適合性

[407] 3.1. XHTML Host Language Document Type Conformance にある XHTMLホスト言語文書型の定義の第5項で、 追加の (非 XHTML) 要素について、 XHTMLホスト言語文書型に取り込まれている XHTMLモジュールで定義されている属性を が利用できますが、 XHTML名前空間を指定した大域属性するべきであり、 意味XHTML 要素の場合と同じである、 という規定が追加されています。 3.2. XHTML Integration Set Document Type Conformance にある XHTML統合集合文書型の定義の第5項も同様です。

ここには特にどの属性を使ってもよい、 という限定はないので、どの属性も使ってよいみたいです。
なぜあえて適合性の節で繰り返し述べているのかは謎です。

抽象モジュール定義

[416] 5.1. Attribute Collections で、 XHTML 属性集成属性は非 XHTML 要素大域属性として使えること、 その場合の意味は局所属性と同じこと、 XHTML 名前空間要素大域属性を使うのは誤りであること、 が追記されました。

誤り」の意味は定義されていません。 また、適合性の項では任意の属性が使えるかのような表現でしたが、 こちらによれば属性集成に含まれる属性だけがそうであるようです。

DTD 実装

[444] F.2.4. XHTML Common Attribute Definitions大域属性用の属性定義が追加されました。

[454] F.3.13. Intrinsic Events大域属性属性定義が追加されています。

空白の処理

利用者エージェント適合性

[411] 3.5. XHTML Family User Agent Conformance で、旧第9項・新第8項以降にあった空白に関する独自の規定はすべて削除され、 代わりに XML 1.0CSS に基づき処理すること、 xml:spacedefault なら preserve と同じに処理すること、という規定に入れ替えられました。

抽象モジュール定義

[418] 5.1. Attribute Collections で、中核 (Core) 属性集成xml:space 属性が追加されました。 defaultpreserve が認められる値で、 default既定値です。

これでは XML の定義とは違って省略時に親要素の指定を継承しないと思うのですが、 それでよいのでしょうか。

[424] 5.2.2. Text Modulepre 要素から xml:space 属性が削除されています。

[429] 5.16. Scripting Module で、 script 要素から xml:space 属性が削除されました。

[431] 5.17. Style Sheet Module で、 style 要素から xml:space 属性が削除されました。

DTD 実装

[445] F.2.4. XHTML Common Attribute DefinitionsCore.attribxml:space属性定義が追加されました。 抽象モジュール定義とは異なり、 唯一認められる値は preserve で、 既定値preserve です。

[458] F.4.1. Block Phrasalpre 要素から xml:space 属性が削除されました。

他の元々この属性があった要素からは削除されていないのに。

id 属性

抽象モジュール定義

[421] 5.2.1. Structure Module で、 headhtmltitleid 属性が追加されました。

[427] 5.15. Metainformation Module で、 meta 要素id 属性が追加されました。

[428] 5.16. Scripting Module で、 script 要素id 属性が追加されました。

[430] 5.17. Style Sheet Module で、 style 要素id 属性が追加されました。

[432] 5.20. Base Module で、 base 要素id 属性が追加されました。

DTD 実装

[447] F.3.1. XHTML Core Moduleshead 要素id 属性が追加されています。

[451] F.3.1. XHTML Core Moduleshtml 要素id 属性が追加されています。

[455] F.3.15. Scriptingscript 要素id 属性が追加されています。

[456] F.3.16. Style Sheetstyle 要素id 属性が追加されています。

URI 属性

[415] 4.3. Attribute Types[URIURIs の定義が、 元々「RFC 2396URI」だったのが 「XML SchemaanyURI」 (の間隔分離の並び) に改められました。

言語属性

属性型

[412] 4.3. Attribute TypesLanguageCode の参照する規格が、 RFC 3066 のみから「RFC 3066 またはその後継版」になりました。

「または」というのはどちらか選べるのでしょうか。 よくわかりません。

[477] 4.3. Attribute TypesLanguageCodes という属性型が追加されています。

抽象モジュール定義

[420] 5.1. Attribute Collections で、 xml:lang 属性属性型NMTOKEN から CDATA に変更されました。

これは XML における定義の変更に追随したものです。

[425] 5.4.3. Bi-directional Text Module で、 bdo 要素xml:lang 属性が追加されています。

DTD 実装

[441] F.2.3. XHTML DatatypesLanguageCode.datatype実体宣言直前の注釈の内容に 「RFC 3066」とあったところが 「RFC 3066 またはその後継版」 と改められました。また、実体値NMTOKEN から CDATA に改められました。

[442] F.2.3. XHTML DatatypesLanguageCodes.datatype実体宣言が追加されました。

profile 属性

抽象モジュール定義

[422] 5.2.1. Structure Module で、 head 要素profile 属性属性型URI から URIs に変更されました。

そのいきさつは profile の項を参照してください。

QName 属性

属性型

[413] 4.3. Attribute TypesLinkTypes の定義に、追加のリンク型を使いたかったら HTMLメタ情報プロファイルを使うべきだという旨、 将来の版では QName が使えるようになるかもしれない旨が追記されました。

[414] 4.3. Attribute TypesQName QNames が新たに属性型として追加されました。

DTD 実装

[440] F.2.3. XHTML Datatypes に「Placeholder Compact URI-related types」 として CURIE.datatypeCURIEs.datatypeSafeCURIE.datatypeSafeCURIEs.datatypeURIorSafeCURIE.datatypeURIorSafeCURIEs.datatype実体宣言 (実体値はいずれも CDATA) が追加されました。

[443] F.2.3. XHTML DatatypesQName.datatypeQNames.datatype実体宣言が追加されました。

文字実体宣言

[438] F.1.2. XHTML Special Characters<&実体宣言が誤っていたのが修正されました。

スキーマ識別子

[406] 3.1. XHTML Host Language Document Type Conformance にある XHTMLホスト言語文書型の定義の第2項で、 スキーマの識別子が「XHTML」 を「最初の字句として」持たなければならないとされていたところ、 「XHTML」からはじまらなければならない、 と改められました。 3.2. XHTML Integration Set Document Type Conformance にある XHTML統合集合文書型の定義の第2項も同様です。

元々「字句」というのは定義されていなかったわけですが。

その他内容モデル関連

抽象モジュール定義

[423] 5.2.2. Text Moduleblockquote最小内容モデルから PCDATA が除外されました。

元々の定義が DTD実装XHTML 1.0 厳密DTDXHTML 1.1 と矛盾しており、間違いだったとみられます。

[473] 5.5.2. Forms Modulelegend 要素最小内容モデルでもよいように修正されました。

DTD 実装

[448] F.3.1. XHTML Core Modulesbody 要素内容でもよいように変更されています (+*)。

[449] F.4.1. Block Phrasalblockquote 要素内容モデルにできるように変更されています。

[457] F.4.1. Block Phrasalpre 要素内容モデルから script 要素が除去され、 %Misc.class; が追加されました。

[459] F.4.8. Legacy Redeclarations から %applet.content;実体宣言が削除されました。

applet遺物モジュールとは別扱いになっており、 ここでは使われないため。

その他属性関連

抽象モジュール定義

[426] 5.6.2. Tables Module で、 table 要素から datapagesize 属性が削除されています。

[433] 5.22. Legacy Module で、 dl 要素から type 属性が削除されました。

[434] 5.22. Legacy Module で、 img 要素align 属性属性値(left|center|right|justify) とされていたところ、 (top|middle|bottom|left|right) に修正されました。

[435] 5.22. Legacy Module で、 table, tr, th, td属性が追加される条件は表モジュールが選択されていることとされていましたが、 基本表モジュールの場合も追加されました。

[436] 5.22. Legacy Module で、 th 要素td 要素属性型Pixels から Length に改められました。

DTD 実装

[452] F.3.4.1. Basic Formsinput 要素size 属性CDATA から %Number.datatype; に変更されています。

F.3.4.2. Forms では元々 %Number.datatype; でした。

[453] F.3.5.1. Basic Tablestable 要素width 属性が追加されています。

その他 DTD 実装関連

[439] F.2. XHTML Modular Framework記法モジュールは既定の状態では読み込まれないように改められました。

その他適合性関連

[408] 3.3. XHTML Family Module ConformanceXHTML族モジュール適合性の規定の第4項で、 本文とスキーマが矛盾する場合には本文が優先されなければならないという規定が設けられました。

[409] 3.5. XHTML Family User Agent ConformanceXHTML族利用者エージェント適合性の第4項に、 元々未知の要素についてその内容テキストであればそれを利用者に提示しなければならない、 とありましたが、その部分が削除されました。 「子供を処理しなければならない」という規定と冗長な上に、 不要な矛盾を生じさせるおそれがあるからでしょう (例えば img 要素子供を提示しなければならないのか、 とか)。

[410] 3.5. XHTML Family User Agent Conformance で、旧第6項には未知の属性値は代わりに既定値を用いなければならない、 とありましたが、削除されました。

なぜ?

[417] 5.1. Attribute Collections で、属性集成と各要素で同じ属性を定義している場合、 それらは衝突しない、内容モデルをそれにしたがって更新するのはスキーマの実装者の責任である、と追記されました。

衝突しないからどうしたらいいのか (要素の方が優先されるのか?) は特に述べられていません。

編集上の主要な変更

[460] Abstract に、要素や属性の意味は定義せず、 モジュール化について定義するだけという説明が加わりました。

[463] 2. Terms and Definitions機能 (facilities) の定義が加わりました。 機能は、要素属性要素属性に関連付けられた意味です。

適合性関係

[464] RFC 2119 助動詞大文字になりました。

[465] 3.4. XHTML Family Document Conformance に、非妥当文書に対する利用者エージェントの動作は未定義だと明記されました。

そこがこれを書くのに適当な節なのか疑問ですが。

XML Schema 対応関係

[461] 1.3.2. Module implementations に、 XHTMLモジュール化の各種実装のことを 「スキーマ」と呼ぶ、という説明が加わりました。

[462] 1.3.3. Hybrid document types混成文書型の定義が DTD に特化したものからスキーマ一般向けのものに改められました。

内容モデル関係

[466] 4.2. Content Types の「PCDATA」 の説明のところで、元々 「処理対象文字データ (processed character data)」という説明があったのですが、 更に「解析対象文字データ (parsed character data)」という説明が加わりました。

何がしたいのかよくわかりません。

抽象モジュール関係

[419] 5.1. Attribute Collections で、国際化 (I18N) 属性集成dir 属性が追加されました。また、 双方向性テキストモジュールが選択されない場合には xml:lang 属性だけが含まれる (= dir 属性は含まれない) ことが追記されました。

厳密にはこれは新規追加ではなく、 元々双方向性テキストモジュールの節の本文にちゃんと書いてありました。

[467] 5.5.1. Basic Forms Module に、基本フォームモジュールフォームモジュール部分集合であり、 1つの文書型で同時には使えないことが明記されました。

逆は元々明記されていました。

[468] 5.6.1. Basic Tables Module に、基本表モジュール表モジュール部分集合で、 1つの文書型で同時には使えないことが明記されました。 また、 5.6.2. Tables Module に、表モジュール基本表モジュール超集合で、 1つの文書型で同時には使えないことが明記されました。

[469] 5.8. Client-side Image Map Module に、 input 要素usemap 属性が追加されるのはフォーム・モジュール基本フォーム・モジュールが取り込まれている場合に限ることが明記されました。

なぜか「最小内容モデル」の欄に。 気持ちはわかりますが、それはおかしい (object 要素の注記は XHTML m12n 1.0 の時点でおかしなところに書いてありました)。 現に 5.9. Server-side Image Map Module の表には「最小内容モデル」と「注記」 の2つのがあります (XHTML m12n 1.0 の時点で)。

[470] 5.12. Target Module で、 base 要素target 属性が追加されるのは遺物モジュールが選択されている場合とされていましたが、 基底モジュールに訂正されました。

[471] 5.14. Intrinsic Events Module の節に、このモジュールが選択されると事象属性集成活性化されることが明記されました。

属性集成の節には元々明記されていました。 ちなみに「活性化」は未定義語です。

[472] 5.22. Legacy Module に、遺物モジュール非推奨であること、 非推奨要素属性内容モデルのすべてを含んだモジュールではなく、 仕様書が書かれた時点で多く使われていると思われたものだけであることが明記されました。

非推奨」の意味は定義されていませんし、 非推奨要素属性の取捨選択の客観的な根拠も示されていません。

歴史

XHTML m12n 1.0 SE WD

[4] m12n SEWD がでました。変更点その他についてはマーク付けノート http://www.satoshii.org/markup/notes/2004/02 に詳しい記事があります。

最大の変更点は、 XHTML 1 名前空間の大域属性の導入です。 これによって、 foo:foo xmlns:foo="http://foo.example/" xhtml1:class="class1 class2" xmlns:xhtml1="http://www.w3.org/1999/xhtml" / のようなことができるようになります。 (なにげに Gecko はこの類を一部先行実装していたりします。)

[5] Modularization of XHTML™ 1.0 - Second Edition http://www.w3.org/TR/2004/WD-xhtml-modularization-20040218/

XHTML m12n 1.1 1st PR

[6] XHTML™ Modularization 1.1 http://www.w3.org/TR/2006/PR-xhtml-modularization-20060213/

[7] 1.1 勧告案が公開されました。内容はほとんど、 なぜかなかったことにされている (Previous version の項を参照) 1.0 SE WD (>>5) と同じです。

これだけ変更しておいて PER → SE REC は無理だろうと思っていたら、 案の定 1.1 PR になりましたw

[10] 大きな違いは:

[8] DTDモジュールschemaLocation属性の部分は前の版 (>>5) より冗長性がなくなっていますが、まだよくない。

[8] 体系使用宣言処理指令 IW:XHTML1m12n:"dtd_module_defs.html#a_module_XHTML_Base_Architecture"名前空間整形式問題などいくつかの既に指摘されているはずの問題は修正されていない。 問題意識がないのだろう。

[9] XML Schemaモジュール名前にわざわざ接頭辞をつけるようにしたのは、 カメレオン・スキーマとして使うときに外部のモジュール名前が衝突しないためなのだろうが、 可動式の屋根の下に屋根を架すようなもので、何をしているのやらw

[11] Bjoern Hoehrmannが早速嫌味の効いたコメントをTAGに送ってますなあwwww

The xhtml:onkeypress architecture mid:ars1v1t936mbci521sdv2kacuhjfg4j06d@hive.bjoern.hoehrmann.de http://permalink.gmane.org/gmane.org.w3c.tag/6797

(名無しさん 2006-02-14 14:52:35 +00:00)

[28] XHTML Modularization 1.1 Implementation Report http://www.w3.org/MarkUp/2006/m12n-11-implementation.html

確かにこの文書、明らかに見出しのように見えるアレ(謎)は見出しではなくdivマーク付けされているよ。。。 (名無しさん 2006-02-15 07:48:24 +00:00)

[33] >>28 いつのまにか 404 になってる・・・。証拠隠滅? (2008年11月)

[29] Bjoernは2年前にも同じことを書いている。 質問も同じなら回答も同じw >>15 の変更はBjoernの指摘によるものだけど、逆に彼の指摘する点のうちそこしか反映されていない。

(名無しさん 2006-02-15 09:37:39 +00:00)

[30] Re: The xhtml:onkeypress architecture from Bjoern Hoehrmann on 2006-02-15 (www-archive@w3.org from February 2006) http://lists.w3.org/Archives/Public/www-archive/2006Feb/0019.html (名無しさん 2006-02-15 10:09:36 +00:00)

[31] ああ、たしかに http://www.w3.org/TR/xhtml-modularization で出てくるのが 1.1 PR に変わっている。。。 CRより先に進んでいるから?

でも http://www.w3.org/TR/xforms/XForms 1.0 SE PERではなく FE 勧告を指したままだし。。。

(名無しさん 2006-02-15 11:52:37 +00:00)

[32] xml:space undeclared in DTD for elements "script" and "style" from Jesus Arias Fisteus on 2006-02-21 (www-html-editor@w3.org from January to March 2006) http://lists.w3.org/Archives/Public/www-html-editor/2006JanMar/0129.html

やれやれだぜ。 (名無しさん 2006-02-22 10:29:00 +00:00)

[34] http://www.w3.org/TR/xhtml-m12n-schema から http://www.w3.org/TR/2004/WD-xhtml-modularization-20040218/リダイレクトされる件 (名無しさん 2006-05-18 07:00:38 +00:00)

XHTML m12n 1.1 LC WD

[35] XHTML™ Modularization 1.1 http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/

[36]PR からの変更点:

[58] >>38 QName と QNames は追加されただけで使われていない (名無しさん 2006-07-07 15:51:58 +00:00)

[1] >>58 その後すぐに出た role WD で参照されている。

[59] QA and current state of XML schemas for XHTML? from Alexandre Alapetite on 2006-07-30 (public-qa-dev@w3.org from July 2006) http://lists.w3.org/Archives/Public/public-qa-dev/2006Jul/0021.html (名無しさん 2006-08-06 04:37:46 +00:00)

[60] QA and current state of XML schemas for XHTML? from Alexandre Alapetite on 2006-07-30 (public-qa-dev@w3.org from July 2006) http://lists.w3.org/Archives/Public/public-qa-dev/2006Jul/0021.html (名無しさん 2006-08-06 04:38:03 +00:00)

[61] XHTML Modularization 1.1: 9 errors with the 'id' attribute (Specification + DTD + XML Schemas) from Alexandre Alapetite on 2006-07-30 (www-html-editor@w3.org from July to September 2006) http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031 (名無しさん 2006-08-06 04:41:17 +00:00)

[62] Request for comments on the definition of some data types in XHTML Modularisation (Alexandre Alapetite 著, 2007-02-19 00:19:51 +09:00 版) http://lists.w3.org/Archives/Public/www-html-editor/2007JanMar/0030

With regard to the lazy type issues, the working group was concerned that making the type checking overly constrained had the risk of incorrectly flagging valid documents as invalid; this is mostly because the regular expressions and RFCs involved are so complicated we are not confident that all legal cases will be addressed.

これ、 HTML WG は、自分とこの規格は複雑すぎてわかんないからなにが妥当かを明記できないといってるんだよな!?

(名無しさん 2007-02-23 18:06:08 +00:00)

[63] Request for comments on the definition of some data types in XHTML Modularisation (Alexandre Alapetite 著, 2007-02-19 00:19:51 +09:00 版) http://lists.w3.org/Archives/Public/www-html-editor/2007JanMar/0030

With regard to the lazy type issues, the working group was concerned that making the type checking overly constrained had the risk of incorrectly flagging valid documents as invalid; this is mostly because the regular expressions and RFCs involved are so complicated we are not confident that all legal cases will be addressed.

これ、 HTML WG は、自分とこの規格は複雑すぎてわかんないからなにが妥当かを明記できないといってるんだよな!? (名無しさん 2007-02-23 18:09:14 +00:00)

[64] DOM 1 が Normative Reference になっているが、 利用例みたいな文章で参照されているだけで、 なにを引いているのかさっぱりわからない。

(名無しさん)

[65] RFC 1808RFC 1738 が Normative Reference に入っているのが謎。どちらも引用元はなくて、 RFC 1808 は廃止されたから RFC 3986 を見よとあり、 RFC 3986 の項にも RFC 1738RFC 1808 の改訂版だという説明はあるんだけど、 なんで Normative Reference に残しておくのかよくわからない。

一度入れたものは互換性のために残しておく (外部からの素片識別子参照とか用) という方針かもしれないけど、 たぶん違うと思われ。

(名無しさん)

[66] SGML が Normative Reference なのも謎。文書型という用語の定義に出てきているが、どうして今更文書型という定義を (SGML から引くことにより) 行わなければならないのかも謎。 他には実体集合の説明で出てくるが、これも Normative にしないといけない内容には思えない。 (名無しさん)

[67] XHTML 1.0 が Normative Reference なのもよくわからない。 適合性の章に

While the conformance definitions can be found in this section, they necessarily reference normative text within this document, within the base XHTML specification [XHTML1], and within other related specifications. It is only possible to fully comprehend the conformance requirements of XHTML through a complete reading of all normative references.

が、どうして necessarily XHTML 1.0 を引用せざるを得ないのかよくわからない。 base XHTML specification とかいてあるが、 XHTML m12n 仕様書全体を通してみても、 (仕様書の作り方として) base になっているようには見えない。別の仕様書。

もちろん概念的には base だろうが。

XHTML族利用者エージェントの適合性の項には

A conforming user agent must meet all of the following criteria (as defined in [XHTML1]):

とあるのが唯一適合性に関する XHTML 1.0 への明示的な参照だが、 XHTML 1.0XHTML族利用者エージェントの適合性など定義していない。 という細かいことは置いておくにしても、 XHTML 1.0 で定義されているなら書き写さずとも参照すればいいだけのこと (Normative Reference を全部読めとまで書いているのだし)。 だいたい、 as defined とかいっているが、定義していることは一致していない。 (XHTML//空白を参照。)

ついでにいえば、 HTML WG 自身関連規格との関係がよくわからないといっているのだから (>>63)、 読者に Normative Reference 全部守れというのは無茶苦茶。 (名無しさん)

その後の変遷

[68] XHTML™ Modularization 1.1 (2007-04-03 10:33:20 +09:00 版) http://www.w3.org/MarkUp/2007/ED-xhtml-modularization-20070403/ (名無しさん 2007-04-07 14:18:00 +00:00)

[69] XHTML™ Modularization 1.1 (2007-04-05 12:50:12 +09:00 版) http://www.w3.org/MarkUp/2007/ED-xhtml-modularization-20070404/ (名無しさん 2007-04-07 14:19:59 +00:00)

[70] XHTML Document Development Area (2007-04-07 01:58:13 +09:00 版) http://www.w3.org/MarkUp/Drafts/#xhtml-modularization (名無しさん 2007-04-07 14:20:53 +00:00)

[71] XHTML™ Modularization 1.1 (2007-10-02 22:37:12 +09:00 版) http://www.w3.org/MarkUp/2007/ED-xhtml-modularization-20071002/

こんなのが追加されています:

For the avoidance of doubt, the behavior of User Agents in the presence of invalid documents is undefined.

(名無しさん)

[72] XHTML™ Modularization 1.1 (2007-11-16 02:23:04 +09:00 版) http://www.w3.org/MarkUp/2007/ED-xhtml-modularization-20071115/ (名無しさん)

[73] >>12 XHTMLホスト言語文書型適合性のところに、 XHTML属性を非 XHTML 要素でも使えるという記述があるのですが、 そのとき名前空間を指定することが MUST から SHOULD に変更されています。 (名無しさん)

[74] XHTML™ Modularization 1.1 (2008-01-17 06:00:25 +09:00 版) http://www.w3.org/MarkUp/2008/ED-xhtml-modularization-20080116/ (名無しさん)

[75] >>74

(名無しさん)

[76] >>74

(名無しさん)

[77] XHTML™ Modularization 1.1 (2008-03-19 21:12:20 +09:00 版) http://www.w3.org/MarkUp/2008/ED-xhtml-modularization-20080319/ (名無しさん)

[78] XHTML Modularization for RelaxNG (2008-06-05 01:00:46 +09:00 版) http://www.w3.org/MarkUp/2008/ED-xhtml-m12n-relaxng-20080604/ (名無しさん)

[79] XHTML™ Modularization 1.1 (2008-06-11 23:48:21 +09:00 版) http://www.w3.org/TR/2008/PR-xhtml-modularization-20080611/ (名無しさん)

[80] XHTML Modularization 1.1 Implementation Report (2008-06-12 00:56:03 +09:00 版) http://www.w3.org/MarkUp/2008/xhtml-m12n-11-implementation.html (名無しさん)

[81] XHTML™ Modularization 1.1 (2008-08-14 01:44:58 +09:00 版) http://www.w3.org/MarkUp/2008/ED-xhtml-modularization-20080813/ (名無しさん)

[82] XHTML™ Modularization 1.1 ( 版) http://www.w3.org/TR/2008/REC-xhtml-modularization-20081008/

[486] XHTML Modularization for RelaxNG ( 版) http://www.w3.org/MarkUp/2008/ED-xhtml-m12n-relaxng-20080604/

おかしな点

[474]HTML WG (現 XHTML2 WG) の仕様書でおかしな点がないものを探す方が難しいんですが、 あえてぱっと目に付いた問題点を挙げてみます。 7年がかりの新バージョンですらこれなんです。 W3C 勧告に2回なってます。信じられますか?

利用者エージェント適合性

[475] 3.5. XHTML Family User Agent Conformance で定義されている利用者エージェントの適合性については、 「XHTML 1.0 で定義されている通り」などと述べられていますが、 XHTML 1.0 とは内容が微妙に違います。

[476] そもそも、 1.1 で abstract に追加された文によると 「This specification [define] only how those elements and attributes are assembled into modules, and from those modules into markup languages.」 のですから、利用者エージェントの適合性が語られること自体おかしな話です。 利用者エージェントの適合性を議論するなら、 CR フェーズ終了の条件である実装報告に利用者エージェントの結果も載っていてしかるべきではないでしょうか。

引用文献の混乱

[479] 属性型の定義では URIXML Schema を参照していますが、 DTD 実装や XML Schema 実装では RFC 3986 を参照しています。 更に 1.1 で RFC 3987 が新たに参考文献に加えられていますが、 「RFC 3987 を参考文献に加えた」と 1.0 からの変更点に挙げられている以外、 全く引用されていません。

[480] 属性型の定義では LanguageCodeRFC 3066 またはその後継版を指していますが、 DTD 実装や XML Schema 実装では RFC 3066 だけを参照しています。 そもそも勧告の時期的に既に RFC 4646 が発行された後なのですが、敢えて RFC 3066 を引用しているのか、そうでないのかは不明です。

どうせ参考文献の更新を確認していないだけでしょうが。

xml:space 属性

[481] xml:space 属性抽象モジュール定義をそのまま理解すると、 既定値 defalt が常に適用されるので、 XML における定義のように親要素の指定を継承しないことになりますが、それでいいのでしょうか。

[482] DTD 定義によると xml:space の値は preserve だけで、全要素既定値preserve になっていて、 >>481 と矛盾しています。

id 属性

[484] 抽象モジュール定義では meta 要素にも追加された id 属性ですが、 DTD実装XML Schema 実装では追加されていません。

説明なき新規属性型

[478] LanguageCodesCURIE など、新しい属性型が何の説明もなく (1.0 からの変更点でも説明せず) 追加されています。 一応変更点に挙げられている QName/QNames も含めて、 これらの属性型はどこからも参照されていません。

実は roleRDFa のような他の仕様が引用していたりするのですが。

[485] QName とか CURIE とか安全CURIE とか、似て非なるものを色々増やしていって、 いったい何がしたいのですかね?

XML Schema の文字実体定義

[483] C.2.4. XHTML Character Entities では XML Schema モジュール内部部分集合から文字実体を定義する DTDモジュールを参照しているのですが、何の意味があるのでしょうか。 何かの魔除け効果でもあるのでしょうか。

次の版

XHTML m12n 1.1 2e

メモ