- From: James Taylor <JTaylor@nextance.com>
- Date: Mon, 29 Mar 2004 15:23:09 -0800
- To: "Henry S. Thompson" <ht@inf.ed.ac.uk>
- Cc: <xmlschema-dev@w3.org>
Thanks for the clarifications. One follow-up question: if redefines are
chained, that is, File D again redefines the Employee type from file
Company.xsd, should this again redefine all occurrences of the Employee
type? In other words, there's always one and only one type definition
for a given type with the last/outermost redefine "winning".
James
-----Original Message-----
From: Henry S. Thompson [mailto:ht@inf.ed.ac.uk]
Sent: Monday, March 29, 2004 12:49 AM
To: James Taylor
Cc: xmlschema-dev@w3.org
Subject: Re: pervasiveness of a redefine
"James Taylor" <JTaylor@nextance.com> writes:
> How pervasive should a redefine be? For example:
>
> File A defines Employee type
> File B includes File A and defines Department type
In principle this is _no_ different from File B defining both
Department and Employee -- include is meant to be a _zero_ impact way
of dividing up a schema document.
> File C includes File B, redefines Employee from File A and defines
> Company type
>
> Are the schemas I've included below the correct way of expressing
> this? XSV handles this case in the way I'd expect, redefining the
> Employee type in all occurrences.
Yes, and that's correct as I read the spec. However it's less than
obvious what's going on -- I'd recommend instead of
> <xs:include schemaLocation="Department.xsd"/>
>
> <xs:redefine schemaLocation="Employee.xsd">
you simply did
<xs:redefine schemaLocation="Department.xsd">
. . .
> Also, what is the "scope" of a redefine
Unbounded.
> and how should conflicts be resolved?
There shouldn't be any.
> For example, are there cases in which the original Employee type
> would be used?
No.
> And what about redefining a type in multiple/different ways?
Don't do that :-).
Two alternative redefines "at the same level" as it were, that is, in
the _same_ schema document, would give two distinct definitions for the
same type name, so an error.
> For example, if there was a File D that redefined the Employee type
> from File A in a different way to create a new derived type. Could
> File D be included and the new derived type used in File C?
No, that's a case of what I described above. But chained
redefinitions are just fine, that is, File D redefines the Employee
type from file Company.xsd.
ht
--
Henry S. Thompson, HCRC Language Technology Group, University of
Edinburgh
Half-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged
spam]
Received on Monday, 29 March 2004 19:53:47 UTC