XML DTD での混在内容モデル


「混在内容モデル」はいいですよね、#PCDATA 使うやつ。
DTD 書くとき、ある要素が#PCDATA と他の要素で構成される場合は、 or で繋ぐ様に心がけてれば、まぁ、大丈夫。

でもXMLの場合、基本的にはそれでいいんだけれど、

#PCDATA は最初に書け!

だそうで。つまり、

混在内容モデルは '(' S? '#PCDATA' (S? '|' S? Name) * S? ')*' あるいは '(' S? '#PCDATA' S? ')'

だそうです。てことは、 だそうだ。気を付けないと、パーサー通したとき、エラーだらけになるので 注意して、、、

私はハマった。


miuraj@isc.meiji.ac.jp