W3C home > Mailing lists > Public > xmlschema-dev@w3.org > June 2001

Re: Schema subset efforts

From: <Noah_Mendelsohn@lotus.com>
Date: Wed, 27 Jun 2001 17:06:13 -0400
To: Kohsuke KAWAGUCHI <kohsukekawaguchi@yahoo.com>
Cc: ochipara@cse.unl.edu, xmlschema-dev@w3.org
Message-ID: <OF0C0801BD.BB376C0D-ON85256A78.0073193A@lotus.com>
Kohsuke KAWAGUCHI  wrote:

>> Aside from this misunderstanding caused by my 
>> poorly written sentence, I don't see any difference 
>> in our opinions.

Indeed, I would agree that rewording to refer specifically to named 
complex types would be more appropriate.  On the other hand, you seem to 
feel that named complex types are in general to be avoided.  My own 
opinion is that in the many cases like the one I showed with <WIDTH> & 
<HEIGHT>, using a named complex type can be most appropriate and helpful. 
I expect to build tooling that will do quite smart things with such 
constructions.  For example, I can build UI widgets that prompt for and 
partially validate any element of a given complex type.  In this example, 
the same widget can be used to prompt for a width and for a height 
(perhaps prompting for or giving a knob for the numeric value, and radio 
buttons for units such as "cm" or "in".)   Likewise when prompting for 
common constructions like Addresses (same widget for a <ShippingAddress> 
and a <BillingAddress>, perhaps.) 

Also, named complex types are needed if you want to leverage inheritance, 
but I can tell from your other suggestions that inheritance and 
substitution groups are of less interest to you.  I think you'll find that 
subtitution groups become particularly useful in certain vocabularies that 
are intended to be extended across organizations.  Consider, for example, 
a substitution group that contains anything that's legal to put in a 
<table> cell.  If you use substitution groups, then I can in my own 
schemas invent new elements that are, in a controlled way, legal for use 
in your table cells.  Your schema does not have to be republished.  This 
is a little like overriding a parameter entity, but much more structured.  
I agree that this is a sophisticated construction, and not for beginners. 

So, I think there may indeed be some underlying difference in our 
opinions.  I do certainly agree that named complex types are 
(intentionally) something you don't have to learn if you just want to 
replace your DTD's with equivalent schemas.  On the other hand, I think 
they can be very useful and important in the right circumstances. 

Thank you very much.

------------------------------------------------------------------------
Noah Mendelsohn                                    Voice: 1-617-693-4036
Lotus Development Corp.                            Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------
Received on Wednesday, 27 June 2001 17:11:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:21 GMT