andersland
Grünschnabel
Hallo,
ich bin recht unerfahren was JAXB angeht und habe gleich ein kleines Problem: Ich möchte gerne eine Objektmapping unter verwendung von Inhalten aus der XML-Datei verfeinern und ggf. andere Klassen zuweisen. Konkret würde mich interessieren, wie ich bei folgendem XSD:
Je nach Inhalt von <xs:element ref="pd:type"/> jeweils unterschiedliche Klassen für Activity ableiten kann.
Ich kenne solche Verfahren aus der Hibernate-Ecke, finde hier aber nicht den richtigen Ansatz.
Wenn es alternativen zu JAXB gibt, welche das Problem einfach lösen können, wäre ich auch hier für einen Tipp dankbar
Viele Grüße
Anders
ich bin recht unerfahren was JAXB angeht und habe gleich ein kleines Problem: Ich möchte gerne eine Objektmapping unter verwendung von Inhalten aus der XML-Datei verfeinern und ggf. andere Klassen zuweisen. Konkret würde mich interessieren, wie ich bei folgendem XSD:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 rel. 3 (http://www.altova.com) by Andersland (private) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pd="http://xmlns.abc.com/xy/process/1999" targetNamespace="http://xmlns.abc.com/xy/process/1999" elementFormDefault="qualified">
<xs:element name="ProcessDefinition">
<xs:complexType>
<xs:sequence>
<xs:element ref="pd:activity" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="processVariables">
<xs:complexType/>
</xs:element>
<xs:element name="activity">
<xs:complexType>
<xs:sequence>
<xs:element ref="pd:type"/>
<xs:element ref="pd:resourceType"/>
</xs:sequence>
<xs:attribute name="name" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="type" type="xs:string"/>
<xs:element name="resourceType" type="xs:NCName"/>
<xs:element name="x" type="xs:integer"/>
<xs:element name="y" type="xs:integer"/>
<xs:element name="inputBindings">
<xs:complexType/>
</xs:element>
<xs:element name="transition">
<xs:complexType>
<xs:sequence>
<xs:element ref="pd:from"/>
<xs:element ref="pd:to"/>
<xs:element ref="pd:lineType"/>
<xs:element ref="pd:lineColor"/>
<xs:element ref="pd:conditionType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="from" type="xs:string"/>
<xs:element name="to" type="xs:string"/>
<xs:element name="lineType" type="xs:NCName"/>
<xs:element name="lineColor" type="xs:integer"/>
<xs:element name="conditionType" type="xs:NCName"/>
</xs:schema>
Je nach Inhalt von <xs:element ref="pd:type"/> jeweils unterschiedliche Klassen für Activity ableiten kann.
Ich kenne solche Verfahren aus der Hibernate-Ecke, finde hier aber nicht den richtigen Ansatz.
Wenn es alternativen zu JAXB gibt, welche das Problem einfach lösen können, wäre ich auch hier für einen Tipp dankbar
Viele Grüße
Anders