昨日ここで、SetPropertiesRuleの特殊パターンを書いたのだから、
ルールXMLでの記述も書いておくべきだ。
【解析対象のXML】
<?xml version="1.0" encoding="Shift_JIS" ?>
<Project>
<Group key="ga" name="グループA" xmlns:group="grpA">
:
----------------
Javaコーディングでは以下のように書いていたのは、
digester.addRule("Project/Group",new SetPropertiesRule("xmlns:group","group"));
ルールXMLでは、
<digester-rules>
:
<pattern value="Project/Group">
<object-create-rule classname="sample.project.Group" />
<set-properties-rule>
<alias attr-name="xmlns:group" prop-name="group" />
</set-properties-rule>
<set-next-rule methodname="addGroup"/>
</pattern>
:
のように、<set-properties-rule /> と書くのではなく
set-properties-rule の中に alias を上記のように書くことになる。
alias で書かなかった keyとname属性もちゃんとプロパティとして
認識してくれるのは、いいかげんというか丁寧というか。。。
以上が判っていても、ルールXMLを書くのは、後々のXML地獄を思うと賛成できず、digester-APIによるJavaコードで解析ルールを書くべきと感じてるが、
何ヶ月後には、また違う考えを持つかもしれない