date: 2004-02-19 editor: 石川哲志 see also: http://www.satoshii.org/markup/notes/2004/02#date19 以下 MOD'N of XHTML 1.0 SE (WD) の global attrib の DTD 実装についてのメモ。 どうせ id と xhtml:id は別々にせにゃあかんのだから (*)、選択式にすべきだろう。 * [VC: One ID per Element Type] のため。 http://www.w3.org/TR/2004/REC-xml-20040204/#one-id-per-el ****** QNames Module: 単に XHTML.prefixed を INCLUDE すると強制的に要素も prefixed されてしまうので、 XHTML.prefixed を element と attrib でわける必要がある。XHTML.pfx も。 XHTML.attrs.pfx は must not be empty で常時定義されていてよい。 問題は XHTML.pfx と XHTML.attrs.pfx が一致する場合。 条件を切り分ければ大丈夫か? 「いづれにせよ切り分ける必要はある」で FA。 # XHTML.global.attrs.prefixed が INCLUDE の時には # XHTML.prefixed を INCLUDE して XHTML.pfx を空にするようにすれば # いいよな気もしたが、ダメだろう。 ともかく、namespace declaration すなわち XHTML.xmlns.attrib において XHTML.xmlns.decl.attrib の default/prefixed の組み合わせが 要素 prefixed 属性 global → NS宣言 prefixed 要素 prefixed 属性 local → NS宣言 prefixed 要素 default 属性 local → NS宣言 default 要素 default 属性 global → NS宣言 両方 となるように conditional section を書けばよい。 ****** Common Attributes Module: 旧来のモジュールと global 版のモジュールの二つに分割する。 global 版のプロトタイプ http://www.satoshii.org/dtd/xhtml/xhtml-attribs-global-1.mod ****** Framework Module: %xhtml-attribs.mod;]]> の箇所を %xhtml-attribs-global.mod;]]> %xhtml-attribs.mod;]]> とする。 ****** 以上で、XHTML.global.attrs.prefixed を INCLUDE した場合には global attribute のみを、IGNORE した場合には local attribute のみを、 それぞれ使えるようになる。実物書いたら propose しよう。