Re: Redefining redefines

Mark Feblowitz <mfeblowitz@frictionless.com> writes:

> There are situations in which the redefinition of a type, and the subsequent
> redefinition of the redefined type, are desirable. One such case is where a
> schema user would like to extend a type, not just from the original source
> but based on the extension of another schema user's extension (Company C
> extends type T from Company B, who picked it up from Company A and redefined
> it). 
> 
> I notice in the Rec that this is discouraged:
> 
> In all cases there must be a top-level definition item of the appropriate
> name and kind in the <redefine> <http://www.w3.org/TR/xmlschema-1/> d schema
> document. 
> 		NOTE: The above is carefully worded so that multiple
> equivalent <redefine> <http://www.w3.org/TR/xmlschema-1/> ing of the same
> schema document will not constitute a violation of clause 2
> <http://www.w3.org/TR/xmlschema-1/>  of Schema Properties Correct (§3.15.6)
> <http://www.w3.org/TR/xmlschema-1/> , but applications are allowed, indeed
> encouraged, to avoid <redefine> <http://www.w3.org/TR/xmlschema-1/> ing the
> same schema document in the same way more than once to forestall the
> necessity of establishing identity component by component (although this
> will have to be done for the individual redefinitions themselves).
> Indeed, XML Spy requires that the redefined schema contain a type definition
> for a type that is to be redefined - that a redefinition is not sufficient.
> So it is not possible to redefine a redefined type.
> 
> So the question is, is this something that is likely to change, or will
> validators vary on whether or not they support cascading redefines?

Unfortunately the term 'top-level' is not formally defined in the
REC.  There are a number of places where things such as "all the
top-level (i.e. named) components. . ." appear, so it's clear that
what's meant is (XML representations of) named components which appear
in one of the sets of definitions/declarations of the schema component
itself.  On that basis, redefs of redefs are OK, and were certainly
intended to be.  An erratum is in order, in my opinion.

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2001, part-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/

Received on Thursday, 14 February 2002 07:08:01 UTC