Hello,

I've got a XML Schema and a XML instance of this schema. Now I want to 
generate a DataObject from the given XML instance. This works fine, but not 
as expected. If I've got a schema like this:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://www.organisation_01.com/xmlschema/v1.0/Person"; 
xmlns:tns="http://www.organisation_01.com/xmlschema/v1.0/Person"; 
elementFormDefault="qualified">
        <xs:element name="person" type="personType"/>
        
        <xs:complexType name="personType">
                <xs:all>
                        <xs:element name="firstname" type="xs:string"/>
                        <xs:element name="secondname" type="xs:string"/>
                </xs:all>
        </xs:complexType>
        
</xs:schema>

And my XML instance looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<tns:person
        xmlns:tns="http://www.organisation_01.com/xmlschema/v1.0/Person"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.organisation_01.com/xmlschema/v1.0/Person 
http://localhost:8080/xmlschema/organisation_01/person.xsd";>
        <tns:firstname>Peter</tns:firstname>
        <tns:secondname>Pan</tns:secondname>
</tns:person>

I can read in the XMl instance with (scope is my HelperContext):

                InputStream in = 
SdoDroolsTest.class.getResourceAsStream("/person01.xml");
                XMLDocument xml = scope.getXMLHelper().load(in);
                DataObject sdo_root = xml.getRootObject();

But the rootObject is not from type "personType" as expected. This is a big 
problem for me, because I've to do a rule based type mapping - this is quite 
difficult with generic types. My questions:

1. is there the possibility to declare sdo_root as "personType"...
2. or better - can Tuscany do this for me while generating the SDO from my 
XML? 

Thank's in advance for your help!

Claus

Reply via email to