commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adrian Perez Jorge <ape...@ignos.com>
Subject Re: [Digester] Help please
Date Wed, 21 Apr 2004 09:08:32 GMT
Simon Kitching wrote:

>On Wed, 2004-04-21 at 02:30, Aristos Stavrou wrote:
>  
>
>>Could you please help me on the following problem?
>>
>>
>>If I have an xml file containing the following element:
>>...
>>    <author name="....">
>>        <address> ... </address>
>>    </author>
>>....
>>
>>and I have the following class defined for author element:
>>
>>public class Author{
>>  private string name;
>>  private string address;
>>
>>  public setName(name){
>>   name=this.name;
>>  }
>>  public getName(){
>>   return this.name;
>>  }
>>  public setAddress(addr){
>>   this.address=addr;
>>  }
>>  public getAddress(){
>>   return this.address;
>>  }
>>
>>}
>>
>>how do I say digester parser to set the "name" property of the stack top
>>object equal to the value of the "name" attribute of the author element.
>>I have tried:
>>addSetProperty(*/author, "name", "name");
>>but it doesn?t work. Is this the right rule?
>>    
>>
>
>No, it's not the right rule to use for this.
>
>You can use the SetPropertiesRule, which tries to map all xml attributes
>to matching set methods on the top object:
>  digester.addSetProperties("*/author");
>
>Or you can use the CallMethodRule:
>  digester.addCallMethod("*/author", "setName", 1);
>  digester.addCallParam("*/author", 0, "name");
>
>Regards,
>
>Simon
>
>  
>
  If you, Aristos, look at the example file 
`jakarta-commons/digester/src/examples/api/catalog/CatalogDigester.java' 
in the CVS repository, you will get the idea behind addSetProperty.

Comments in that example source code say:

        // Each tag of form "<attr id="foo" value="bar"/> needs to map
        // to a call to setFoo("bar").

And also this:

        // Note that despite the name similarity, there is no link
        // between SetPropertyRule and SetPropertiesRule.

Cheers,

Adrian P.J.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message