Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

XML mapping inheritance problem; missing class indicator field

542444Feb 6 2007 — edited Feb 9 2007
Hi!

I am currently working on a project which involves mapping a large domain model on a XSD schema. For this we use Toplink 10.1.3.1 which is mostly great. But now I have a problem while wanting to use class inheritance.

In my XSD I have the following defined
<xs:complexType name="Traject">
	<xs:sequence>
		<xs:element name="SoortTraject" type="SoortTraject"/>
	</xs:sequence>
</xs:complexType>
<xs:complexType name="SpecialTraject">
	<xs:complexContent>
		<xs:extension base="Traject">
			<xs:sequence>
                             [some elements]  
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>
My XML is an implementation of this XSD and looks like this
<Trajecten>
        <Traject xsi:type="SpecialTraject"> 
                 [implementation of the elements]
         </Traject>
</Trajecten>
My domain model corresponts to the XSD, so there is a
Traject
object and an inherited
SpecialTraject 
object.
In the mapping I used the Advanced properties->inheritance on both descriptors telling the Traject descriptor that it was the 'Root Parent Descriptor' ('Use class indicator field' -> 'use XML Schema Type attribute', 'Use class indicator dictionary') and the SpecialTraject what it Child Descriptor was ('Traject').

When I test my mapping it always results in the same error (no matter how I configure this inheritance mapping). It says :
[TOPLINK-44] missing class indicator field 
Descriptor: XMLDescriptor(Traject --> [])
What am I doing wrong? Does anybody know a sollution?

Best regards,
Jouke Stoel
Developer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 9 2007
Added on Feb 6 2007
7 comments
878 views