[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: inconsistent results

From: Zafar Abbas <Zafar.Abbas@microsoft.com>
Date: Fri, 21 Oct 2005 15:10:04 -0700
Message-ID: <563BD3496D37BB4B9F4E8F896A58F2B30680A3FC@RED-MSG-50.redmond.corp.microsoft.com>
To: "Serkant Karaca" <skaraca@internetteyim.net>, <xmlschema-dev@w3.org>
zafar abbas
The fact that the schema is rejected is an issue with MSXML, which will
be addressed in the latest upcoming release.

 

Thanks,

Zafar

 

________________________________

From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org]
On Behalf Of Serkant Karaca
Sent: Friday, October 21, 2005 1:59 PM
To: xmlschema-dev@w3.org
Subject: inconsistent results

 

I am getting inconsistent results from various validating parsers based
on 
importing/including declaring an element as a simpleType that is created

based on a union in a schema with no namespace.

Is it possible to define a simpleType using a union and specifying 
memberTypes without assigning a namespace?

I start with a schema with nonamespace that defines three simpleTypes
the 
third being a union of the first two.  I include this within another
schema 
that has a namespace and then access the union type definition 
"usZipOrCanadaPostal" (see below).  Both XSV and Xerces validate schema 
with this arrangement.  XMLSPY also validates with no error.  However, 
MSXML complains that it cannot find the two memberType definitions.

<xsd:schema
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
<http://www.w3.org/2001/XMLSchema> ;
      elementFormDefault="unqualified"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance> ;>

<xsd:simpleType name="usZip">
   <xsd:restriction base="xsd:string">
     <xsd:pattern value="[0-9]{5}(-[0-9]{4})?"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="canadaPostal">
   <xsd:restriction base="xsd:string">
     <xsd:pattern value="([A-Za-z]\d[A-Za-z]( |-)\d[A-Za-z]\d)"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="usZipOrCanadaPostal">
   <xsd:union memberTypes="usZip canadaPostal"/>
</xsd:simpleType>

</xsd:schema>

This is the schema that includes the definitions.  It is considered
valid 
in XSV, Xerces, and XMLSPY but not MSXML 4.0:

<xsd:schema
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance> ;
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
<http://www.w3.org/2001/XMLSchema> ;
      xmlns:ns1="http://www.test.MemberTypes"
<http://www.test.membertypes> ;
      xmlns="http://www.test.MemberTypes" <http://www.test.membertypes>
;
      targetNamespace="http://www.test.MemberTypes"
<http://www.test.membertypes> ;
      version="0.1"
      elementFormDefault="qualified">

<xsd:include schemaLocation="testComponent.xsd"/>

<xsd:element name="Address" type="AddressType"/>
  <xsd:complexType name="AddressType">
   <xsd:sequence>
    <xsd:element name="Name" type="xsd:string"/>
    <xsd:element name="Street" type="xsd:string"/>
    <xsd:element name="City" type="xsd:string"/>
    <xsd:element name="StateProvince" type="xsd:string"/>
    <xsd:element name="Country" type="xsd:string"/>
    <xsd:element name="PostalCode" type="usZipOrCanadaPostal"/>
   </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Also, If I alter the schema structure slightly so that I import (instead
of 
include) the same type definitions (via a proxy schema),  MSXML still 
returns an error, XMLSPY now returns an error of an "unidentified value
for 
memberTypes" and XSV and Xerces continue to validate without errors.

Serkant KARACA
Senior Software Engineer
Ankara/Turkey

http://dizi4.blogspot.com
http://www.internetteyim.net
Received on Friday, 21 October 2005 22:10:49 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.