Also, does the plugin class need to implement a specific class? It
doesn't look that way in the examples, and there doesn't appear to be
any way to get the Digester to call a specific method in the plugin
class.

I have the feeling I have misunderstood something here..

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of James Carman
Sent: 29 June 2007 11:59
To: Jakarta Commons Users List
Subject: Re: Attribute question for Commons Digester

Yeah, I didn't notice the "_" (or read the rest of the request).  You'll
need a custom rule here to convert that value, otherwise SetProperties
would work (and you don't need to specify "id"/"id" because it'll match
the properties to the attributes if they match exactly).  Why the
underscore anyway?

On 6/29/07, Poulton, Jonathan <[EMAIL PROTECTED]> wrote:
>
> You mean:
>
>         digester.addObjectCreate("article", Article.class);
>         digester.addSetProperties("article", "id", "id");
>
> Yup. I've tried that. The actual value of the id field in the XML 
> "_1234" is ignored and "0" is set on the Article id field instead. I 
> assume that this is because of the underscore in the id field.
>
> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]
> On Behalf Of James Carman
> Sent: 29 June 2007 11:48
> To: Jakarta Commons Users List
> Subject: Re: Attribute question for Commons Digester
>
> Have you tried an ObjectCreate followed by a SetProperties?
>
> On 6/29/07, Poulton, Jonathan <[EMAIL PROTECTED]> wrote:
> >
> > Surely someone has done this before?
> >
> >
> > -----Original Message-----
> > From: Poulton, Jonathan [mailto:[EMAIL PROTECTED]
> > Sent: 28 June 2007 17:41
> > To: commons-user@jakarta.apache.org
> > Subject: Digester problem
> >
> > Hi there,
> > I've tried finding a solution to what I think should be quite a 
> > simple
>
> > problem using the Commons Digester, but the tutorials I can find on 
> > the subject only really cover the basics and aren't of any help.
> >
> > Given an XML fragment like the following:
> >
> > <article id="_1234">
> >     <text>...</text>
> > </article>
> >
> > I need the Digester to call a method on an Article class, with the 
> > following signiture:
> >
> > public void setId(long id);
> >
> > In other words I just need a Rule that will fire for an XML "id"
> > attribute, and remove an underscore from the front of a String 
> > before converting it to a long, and calling the appropriate method.
> >
> > I realise that this will require some kind of custom class to chop 
> > up the String, but the pattern you apply to matching the rule
> > ("article/id") appears to refer to a nested id element, rather than 
> > an
>
> > id attribute.
> >
> > I can't seem to find an example of this anywhere. All the custom 
> > rules
>
> > examples appear to refer to nested elements. Any suggestions? Have I

> > missed something in the API?
> >
> > Cheers
> >
> > Jon
> >
> >
> >
> > --------------------------------------------------------------------
> > - To unsubscribe, e-mail: 
> > [EMAIL PROTECTED]
> > For additional commands, e-mail: 
> > [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to