ものがたり(旧)

atsushieno.hatenablog.com に続く

DiscoXmlResolver

discoとか初めて使っちゃったYO. というわけで作ってみた。まだ動かしてすらいない。

…で、試しにWS-Trustのwsdlで使われているxsdを読んでみて、初めて気付く:




Actual content model is non-deterministic, hence wildcard. The following shows intended content model:
































…。

スキーマを役立たずにしてまでunorderedにする意味があるんだろうか。そんなにinterleaveがほしいならRELAX NGで書けばいいのに。xs:anyじゃvalidationもろくに出来ないし、当然ながらクラス生成にも使えませんよ。

僕なら、外部要素なんてXMLSchema.xsdみたいにannotation要素でもくっつけて囲い込み、全体はchoiceにする。それぞれの要素についてメタ情報が必要なら、それぞれの要素をextendすれば良いこと。

まあ、こんな仕様を支持するつもりは毛頭無いけど。