ものがたり(旧)

atsushieno.hatenablog.com に続く

NvdlValidatingReader alpha1

ハマりにハマった挙句、原因がRelaxngValidatingReaderのバグだったことに気付いて、直したらようやくちょいと動くようになりました。とりあえずnvdl.nvdlと仕様書に載っているサンプルは動作するみたい。

とりあえず何の説明書きもないファイル群:

TODO:

  • context pathのチェック。これはdispatcherのrule探索の関数を1つ直すだけ(といってもパスのスタックがいるけど…)→alpha3で対応
  • 属性セクションのフィルタリング。これは検証系に食わせるXmlReader(今のところこれはPlaceHoldableXmlReaderという謎の名前になっているが、変える予定)のMoveTo*Attribute()とGetAttribute()にフィルタをかけるだけだけじゃなくて、schema rewriteもしないと…(すっかり忘れてた)。
  • createPlaceHolder()。検証系にダミーの要素を食わせる。ただしDepthなどの調整が必要。
  • mime typeとスキーマを解決するprovider interface(設計間違ってたので全部やり直し)→alpha2で対応

うひょー、これ先月のそのままコピーしただけじゃん。って、何も進んでいないかのようだけど、先月の設計はinterpretationの扱いに問題ありありだったのです。いや、まだ問題が無いとはちと考えにくいですが…。ともあれ、上記のいくつかを終えたらsvnにcheckinしようと思います。