-プールで考えた

今日はすこし早めに帰って、プールで泳いできました。泳ぎながら考えました。サウナでも考えました。
XPathが悩ましいのは、このインジェクションルールのところにしか適用が思いつかないところ。いきなりここだけXPath記述が出てくるというのも、ユーザー的にどうだろうかと。実装的には楽しいけど、どこまで有効かというのが見えなくなってきてしまいました。jaxenで実装するのは結構面白いのですが、しかし、です。
一方で、XPathの受けの余地を残すためにも、テンプレートのノード構造を取っておくことはアリかと思います。今は、テンプレートのパース結果はパースする先から捨てています。しかし、レゾルバで解決するときに、親ノードや子ノードの状態からレゾルバの結果が違う実装も可能にしておくのは大事かもしません。同時にテンプレートの状態を今はSpecificationNode#getOriginalNode()で取ってますが、これをきちんと属性も含めて取れるように作りこんでおくことも大事かと思います。
m:componentのアイディアは意外と大事かも。制御ノードとしてきちんとおいておくと属性がぶつかることを心配することがなくなります。JSPカスタムタグでreplaceなどのエンジン決めうちの属性がぶつかるものが無いとは限りません。また、m:ignoreというようなエンジン固有機能をほかにも定義することにより、設定XMLの記述方法の骨子が固まります。
m:名前空間に割り当てる機能はエンジンの挙動を決めるものに限って、他は別の名前空間を切りなおすこともしておこうと思います。
ちなみに、手元ではXPath対応のためのjaxen試験実装はできたんだけどね。投入するかどうか。。。寝て考えよう。