- From: <noah_mendelsohn@us.ibm.com>
- Date: Thu, 17 May 2007 18:53:45 -0400
- To: "Pete Cordell" <petexmldev@tech-know-ware.com>
- Cc: xmlschema-dev@w3.org
Pete Cordell writes:
> I often see things like:
>
> <element name="thing">
> <sequence>
> <element name="height" type="measurementType"/>
> <element name="width" type="measurementType"/>
> </sequence>
> </element>
>
> <complexType name="measurementType">
> <simpleContent>
> <extension base="float">
> <attribute name="units" type="string"/>
> </extension>...
>
> To me, this results in a lot of duplication if everything is to be made
> global.
Let's see:
<element name="thing">
<sequence>
<element ref="height"/>
<element ref="width"/>
</sequence>
</element>
<element name="height" type="measurementType"/>
<element name="width" type="measurementType"/>
<complexType name="measurementType">
<simpleContent>
<extension base="float">
<attribute name="units" type="string"/>
</extension>...
I don't see a whole lot of duplication. Like the type, the elements are
declared in one place and used in another. Of course, there would be more
payoff on that if it turned out that widths or heights were also needed
outside of "things".
> I think it would also be harder to read as you would see the
> local ref to height and then have to find the global definition
> (which could be a long way away) to find out what it's type is.
Yes. I acknowledged that the syntax of Schema 1.0 facilitates the use of
locals vs. globals, and suggested that to be unfortunate. I would have
seriously considered having the syntax of your original be interpreted to
define a global, I.e. to do some sort of folding so that what were
syntactically duplicate (for some definition of duplicate) element
declarations would be folded into a single global, with differences
allowed only if some other syntax or "local" switch were thrown. As it
stands, the local syntax is indeed more convenient, as I said in my note.
For the reasons Michael Kay's been giving, plus the one's I've been
contributing, I think that the >semantics< of globals are usually
preferable, and I don't think you've given any examples to indicate to the
contrary.
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------
Received on Thursday, 17 May 2007 23:07:00 UTC