Re: XML Schema validation

jomy@freesurf.ch writes:


> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <SOAP-ENV:Envelope 
> 	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> 	xmlns:tns="http://www.xmethods.net/sd/TemperatureService.wsdl"
> 	xmlns:xsd="http://www.w3.org/1999/XMLSchema"
> 	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> 	xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
> 	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
> 	<SOAP-ENV:Bodyy>
> 		<mns:getTemp xmlns:mns="urn:xmethods-Temperature" 
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> 			<zipcode xsi:type="xsd:int">hallo</zipcode>
> 		</mns:getTemp>
> 	</SOAP-ENV:Bodyy>
> </SOAP-ENV:Envelope>

> [ no error is reported.]

> If the XMLSchema is defined to 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" and the Schema-instance is
> defined to xmlns:xsi="http://www.w3.org/2001/XMLSchama-instance" the 
> parser reports following message
>
> ###################
>
> [Error] SoapClient.xml:11:47: cvc-datatype-valid.1.2.1: 'hallo' is not a 
> valid value for 'integer'.
> [Error] SoapClient.xml:11:47: cvc-type.3.1.3: The value 'hallo' of 
> element 'zipcode' is not valid.
>
> ###################

The relevant official namespaces for the W3C XML Schema REC as
published are http://www.w3.org/2001/XMLSchema and
http://www.w3.org/2001/XMLSchema-instance.  If you don't use those
exact namespaces (in schema docs and instance docs respectively) you
don't get the XML Schema semantics.  There are few if any parsers
still left which implement the preliminary 1999 version.

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                      Half-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/
 [mail really from me _always_ has this .sig -- mail without it is forged spam]

Received on Tuesday, 6 January 2004 09:54:42 UTC