[
Lists Home |
Date Index |
Thread Index
]
- From: ht@cogsci.ed.ac.uk (Henry S. Thompson)
- To: Roger Costello <costello@mitre.org>
- Date: 03 Jul 2000 14:54:20 +0100
Roger Costello <costello@mitre.org> writes:
> Francis Norton wrote:
> >
> > Which I take to mean that using elementFormDefault="unqualified" simply
> > says that schema definitions apply to elements in the "" namespace ...
>
> Thanks a lot Francis. This raises many more questions...
>
> Consider the following spec for a schema and instance document:
> -----------------------------------------------------------
> Schema:
> -----------------------------------------------------------
> targetNamespace = "A"
>
> global element declarations = GE1, GE2, ...
> local element declarations = LE1, LE2, ...
>
> global type definitions = GT1, GT2, ...
> local type definitions = LT1, LT2, ...
> -----------------------------------------------------------
>
> -----------------------------------------------------------
> Instance Document:
> -----------------------------------------------------------
> namespace declaration = xmlns:q="A"
> -----------------------------------------------------------
> Scenario 1: the schema declared elementFormDefault="qualified"
>
> here's how to use the global elements in the instance document:
> <q:GE1>, <q:GE2> ...
>
> here's how to use the local elements in the instance document:
> <q:LE1>, <q:LE2> ...
>
>
> Scenario 2: the schema declared elementFormDefault="unqualified"
>
> here's how to use the global elements in the instance document:
> <q:GE1>, <q:GE2> ...
>
> here's how to use the local elements in the instance document:
> <LE1>, <LE2> ...
> -----------------------------------------------------------
Fine so far.
> Questions:
>
> (Assuming that I have correctly interpreted the spec and
> the above is correct.)
>
> I conclude from the above that the value of elementFormDefault
> determines whether local elements/types are associated with
> the namespace specified by targetNamespace.
Sigh, we get in to heavy terminology nitpicking here, for better or
worse. The namespace REC talks about names 'in' a namespace, and
uses that terminology for qualified names. Many writers, including
myself, use 'associated' for the relation of unprefixed==unqualified
attribute names to their parent (qualified) element's namespace. So
on the parallel between locally declared elements and attributes, I'd
say a locally declared element is _always_ 'associated' with a
namespace, but only if form='qualified' (directly or via
elementFormDefault) is it 'in' a namespace.
> That is, if elementFormDefault="unqualified" then only the
> global elements/types are associated with the namespace, i.e.,
>
> Elements, Types associated with the namespace A:
> GE1, GE2, ..., GT1, GT2, ...
in the namespace.
> The local element/types are associated with no namespace
in no namespace, associated with their parent's namespace.
> If elementFormDefault="qualified" then both the global
> elements/types and local elements/types are associated
> with the namespace, i.e.,
in the namespace.
> Elements, Types associated with the namespace A:
> GE1, GE2, ..., GT1, GT2, ..., LE1, LE2, ..., LT1, LT2, ...
>
> Is this correct? This seems very strange indeed. It was my
> understanding that the all the elments/types in the schema
> (local and global) are associated with the namespace specified
> by targetNamespace.
You're right, it's just that some attributes and elements although
'associated' with the namespace are not 'in' the namespace.
_Please_ note that this problem was _not_ invented by XML Schema to
torment you, it was just taken over of necessity from the namespace
REC, which had no choice given XML's SGML heritage wrt attributes
being scoped to their parents.
ht
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2001, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|