Jintrick.netagenda2004年06月アーカイブ → 2004年06月27日

Relax NGで書かれたXHTMLのスキーマに誤りが

compact syntax にしてみたのだけれど、すると粗が見えてきた。http://www.thaiopensource.com/relaxng/xhtml/modules/text.rng 内のpre要素の定義:

pre = element pre { pre.attlist, Inline.model }

Inline.model(インライン要素の混合内容)て。これではimg要素とかを許可してしまう。

http://www.thaiopensource.com/relaxng/xhtml/modules/edit.rng内のdel要素の定義:

del = element del { Edit.attrib, Inline.model }
Edit.attrib =
	attribute cite { URI.datatype }?,
	attribute datetime { Datetime.datatype }?

Inline.model(インライン要素の混合内容)しか削除できない。しかも属性はciteとdatetimeだけ。

結局XHTML1.0 transitional DTDを読みながら書き直したほうが良いらしい。すっきりと切り詰めて書けばかなり読みやすくなるだろうし。


webmaster@jintrick.net
公開: 2004年06月27日
カテゴリ: スキーマ