- From: Daniel Barclay <daniel@fgm.com>
- Date: Mon, 07 May 2007 18:30:52 -0400
- To: www-xml-schema-comments@w3.org
In the schema document at http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/,
section 3.15.2 says:
Aside from <include> and <import>, which do not correspond
directly to any schema component at all, each of the element
information items which may appear in the content of <schema>
corresponds to a schema component, and all except <annotation>
are named. The sections below present each such item in turn,
setting out the components to which it may correspond.
Shouldn't <redefine> be listed along with <include> and <import> at the
beginning of the first sentence?
It seems that when the redefine feature was added, it wasn't fully
applied to the specification. Section 3.15.2.2 says:
A fragment identifier of the form
#xpointer(xs:schema/xs:element[@name="person"]) will uniquely
identify the representation of a top-level element declaration
with name person, ...
That XPointer expression isn't correct, is it? That fragment identifier
won't identify the representation of a top-level* element declaration if
that representation (an element element) is under a redefine element.
(Also, does that example properly account for the possibility of having
(the representations of) multiple schema documents in the XML document?)
*Is such a declaration a top-level declaration or not?
It seems that the schema specification never defines what it means by
"top level" or "top-level." Does it refer the structure between
schema components or the structure (the tree) of element information
items?
Section 3.2.2 refers to "the top level of a schema _document_"
[emphasis added], but then section 3.6.2 refers to "the top level of
a _schema_" [emphasis added].
Clearly, the schema specification refers to both, so any "undisambigu-
ated" reference is ... well ... ambiguous. (The reader can't assume
that the specification refers to only one kind of structure with a top
level.)
(The co-existence of those two references to different types "top-
levelness" is not itself a problem, because they include "of a schema"
or "of a schema document" to remove any ambiguity.)
It appears that the schema specification intends that the terms "top-
level" and "top level" refer to the structure between components.
Since within XML Schema the term "top-level" seems to be synonymous
with "global" (or "named" or "not anonymous" or "non-local"), perhaps
one of those terms should be used instead.
At a minimum, the glossary should define what "top-level" means.
If "top-level" means top-level in the element information item sense,
then many references to "top-level" need to augmented with references
to a term that includes declaration/definition components defined under
redefine elements. (E.g., section 3.3.2 says:
For complete declarations, top-level or local, ...
If "top-level" does not apply to an element element under a redefine
element under a schema element, then that "or" phrase needs a third
adjective to include such element elements.)
Daniel
Received on Monday, 7 May 2007 22:31:14 UTC