-RemoveDefResolver
public class RemoveDefResolver implements SpecificationResolver { public NodeDefinition getSpecificationItem(String namespaceURI, String localName, String qName, Attributes attributes) { if(qName.equals("remove")) { return new RemoveDefImpl(); return null; } }
public ApplicationContextImpl implements ApplicationContext { ... _specificationResolver.add(new RemoveDefResolver()); ... }
上記を実装かつCVSコミットしたので、0.2からはremoveを設定XMLに書くことができます!ということでお粗末さまでした。removeは簡単な例ですが、こんな感じでいくらかロジックのあるものも含め、仕様の挙動を満たすアダプター(SpecificationResolver)を作って、MayaServlet継承サーブレットのinit()とかで、ApplicationContextのaddSpecificationResolver()を呼んでおけばよいという風にしています。テンプレートのプロセッサも、TemplateProcessorの実装について、テンプレートパース時に用いるProcessorResolverを作り、ApplicationContextのaddProcessorResolver()を呼べばカスタマイズできるようになっています。