agavi-0.11系で validator 設定ファイルを効率的に書くよ(改)

XInclude (+ XPointer + XPath) を使うようにしてみた。

%core.config_dir%/validate/common.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations>
  <configuration>
    <validators>
      <validator name="page_id" class="AgaviNumberValidator">
        <argument>page_id</argument>
        <parameter name="method">read write</parameter>
        <parameter name="required">false</parameter>
        <parameter name="type">integer</parameter>
        <parameter name="min">1</parameter>
        <error>不正なページIDです。</error>
      </validator>
    </validators>
  </configuration>
</configurations>

各アクション用の hoge.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations xmlns:xi="http://www.w3.org/2001/XInclude">
  <configuration>
    <validators>
      <xi:include href="%core.config_dir%/validate/common.xml#xpointer(//validator[@name='page_id'])" />
    </validators>
  </configuration>
</configurations>