- From: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 18 Jun 2002 18:00:45 -0400
- To: <asirv@webmethods.com>
- Cc: "Lee Humphries" <Lee_Humphries@softworks.com.au>, xmlschema-dev@w3.org
Lee asked me about this question privately, and I proposed a solution. Not
sure whether it meets the need. See attached:
------------------------------------------------------------------
Noah Mendelsohn Voice: 1-617-693-4036
IBM Corporation Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------
----- Forwarded by Noah Mendelsohn/Cambridge/IBM on 06/18/2002 06:16 PM
-----
Noah Mendelsohn
06/18/2002 05:41 PM
To: "Lee Humphries" <Lee_Humphries@softworks.com.au>
cc:
Subject: RE: XML Schema 1.1 suggestion - allow defining of namespaces for
namedelements or attributes
I'm still confused why there's a problem. I think you're saying you have
a wrapper elemen MessageBody which can have as its child a known set of
elements, that happen to be in more than one namespace. I don't want to
do all the typing, so here's an outline. I think you can fill in the
details.
<schema targetNamespace="NS1">
<element name="a" ...>
<element name="b" ...>
<element name="c" ...>
</schema>
<schema targetNamespace="NS2">
<element name="x" ...>
<element name="y" ...>
<element name="z" ...>
</schema>
<schema targetNamespace="www.myenvelope.com"
xmlns:ns1="NS1"
xmlns:ns2="NS2">
<element name="messageBody">
<choice>
<element ref="ns1:a"/>
<element ref="ns1:b"/>
<element ref="ns1:c"/>
<element ref="ns2:x"/>
<element ref="ns2:y"/>
<element ref="ns2:z"/>
</choice>
</element>
</schema>
Doesn't this do what you need? It accepts exactly the 6 elements, three
from each namespace. You only use <any> when you don't know the element
names in advance. The namespace is part of the element name. Hope this
helps.
------------------------------------------------------------------
Noah Mendelsohn Voice: 1-617-693-4036
IBM Corporation Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------
"Asir S Vedamuthu" <asirv@webmethods.com>
Sent by: xmlschema-dev-request@w3.org
06/18/2002 07:53 AM
Please respond to asirv
To: <xmlschema-dev@w3.org>
cc: "Lee Humphries" <Lee_Humphries@softworks.com.au>, (bcc: Noah
Mendelsohn/Cambridge/IBM)
Subject: RE: XML Schema 1.1 suggestion - allow defining of namespaces for named
elements or attributes
Moving this to the schema dev list for discussion
Asir
-----Original Message-----
From: www-xml-schema-comments-request@w3.org
[mailto:www-xml-schema-comments-request@w3.org]On Behalf Of Asir S
Vedamuthu
Sent: Tuesday, June 18, 2002 7:38 AM
To: www-xml-schema-comments@w3.org
Cc: Lee Humphries
Subject: RE: XML Schema 1.1 suggestion - allow defining of namespaces
for named elements or attributes
Lee requested me to post this mail to comments list
-----Original Message-----
From: Lee Humphries [mailto:Lee_Humphries@softworks.com.au]
Sent: Sunday, June 16, 2002 6:56 PM
To: asirv@webmethods.com
Subject: RE: XML Schema 1.1 suggestion - allow defining of namespaces
for named elements or attributes
Hi Asir,
Sorry, obviously I didn't put in enough detail.
Here's a very simple example of what I'm looking to do (deliberately
sans namespace prefixes):
<Envelope xmlns="www.myenvelope.com">
<From>Me</From>
<To>You</To>
<MessageBody>
<SomethingSpecific
xmlns="www.mymessage.com">
</MessageBody>
</Envelope>
The thinking at the moment is that we'd define the contents of
<MessageBody> as xsd:any with a namespace="##other" for example.
What I'm dealing with though, is that I know in advance all the
different element names within <MessageBody> and I also know their
namespaces. What I want to be able to do is to define both the element
name and the namespace, whereas at the moment I can only define one or
the other.
In other words I can have:
...
<xsd:element name="MessageBody">
<xsd:complexType>
<xsd:choice>
<xsd:element
name="SomethingSpecific"
type="SomethingSpecificType"/>
<xsd:element
name="SomeError"
type="SomeErrorType"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
...
or:
...
<xsd:element name="MessageBody">
<xsd:complexType>
<xsd:sequence>
<xsd:any
namespace="www.mymessage.com
www.myerror.com"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
...
But what I really want is:
...
<xsd:element name="MessageBody">
<xsd:complexType>
<xsd:choice>
<xsd:element
name="SomethingSpecific"
namespace="www.mymessage.com" type="SomethingSpecificType"/>
<xsd:element
name="SomeError"
namespace="www.myerror.com" type="SomeErrorType"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
...
Regards,
Lee Humphries
SOFTWORKS Australia
email: Lee_Humphries@softworks.com.au
phone: +61-7 3511 7000
Level 1, 33 Park Road, Milton, Queensland 4064, Australia
-----Original Message-----
From: Asir S Vedamuthu [mailto:asirv@webmethods.com]
Sent: Saturday, 15 June 2002 2:27 AM
To: Lee Humphries; W3C XML Schema Comments list
Subject: RE: XML Schema 1.1 suggestion - allow defining of namespaces
for named elements or attributes
Lee,
I do not understand your suggestion. May I request you to elaborate with
one
or two examples?
Asir
-----Original Message-----
From: www-xml-schema-comments-request@w3.org
[mailto:www-xml-schema-comments-request@w3.org]On Behalf Of Lee
Humphries (by way of "C. M. Sperberg-McQueen" <cmsmcq@acm.org>)
Sent: Friday, June 14, 2002 11:18 AM
To: W3C XML Schema Comments list
Subject: XML Schema 1.1 suggestion - allow defining of namespaces for
named elements or attributes
At the moment only the 'any' allows for its namespace to be defined.
This is a real pain in the neck when you can name the element (or
attribute) but you need to define it as existing in a different
namespace.
Adding the 'any' namespace declaration to 'element' and 'attribute'
would
go a long way to enabling full cross-namespace validation.
Lee Humphries
SOFTWORKS Australia
email: Lee_Humphries@softworks.com.au
Received on Tuesday, 18 June 2002 18:19:00 UTC