Hello,

is it necessary to have the type java.lang.Object for an Object that is
referred by IDREF. I tired to give use the Class that really should be the
type of the referred Object, but it doesn't work. The exception is:
java.lang.IllegalArgumentException: Type conversion error: could not set
value of kategorie(com.gastroeasy.xml.Kategorie) with value of type
java.lang.String

If you use java.lang.Object instead of com.gastroeasy.xml.Kategorie
everything works fine, but kategorie is an Object and not a Kategorie.

Can you help me?

Thx,
Thomas
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Thomas (company) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="kategorie">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="bezeichnung"/>
				<xs:element ref="kategorie" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="attribut-def" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="bezeichnung"/>
							<xs:element name="einheit" type="xs:string" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="id" type="xs:ID" use="required"/>
						<xs:attribute name="benoetigt" type="xs:boolean" use="optional" default="false"/>
						<xs:attribute name="suchbar" type="xs:boolean" use="optional" default="false"/>
						<xs:attribute name="wert-typ" type="wert-typ" use="optional" default="zahl-wert"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="artikel">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="bezeichnung"/>
				<xs:element name="beschreibung" type="sprach-element" minOccurs="0"/>
				<xs:element name="preis" type="xs:float"/>
				<xs:element name="bild-url" type="xs:anyURI"/>
				<xs:element name="bestand" type="xs:nonNegativeInteger" minOccurs="0"/>
				<xs:element name="attribut" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:choice>
							<xs:element name="sprach-wert" type="sprach-element"/>
							<xs:element name="zahl-wert" type="xs:float"/>
						</xs:choice>
						<xs:attribute name="attribut-def" type="xs:IDREF" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="kategorie" type="xs:IDREF" use="required"/>
			<xs:attribute name="geaendert" type="xs:dateTime" use="optional"/>
			<xs:attribute name="id" type="xs:ID" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="shop">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="kategorie"/>
				<xs:element name="person" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="vorname" type="xs:string"/>
							<xs:element name="login" type="xs:string"/>
							<xs:element name="passwort" type="xs:string" minOccurs="0"/>
							<xs:element ref="artikel" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="bestellung" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="posten" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="artikel" type="xs:IDREF" use="required"/>
												<xs:attribute name="anzahl" type="xs:integer" use="optional" default="1"/>
												<xs:attribute name="bestellung" type="xs:IDREF" use="required"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="id" type="xs:ID" use="required"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="id" type="xs:ID" use="required"/>
						<xs:attribute name="haendler" type="xs:boolean" use="optional" default="false"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="sprache">
		<xs:restriction base="xs:language">
			<xs:enumeration value="de"/>
			<xs:enumeration value="en"/>
			<xs:enumeration value="it"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="bezeichnung" type="sprach-element"/>
	<xs:complexType name="sprach-element">
		<xs:sequence>
			<xs:element name="sprach-eintrag" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="sprache" type="sprache" use="optional" default="de"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="wert-typ">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="sprach-wert"/>
			<xs:enumeration value="zahl-wert"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

Reply via email to