- From: <Noah_Mendelsohn@lotus.com>
- Date: Fri, 12 Jan 2001 17:46:27 -0500
- To: Robert Braddock <stormwarden@bigfoot.com>
- Cc: xmlschema-dev@w3.org
For what it's worth, I would use global elements when the actual semantic
import of the element is in some sense primarily independent of the types
of its ancestors. One could argue that <HTML:P> tends to have this
characteristic: it means "paragraph" in just about any context where it's
legal. Conversely, consider:
<BOOK>
<TITLE>Moby Dick</TITLE>
<AUTHOR>
<TITLE>Mr.</TITLE>
<NAME>Melville</NAME>
</AUTHOR>
</BOOK>
<TITLE> clearly has local scope. Indeed, the second use might well be
typed as an enumeration (Mr., Ms. Mrs., etc.) When mapping programming
language and database structures, local tends to fit best. When
translating a DTD, global is almost always the truer approximation.
In short, I would generally recommend making the choice based on these
sorts of considerations. In certain situations, that may indeed lead to a
single global root, with all other elements local. In general, I would
use multiple globals where appropriate, and rely on the processor or
application to verify that the root of a document is the one intended.
Note one other benefit of using globals: you can do selective validation
of global elements. For example, if <AUTHOR> is global and if your
processor is willing, you can validate just the author element. Very
useful in editing and other situations. To do the same with a local
element you would have to determine the correct type to use for the
validation (see the first option under [1]). Not impossible, but surely
trickier. I doubt that many processors will support this, particularly if
your local element has an anonymous type.
[1] http://www.w3.org/TR/xmlschema-1/#validation_outcome
------------------------------------------------------------------------
Noah Mendelsohn Voice: 1-617-693-4036
Lotus Development Corp. Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------
Robert Braddock <stormwarden@bigfoot.com>
Sent by: xmlschema-dev-request@w3.org
01/12/01 04:18 PM
Please respond to Robert Braddock
To: xmlschema-dev@w3.org
cc: (bcc: Noah Mendelsohn/CAM/Lotus)
Subject: Re: Forcing a certain document element
> > without violating this property, I appreciate if people design without
> > global elements (I just use global complexTypes where I had global
elements
> > before).
>
> That's quite a constraint, though, especially where multiple namespaces
> are involved since types behave differently than elements in this
> context.
I don't see what you mean here. My schemas just reference types through
their
schema's namespace, just like global elements would be referenced. I do
this
specifically for the multiple namespace case. Could you explain?
Robert Braddock
Received on Friday, 12 January 2001 17:52:58 UTC