You might want to have a look at
http://castor.org/how-to-use-references-in-xml.html
to get you started.
Werner
Daniel Wachter wrote:
> Hi,
>
> For my school-project I need to persist some object to xml-files.
> I saw castor and wow, I think thats the right way!
>
> I read the documentations, but I not found any hint for my problem.
> There are DeviceModels which consist of data keys (different device models
> can share the same data keys).
> Is it possible to marshall the objects, but without specifying the keys for
> each model but once on the top of the document?
>
> Thank you for helping
> Greetings Daniel
>
>
>
> My marshal action:
> ---------------------------------------------------------------------
> List models = new LinkedList<DeviceModel>();
> List attributes = new LinkedList<Datakey>();
>
> attributes.add(new Datakey("rad", "Solarstrahlung"));
> attributes.add(new Datakey("rad_e_day", "Solarenergie Tag"));
>
> DeviceModel model = new DeviceModel("S 2000C");
> model.setAttributes(attributes);
> models.add(model);
>
> marshaller.marshal(models);
>
>
>
> Here is an example of the xml file that I will receive on marshaling:
> ---------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <model-definition>
>
> <data-keys>
> <data-key id="rad" description="Solarstrahlung" />
> <data-key id="rad_e_day" description="Solarstrahlung Tag" />
> </data-keys>
>
> <models>
> <model name="S 2000C">
> <data-key-id>rad</data-key-id>
> </model>
>
> <model name="S 4000C">
> <data-key-id>rad_e_day</data-key-id>
> </model>
>
> <model name="S 5000C">
> <data-key-id>rad</data-key-id>
> <data-key-id>rad_e_day</data-key-id>
> </model>
> </models>
>
> </model-definition>
>
>
>
> Class DeviceModel:
> ---------------------------------------------------------------------
> public class DeviceModel {
>
> private String name;
> private List<Datakey> attributes;
>
> public DeviceModel() {
>
> }
>
> public DeviceModel(String name) {
> this.name = name;
> }
>
> public String getName() {
> return name;
> }
>
> public void setName(String name) {
> this.name = name;
> }
>
> public List<Datakey> getAttributes() {
> return attributes;
> }
>
> public void setAttributes(List<Datakey> attributes) {
> this.attributes = attributes;
> }
> }
>
>
>
> Class Datakey:
> ---------------------------------------------------------------------
> public class Datakey {
>
> private String id;
> private String description;
>
>
> public Datakey() {
> }
>
>
> public Datakey(String id, String description) {
> this.id = id;
> this.description = description;
> }
>
> public String getID() {
> return id;
> }
> public void setID(String id) {
> this.id = id;
> }
> public String getDescription() {
> return description;
> }
> public void setDescription(String description) {
> this.description = description;
> }
> }
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email