commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aristos Stavrou" <cs98...@cs.ucy.ac.cy>
Subject Re: [Digester] Help please
Date Wed, 21 Apr 2004 09:30:58 GMT
 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


Mime
View raw message