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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: Community help on W3C XML Schemas

[ Lists Home | Date Index | Thread Index ]
  • From: "Thomas B. Passin" <tpassin@home.com>
  • To: xml-dev@lists.xml.org
  • Date: Mon, 30 Oct 2000 23:35:44 -0500

Rick JELLIFFE called for reviews of the text of W3C XML
Schemas:

>
> I would like to renew my call for people to make concrete
suggestions on
> improving the text of W3C XML Schemas.
>
> I am particularly interested in knowing the points at
which people who
> get lost or stymied or frustrated.  Are there terms that
are not defined
> sufficiently?  What would be a better way to organize it?
Are there
> explanations which seem to increase the difficulty of
understanding
> rather than adding clarity?
>

I've started on this.  I agree with Rick that the current
draft is a big improvement on earlier ones.  I've attached
some remarks and suggestions - I haven't had time to get
very far, but hope that they will be useful anyway.

Regards,

Tom Passin
Review of Parts of XML Schema Part 1
Thomas B. Passin (tpassin@home.com)
30 October 2000

2.2.1 Type Definition Components

The abstract model provides two kinds of type definition component: simple and complex.

[Definition:]  This specification uses the phrase type definition in cases 
where no distinction need be made between simple and complex types.
Type definitions form a hierarchy with a single root. First we 
describe characteristics of that hierarchy, then provide an introduction 
to simple and complex type definitions themselves.

========== comment =============================
Need to say what a "type" is before getting into this.  Especially, 
the difference between a type and an element needs to be drawn
clearly - that can be especially confusing because many people think 
of an element as a type, so that an actual instance in a document 
is labeled by its type (the start end tags).
==================================================

2.1 Overview of XML Schema

...which may have been implicit in the original document

========== comment =============================
What original document???
==================================================

2.2.1 Type Definition Components

...Schema component is the generic term for the building blocks that comprise the 
abstract data model of the schema...

========== comment =============================
What should they be called when talking about their appearance in
come more concrete occurrance?
==================================================
2.2 XML Schema Abstract Data Model

...There are 12 kinds of component in all, falling into three groups. The 
primary components are as follows. They may have names...

========== comment =============================
They may have names in what context?  Does this mean the ***type*** of 
component has a descriptive name, does it mean that a component may
have a name when it is used in a schema - when its instance is to be 
referred to by that name, or does it mean that instances in a document 
have names that are used in the document?
==================================================

...The target namespace serves to identify the namespace within which 
the association between the component and its name exists....

========== comment =============================
This reads well but is not entirely clear.  Does it mean something like this?

"For the purposes of validating a schema component, when the component
appears in an instance document, its name must belong to the target namespace 
(as specified by an appropriate prefix or default NS declaration)."

If this is not the intended meaning, then the statement must be clarified.
If it does, then it still should be made more clear.
==================================================

2.2.1 Type Definition Components

...[Definition:]  A type definition whose declarations or facets are 
in a one-to-one relation with those of another specified type definition, 
with each in turn restricting the possibilities of the one it corresponds 
to, is said to be a restriction. The specific restrictions might include 
narrowed ranges or reduced alternatives. Members of a type, A, whose 
definition is a restriction of the definition of another type, B, are 
always members of type B as well....

========== comment =============================
This appears to say that type A can restrict type B while at the same
time, B can restrict A.  Is this correct?  And if so, is this
really desired???  Circular restrictions seem to be very 
dangerous.  This passage need clarification.
==================================================

[Definition:]  A distinguished ur-type definition is present in each XML Schema, 
serving as the root of the type definition hierarchy for that schema. 
The ur-type definition, whose name is anyType, has the unique characteristic 
that it can function as a complex or a simple type definition, according 
to context. 

========== comment =============================
Suggest that this should say

"The ur-type is an abstract type that has no restrictions applied.
Thus, it serves as the parent or root type for all derived types in a schema.
It, and it alone, can function as a complex or a simple type definition, 
according to context."
==================================================

2.2.1.2 Simple Type Definition
A simple type definition is a set of constraints on strings and information 
about the values they encode, applicable to the normalized value of an 
attribute information item or of an element information item with no 
element children. Informally, it applies to attribute values and text-only 
content of elements.

========== comment =============================
This would be clear except for the lack of definition, mentioned
earlier, about the exact role of elements vis-a-vis types.  Here, it
seems that the type definition restricts element content, but we still
don't quite know if an element is considered to be an instance of
a type.

What exactly an element or type is has importance for query languages, as
well as for understanding the schema recs themselves,
so it's not really splitting hairs to want to be very clear about it.

People will come to their own conclusions about this, unless it is made very clear.
==================================================

...Simple types may also be defined whose members are lists of items 
themselves constrained by some other simple type definition, or whose 
membership is the union of the memberships of some other simple type definitions.

========== comment =============================
It's fairly clear how the allowed members of a type could be the set of the 
union  of another type.  The passage about lists is harder to understand.
Are the members, which I take to be the allowed contents of elements or
attributes, themselves lists, or are they specified by a list of allowed
values, which list is defined elsewhere?  

Literally the text says that the members are lists, but I
am questioning whether that is what is intended.  Certainly the
passage needs clarification.
==================================================


2.2.1.3 Complex Type Definition

A complex type definition is a set of attribute declarations and a 
content type, applicable to the [attributes] and [children] of an 
element information item respectively.


========== comment =============================
The section on simple types began by referring to "normalized values" of
information items.  Here the term "normalized" has not been used.
If this is not intentional, it shuld be added here.  If it is
not intended, consider briefly addressing why it is not applicable here 
but was in the earlier section.
==================================================

...The content type may require the [children] to contain neither 
element nor character information items, to be a string which belongs 
to a particular simple type or to contain a sequence of element information 
items which conforms to a particular model group, with or without character 
information items as well.

========== comment =============================
This sentence does not fit in a normative section, because we cannot
tell whether this list is intended to be an exhaustive enumeration
or whether it is illustrative (and non-normative)only.  The point 
should be clarified.
==================================================

2.2.2 Declaration Components

...Element declarations contribute to validation as part of model 
group validation, when their defaults and type components are checked 
against an element information item with a matching name and namespace,
and by triggering identity-constraint definition validation.

========== comment =============================
This seems fairly understandable except for "as part of model 
group validation", and except for "by triggering identity-constraint 
definition validation".

Does the "model group" phrase mean that the same element information item
could be validated against different type definitions?  Does 
this refer to some notion of scope?  THe phrase either needs to be removed
or clarified.

The phrase about triggering identify-constaints also needs clarifying. 
It contains too many concepts that have not been defined up to this point.
==================================================




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS