[
http://issues.apache.org/jira/browse/TUSCANY-505?page=comments#action_12418515
]
Yang ZHONG commented on TUSCANY-505:
------------------------------------
We can take a close look at
<getQuote xsi:type="getQuote"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.quickstockquote.com/StockQuoteService/"
xmlns:tns="http://www.quickstockquote.com/StockQuoteService/">
<symbol>IBM</symbol>
</getQuote>
"xmlns=" means "getQuote" under
"http://www.quickstockquote.com/StockQuoteService/",
I believe that conforms to Simon's XSD.
However, "xmlns=" also means "symbol" also under
"http://www.quickstockquote.com/StockQuoteService/",
that's NOT conforming unless Simon's XSD explicitly defines "symbol" GLOBAL
element.
As expected, given a XSD without the GLOBAL element definition, "xmlns="
generates this exception to me:
org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature '...' not found.
In a word, if not all elements are defined as GLOBAL element, "xmlns=" seems
still "usage error".
> 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]