- From: Schwarzhoff, Kelly <kelly.schwarzhoff@commerceone.com>
- Date: Wed, 5 Sep 2001 10:46:33 -0700
- To: "'www-xml-schema-comments@w3.org'" <www-xml-schema-comments@w3.org>
Hi all,
I am writing a few schemas using restrictions features, and there seems to
be an ambiguity w.r.t. what the namespace is of local elements. Consider a
schema:
===============================
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://localhost/kelly"
xmlns:sns="http://localhost/kelly"
elementFormDefault="qualified"
>
<element name="RootTag" type="sns:MainType"/>
<complexType name="MainType">
<sequence>
<xsd:element name="shipTo" type="sns:ShipType" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="billTo" type="xsd:string" minOccurs="0"/>
</sequence>
<attribute name="currency" type="xsd:string"/>
</complexType>
<complexType name="ShipType">
<sequence>
<element name="Shipper" type="xsd:string"/>
</sequence>
</complexType>
</schema>
=========================
Then, in a seperate namespace, we restrict the root type
=========================
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://localhost/two"
xmlns:sns="http://localhost/kelly"
xmlns:tns="http://localhost/two"
elementFormDefault="qualified"
>
<complexType name="NewShipType">
<complexContent>
<extension base="sns:ShipType">
<sequence>
<element name="City" type="xsd:string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="RMainType">
<complexContent>
<restriction base="sns:MainType">
<sequence>
<xsd:element name="shipTo" type="tns:NewShipType" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="billTo" type="xsd:string" minOccurs="0"/>
</sequence>
</restriction>
</complexContent>
</complexType>
</schema>
=========================
What is the namespace of the locally declared elements (ex, "billTo"), which
are used in elements of the runtime type {namespace="http://localhost/two",
localname="RMainType"}? Originally, these elements were (locally) declared
in the base target namespace schema, "http://localhost/kelly". However, when
restricted the target namespace is in the new schema namespace,
"http://localhost/two". What, then, is the instance's correct namespace?
Kelly
Received on Wednesday, 5 September 2001 14:45:42 UTC