[
Lists Home |
Date Index |
Thread Index
]
I don't find anything incorrect in what you're trying to do, at least based
on an eyeball examination. My hunch is that you might have run into an
MSXML bug. You might try posting this to the msxml newsgroup at Microsoft
and see what kind of response you get.
Mike
At 02:17 PM 12/9/2003 -0700, Rick Taylor wrote:
>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"
> elementFormDefault="unqualified"
> xmlns:xsi="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"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:ns1="http://www.test.MemberTypes"
> xmlns="http://www.test.MemberTypes"
> targetNamespace="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.
>
>
>Thanks,
>
>Rick
>
>
>
>
>Rick Taylor
>XML Developer
>PPDM Association
>
>
>-----------------------------------------------------------------
>The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
>initiative of OASIS <http://www.oasis-open.org>
>
>The list archives are at http://lists.xml.org/archives/xml-dev/
>
>To subscribe or unsubscribe from this list use the subscription
>manager: <http://lists.xml.org/ob/adm.pl>
---------------------------------------------------------------
Michael C. Rawlins, Rawlins EC Consulting
www.rawlinsecconsulting.com
Using XML with Legacy Business Applications (Addison-Wesley, 2003)
www.awprofessional.com/titles/0321154940
|