OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Namespaces, W3C XML Schema (was Re: ANN: SAX FiltersforNamespaceProcessing)

Here's another (still somewhat unrealistic) example:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    <xsd:element name="book">
                <xsd:element name="title" type="xsd:string"/>
    <xsd:element name="person">
                <xsd:element name="title">
                    <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="Mr."/>
                        <xsd:enumeration value="Ms."/>
                        <!-- and so on ... -->
                <xsd:element name="name" type="xsd:string"/>

Sample instance:

<ex:example xmlns:ex="http://www.example.org/">
        <ex:title>This is a book title</ex:title>

Note that the "meaning" or definition of the <title> element depends on the
context.  *Not that I would advocate writing schemas this way.*  (Wouldn't
it be better to put <book> and <person> in separate namespaces?).  But
feature-laden XML Schema lets you do things like this and it seems
especially easy to do if you are feeling lazy.

I always thought that one of the intentions of
elementFormDefault="unqualified" was to mark context sensitive elements like
<title>.  This way, a recipient of the document at least knows there is
something special about them, even if he/she doesn't have the schema.


Peter Piatko

----- Original Message -----
From: "Simon St.Laurent" <simonstl@simonstl.com>
To: "Xml-Dev" <xml-dev@lists.xml.org>
Sent: Wednesday, August 01, 2001 8:22 AM
Subject: RE: Namespaces, W3C XML Schema (was Re: ANN: SAX Filters

> On 31 Jul 2001 21:20:53 -0700, Aaron Skonnard wrote:
> > On the contrary, consider the following XML schema definition and sample
> > instance document:
> >
> > <!-- schema definition -->
> > <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema"
> >     xmlns:tns="http://example.org/foo"
> >     targetNamespace="http://example.org/foo"
> >     elementFormDefault="qualified">
> >   <s:element name="bar" type="s:string"/>
> >   <s:complexType name="fooType">
> >     <s:sequence>
> >       <s:element name="bar" type="s:string"/>
> >     </s:sequence>
> >   </s:complexType>
> >   <s:element name="foo" type="tns:fooType"/>
> > </s:schema>
> >
> > <!-- instance -->
> > <f:foo xmlns:f="http://example.org/foo">
> >   <f:bar/>   <--|
> > </f:foo>        |
> >                 |
> >                 |
> > Even when everything is qualified, you still can't figure out which bar
> > element this is just by looking at the QName and ignoring context (is it
> > the global or local qualified bar element?).
> This doesn't feel like the same problem to me - it feels like a bad case
> of non-deterministic content modeling.  I thought XML Schema went to
> great lengths to avoid that, but maybe this is legal.
> Can't say it feels like a remotely good idea to me.
> ------------------------------------------------------------------
> 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 unsubscribe from this elist send a message with the single word
> "unsubscribe" in the body to: xml-dev-request@lists.xml.org