Dear Antonio, Simon and Adrian ,
Thank you very much for your help.
----- Original Message -----
From: "Adrian Perez Jorge" <aperez@ignos.com>
To: "Jakarta Commons Users List" <commons-user@jakarta.apache.org>
Sent: Wednesday, April 21, 2004 12:08 PM
Subject: Re: [Digester] Help please
> 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
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
|