Digester的XML规则文件配置

   在Digester中提供了一个包:org.apache.commons.digester.xmlrules。这个包中的类可以从一个XML文档中读取并返回一个指定的配置信息。XML文档配置文件必须使用DTD,这是xmlrules包的一部分。


下面是一个在这们例子中使用的XML规则的配置文件rules.xml。在看这个文件之前,我将有几点说明。
   
    模式可以由两种不同的方式指定:一种是每一个XML结点属性描述一个规则,或使用<pattern>结点。这些被定义的模式对于所有的规则结点都是可用的。这两种方式可以混合使用,并且<pattern>结点可以嵌套。在这种情况下,被子结点定义的pattern被加到<pattern>结点之后。
    <alias>结点用来和<set-propeties-rule>一起使用来将XML结点的属性映射成Bean的属性。下面是rules.xml的代码:


<?xml version="1.0"?>
<digester-rules>
   <object-create-rule pattern="catalog" classname="Catalog" />
   <set-properties-rule pattern="catalog" >
      <alias attr-name="library" prop-name="library" />
   </set-properties-rule>
   <pattern value="catalog/book">
      <object-create-rule classname="Book" />
      <call-method-rule pattern="author" methodname="setAuthor"
                    paramcount="0" />
      <call-method-rule pattern="title" methodname="setTitle"
paramcount="0" />
      <set-next-rule methodname="addBook" />
   </pattern>
   <pattern value="catalog/magazine">
      <object-create-rule classname="Magazine" />
      <call-method-rule pattern="name" methodname="setName" paramcount="0" />
      <pattern value="article">
         <object-create-rule classname="Article" />
         <set-properties-rule>
            <alias attr-name="page" prop-name="page" />
         </set-properties-rule>
<call-method-rule pattern="headline" methodname="setHeadline"
paramcount="0" />
         <set-next-rule methodname="addArticle" />
      </pattern>
      <set-next-rule methodname="addMagazine" />
</pattern>
</digester-rules>

你可能感兴趣的:(apache,xml,bean)