- From: <noah_mendelsohn@us.ibm.com>
- Date: Wed, 19 Jul 2006 16:27:21 -0400
- To: lists@jeffrafter.com
- Cc: "'Michael Kay'" <mike@saxonica.com>, Paul Kiel <paul@hr-xml.org>, xmlschema-dev@w3c.org
- Message-ID: <OF4364396B.276F6090-ON852571B0.006FCCD7-852571B0.00705ED3@lotus.com>
Jeff Rafter writes: > I agree that the feature is a favorite, but the fact is that it confuses > a lot of people when approaching XML Schemas from a type hierarchy > perspective. It's interesting to ask why. I think it's probably because the databinding tools are perhaps trying to do something that XML Schema itself mostly does not, which is to define some sort of similarly named types across schemas. With the exception of the built in types, which are the same everywhere, XML schema carries no implication at all that the type ns:t as used in one validation episode will be the same as in another. Now consider some particular validation (or databinding) episode. If redefine was used to create that schema, then the named component in the schema is the one created by the redefine, and the redefined component becomes anonymous and serves as its base type. Now consider a different schema that happens to include the same schema document as the first, but does not redefined it. The same named type ns:t may have a very different definition. Working as designed. Except for the builtins, named types are best thought of as pieces of some particular schema, much as named variables are best thought of as parts of some particular computer program. That doesn't mean that you might not want to build systems that try to impose some discipline that, for some more limited purposes, the type named ns:t is given a similar definition across lots of schemas; it's just that the schema language no more requires you to do that then does Java require that the variable "i" be an int in all of your programs. -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- Jeff Rafter <lists@jeffrafter.com> Sent by: xmlschema-dev-request@w3.org 07/19/2006 04:09 PM Please respond to lists To: noah_mendelsohn@us.ibm.com cc: "'Michael Kay'" <mike@saxonica.com>, Paul Kiel <paul@hr-xml.org>, xmlschema-dev@w3c.org Subject: Re: Xml Schema profile > Jeff Rafter writes: > > > Actually, support for redefine is fairly surprising. > > Hmm. That can be read a few different ways. Heh. Support for redefine is fairly robust and widespread. I would say that as recently as a year ago I ran into problems with the redefine feature in validators-- more recently however I have found the problems gone. In general there is little or no support for redefine in databinding tools. My thinking was that they would follow the pattern that Michael set forth which is to use the last effective redefine and never redefine a used type. It is a simplification, but it is sensible. I agree that the feature is a favorite, but the fact is that it confuses a lot of people when approaching XML Schemas from a type hierarchy perspective. It also confuses a lot of validators when you get strange naming rules involved in the grammar (e.g. chameleon components). That leaves little room in between. That's the space where it makes sense. Especially for extending fixed schemas to add components from third parties. Cheers, Jeff
Received on Wednesday, 19 July 2006 20:27:34 UTC