-Kariyushi
私的ローカルR&Dプロジェクト「Kariyushi」。「Kariyushi」は以下を目的としたパーサー&ユーティリティです。
- ランタイムは普通の
DOM3 orSAX2パーサー デザインタイムでは文法エラーがおきているXMLおよびHTMLでも指定Offsetまで欠如した文法を補いながらパースするSAX2ならすでにできてる- デザインタイムではIgnorableWhitespaceおよびエレメント内の空白改行と属性の出現順序を保存したDOMを作り、永続化時にはそのWhitespaceも復元する
XercesのXNIを使ってつくるが、Scannerはいじらないこと目標。なぜならNekoHTMLをそのまま使えるようにするため。普通のSAXプログラミングでできそう?- ランタイムはjava.lang.Classとjava.lang.reflection.*を使ってオブジェクト生成やリフレクションをする
- デザインタイムはorg.seasar.kijimuna.core.rtti.*を使ってオブジェクト生成やリフレクションをする
ランタイムとデザインタイムの「調和」のためのミッシングリングを補うものです。が、ちょっと書いてうんざりしてきた。。。もう地味すぎて(笑。
追記
NekoHTMLもFilterとConfigurationでなんとかなってるのね、なるほど。あとはNekoHTMLのSAXParserがちゃんと(S2JSFで必要な機能が)動作するのかを確かめて、動けばパーサーではなくSAX2+ユーティリティで実装。動かなければXNIのFilterとかで付加機能のついたDOMParserをつくるっと。