Probably I'm saying something stupid, but can't you just pass your input XML in an XSLT and transform it to a form suitable to your needs? If you just need to move blocks of XML from outside to inside other blocks it should not be difficult.
Simone Robert Lee wrote: > I am parsing an xml file to the digester xml rules to create objects. > The xml file we've got does not confront to the java model correctly. The > address and contact elements are under the person. The correct format would > have been the address element to be inside the contact. > Unfortunately I can not change the format of the xml but I have to find a > way using xmlrule to overcome this problem. > The format of the xml file is: > <root> > <person> > <address line1="29 Glen Street" line2="Tamara" > postcode="XYZ123"></address> > <contact telephoneno="0123456789" > emailaddress="[EMAIL PROTECTED]"></contact> > </person> > </root> > > The Java has been defined as: > Person.java > ----------------- > Contact contact; > public void setContact(Contact contact) { this.contact = contact; } > public Contact getContact() { return contact; } > > Contact.java > ----------------- > Address address > public void setAddress(Address address) { this.address = address; } > public Address getAddress() { return address; } > > Address.java > ----------------- > private String line1; > private String line2; > private String postcode; > setters/getters for line1,line2 and postcode; > > my xml rule is: > <pattern value="root/person"> > <object-create-rule classname="com.xyz.Person" /> > <set-properties-rule /> > <set-next-rule methodname="setContact" /> > </pattern> > <pattern value="root/person/contact"> > <object-create-rule classname="com.xyz.Contact" /> > <set-properties-rule /> > <set-next-rule methodname="setAddress" /> > </pattern> > <pattern value="root/person/address"> > <!-- How to write my rule here --> > <object-create-rule classname="com.xyz.Address" /> > <set-properties-rule /> > <set-next-rule methodname="setAddress" /> > </pattern> > > If I add setAddress in Person.java then it works fine but setAddress is only > defined in Contact.java > How can I write my address rule so that it work? > > Any help I would appreciate. > Thanks. > > Robert Lee > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]