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

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-----
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:
> 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]

Reply via email to