Digester RuleXML 작성법

황제낙엽 2009.01.20 11:43 조회 수 : 177 추천:66

sitelink1  
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  


1. env.xml

<?xml version="1.0" encoding="UTF-8"?>  

<Console service-name="ajax-framework" port="8080">  

    <Admin id="admin" pass="test" />  

    <Project>  

        <name>AJAX-TEST</name>  

        <path>ajax-test/</path>  

        <index>main.html</index>  

    </Project>  

    <Resource>  

        <name>Flash</name>  

        <path>resource/flash</path>  

    </Resource>  

</Console>



2. EnvRule.xml

<?xml version="1.0"?>  

<digester-rules>  

       

    <object-create-rule pattern="Console" classname="console.config.ConsoleConfig" />  

       

    <set-properties-rule pattern="Console">  

        <alias attr-name="service-name" prop-name="serviceName" />  

        <alias attr-name="port" prop-name="port" />  

    </set-properties-rule>  

       

    <set-properties-rule pattern="Console/Admin">  

        <alias attr-name="id" prop-name="adminId" />  

        <alias attr-name="pass" prop-name="adminPass" />  

    </set-properties-rule>       

       

    <pattern value="Console/Project">  

        <object-create-rule classname="console.config.ConsoleProject" />  

        <call-method-rule pattern="name" methodname="setName" paramcount="0" />  

        <call-method-rule pattern="path" methodname="setPath" paramcount="0" />  

        <call-method-rule pattern="index" methodname="setIndex" paramcount="0" />  

        <set-next-rule methodname="addProject" />  

   </pattern>  

      

   <pattern value="Console/Resource">  

        <object-create-rule classname="console.config.ConsoleResource" />  

        <call-method-rule pattern="name" methodname="setName" paramcount="0" />  

        <call-method-rule pattern="path" methodname="setPath" paramcount="0" />  

        <set-next-rule methodname="addResource" />  

   </pattern>  

</digester-rules>



3. env.xml 따라가기

1) < console port="8080" service-name="ajax-framework" >
    이 태그를 만나면 먼저 console.config.ConsoleConfig 객체를 생성해야 한다. 
    => < object-create-rule classname="console.config.ConsoleConfig" pattern="Console" / >
    그리고 태그내의 service-name, port 속성값을 취하여 생성한 ConsoleConfig 객체에 셋팅해야 한다.
    => < set-properties-rule pattern="Console" >

2) < admin id=admin pass="test" / >
    이 태그를 만나면 태그내의 id 와 pass 속성값을 취하여 생성한 ConsoleConfig 객체에 셋팅해야 한다.
    => < set-properties-rule pattern="Console/Admin" >

3) < Project >
    이 태그를 만나면 console.config.ConsoleProject 객체를 생성한다.
    => < pattern value="Console/Project" >, < object-create-rule classname="console.config.ConsoleProject" / >
    child 레벨의 name, path, index 값을 취득하여 셋팅한다.
    => < call-method-rule pattern="name" methodname="setName" paramcount="0" / > ...

4) < Resource >
    3)번의 < Project > 와 마찬가지


번호 제목 글쓴이 날짜 조회 수
38 Digester/FAQ 황제낙엽 2010.10.16 232
» RuleXML 작성법 황제낙엽 2009.01.20 177
36 유용한 링크 황제낙엽 2009.01.20 73
35 Digester.peek(int n) 메서드의 고찰 황제낙엽 2008.08.26 88
34 Rule클래스의 작성 및 RuleXml 파일 작성 예제 file 황제낙엽 2008.05.15 82
33 Package org.apache.commons.digester Description - V1.8 (해석중) 황제낙엽 2008.05.15 173
32 Including programmatically-created rules: 의 고찰 황제낙엽 2008.05.14 80
31 Digester 의 xmlrules 를 이용하여 Properties 파일 읽어들이기 황제낙엽 2008.05.14 98
30 Parsing and Processing Large XML Documents with Digester Rules (해석중) file 황제낙엽 2008.05.13 1567
29 Package org.apache.commons.digester.xmlrules 황제낙엽 2008.05.13 92
28 Digester가 제공하는 기본 Rule을 이용한 예제 프로젝트 분석 file 황제낙엽 2008.05.13 174
27 Digester 의 소개 및 기본적인 사용법 황제낙엽 2008.05.09 116
26 Parsing, indexing, and searching XML with Digester and Lucene 황제낙엽 2008.05.07 534
25 Digester란? 황제낙엽 2008.05.07 136
24 접속 클라이언트의 아이피별로 로그 화일 기록하기 file 황제낙엽 2009.06.01 240
23 영문 메뉴얼 (PDF) file 황제낙엽 2009.05.29 65
22 사용자 정의 Appender 정의하여 Log4j 확장하기 황제낙엽 2009.05.28 286
21 POI - HSSF 예제 프로젝트 file 황제낙엽 2008.05.16 94
20 POI 셀 스타일 설정을 위한 예제 소스 file 황제낙엽 2008.05.16 1458
19 POI HSSF 기능 가이드 -- 퀵·가이드 (한글) 황제낙엽 2008.05.16 432