Re: [RE: Conditional typing] xsi:type not checked against schema

Piccand Régis wrote:

> Hello again,
> 
> (Eric, I have upgraded to XML Spy 4.3 and it works nearly fine now...)


Great!


> 
> When using xsi:type in an instance document, the validation checks that the
> value of the tag is valid, but the type specified is not checked against the
> schema.
> 
> For instance, my "element" is of type "valueType" which is a union of
> base64Binary and string.
> 
> In an instance document, any xsi:type is accepted.
> 
> schema :
> 	<xs:element name="root">
> 		<xs:complexType>
> 			<xs:sequence>
> 				<xs:element name="element"
> type="valueType"/>
> 			</xs:sequence>
> 		</xs:complexType>
> 	</xs:element>
> 	<xs:simpleType name="valueType">
> 		<xs:union memberTypes="xs:base64Binary xs:string"/>
> 	</xs:simpleType>
> 
> 
> valid instance :
> 
> 	<element xsi:type="xs:int">1</element> 
> 	<element xsi:type="xs:boolean">1</element> 
> 	<element xsi:type="xs:string">hello world</element> 
> 
> - As far as I understand, only xs:string and xs:base64Binary should be
> accepted. Is that true ?


Almost. As defined here, "valueType" can also be used.


> - Is there a way to make the xsi:type attribute compulsory ?


On a complex type, the "abstract" attribute is a way to make it unusable 
directly which is equivalent to making xsi:type compulsory, but this 
feature doesn't exist for a simple type.

To do so, I think that you will need to define simple content complex 
types which you will use instead of xs:string, xs:base64Binary and 
valueType and define the new "valueType" as abstract.

Hope this helps.

Eric


> Thanks for your support
> 
> Régis


-- 
Rendez-vous a Paris pour mes formations XML/XSLT.
                                           http://dyomedea.com/formation/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
http://xsltunit.org      http://4xt.org           http://examplotron.org
------------------------------------------------------------------------

Received on Monday, 11 February 2002 08:35:21 UTC