NvdlValidatingReader alpha1
ハマりにハマった挙句、原因がRelaxngValidatingReaderのバグだったことに気付いて、直したらようやくちょいと動くようになりました。とりあえずnvdl.nvdlと仕様書に載っているサンプルは動作するみたい。
とりあえず何の説明書きもないファイル群:
- Commons.Xml.Nvdl-20050301.zip - ソース
- nvdltests.zip - 仕様書に載ってるサンプルをでっちあげたもの
TODO:
context pathのチェック。これはdispatcherのrule探索の関数を1つ直すだけ(といってもパスのスタックがいるけど…)→alpha3で対応- 属性セクションのフィルタリング。これは検証系に食わせるXmlReader(今のところこれはPlaceHoldableXmlReaderという謎の名前になっているが、変える予定)のMoveTo*Attribute()とGetAttribute()にフィルタをかける
だけだけじゃなくて、schema rewriteもしないと…(すっかり忘れてた)。 - createPlaceHolder()。検証系にダミーの要素を食わせる。ただしDepthなどの調整が必要。
mime typeとスキーマを解決するprovider interface(設計間違ってたので全部やり直し)→alpha2で対応
うひょー、これ先月のそのままコピーしただけじゃん。って、何も進んでいないかのようだけど、先月の設計はinterpretationの扱いに問題ありありだったのです。いや、まだ問題が無いとはちと考えにくいですが…。ともあれ、上記のいくつかを終えたらsvnにcheckinしようと思います。