[ http://issues.apache.org/jira/browse/TUSCANY-505?page=comments#action_12418423 ]
Ed Slattery commented on TUSCANY-505: ------------------------------------- The SDO spec says: When saving the root element, an xsi:type may always be written in the XML to record the root DataObject's Type. If the rootElementURI and rootElementName correspond to a valid global element for that DataObject's Type, then an implementation may suppress the xsi:type. So, I could suppress the xsi:type, but in theory I should not have to. Isnt it better to get the implementation coping with it, rather than suppress it? > xsi:type on root element fo XML doc causes problems > --------------------------------------------------- > > Key: TUSCANY-505 > URL: http://issues.apache.org/jira/browse/TUSCANY-505 > Project: Tuscany > Type: Bug > Components: Java SDO Implementation > Versions: Java-M1 > Environment: Windows XP > Reporter: Simon Laws > > If I read the following doc: > <tns:RootElement xmlns:p="commonj.sdo" > xmlns:tns="http://www.apache.org/tuscany/interop" > xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.apache.org/tuscany/interop interop01.xsd"> > <SimpleTypeWithName>SimpleTypeWithName</SimpleTypeWithName> > </tns:RootElement> > With the following schema > <schema xmlns=" http://www.w3.org/2001/XMLSchema" > targetNamespace="http://www.apache.org/tuscany/interop" > xmlns:tns=" http://www.apache.org/tuscany/interop"> > > <include schemaLocation="interop10.xsd"/> > > <!-- top level test type --> > <complexType name="ComplexTypeRootType"> > <sequence> > <!-- simple types --> > <element name="SimpleTypeWithName" type="tns:SimpleTypeWithNameType"/> > </sequence> > </complexType> > > <element name="RootElement" type="tns:ComplexTypeRootType"/> > </schema> > The I get a valid document (doc) with some data objects in it out of the > following code: > FileInputStream inFileStream = new FileInputStream (inFileName); > XMLDocument doc = XMLHelper.INSTANCE.load(inFileStream); > If I try in read in (note I have added and xsi:type attribute): > <tns:RootElement xmlns:p="commonj.sdo" > xsi:type="tns:ComplexTypeRootType" > xmlns:tns="http://www.apache.org/tuscany/interop " > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.apache.org/tuscany/interop interop01.xsd"> > <SimpleTypeWithName>SimpleTypeWithName</SimpleTypeWithName> > </tns:RootElement> > The XMLHelper silently makes an empty document, i.e. the root element is null. > I talked with Frank and he suggested changing the xsi:type to refer to a type > that extends the root element type. This produced the same effect, i.e. and > empty document. However xsi:type does seem to behave in both the base type > and extension type case when attached to elements other than the root > element. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
