- From: Henry S. Thompson <ht@inf.ed.ac.uk>
- Date: Sat, 02 Apr 2005 15:43:00 +0100
- To: "Hirtle, David" <David.Hirtle@nrc-cnrc.gc.ca>
- Cc: xmlschema-dev@w3.org
"Hirtle, David" <David.Hirtle@nrc-cnrc.gc.ca> writes:
> a.xsd (http://www.ruleml.org/0.89/xsd/a.xsd) defines an element "body"
> which allows only the element "x".
>
> b.xsd (http://www.ruleml.org/0.89/xsd/b.xsd) redefines "body" from
> a.xsd, first extending it to allow a new element "y" and then
> restricting it to disallow "x", effectively replacing "x" with "y" in
> the content model of "body".
>
> Assuming this is permissible in XML Schema...
>
> ab.ruleml (http://www.ruleml.org/0.89/exa/ab.ruleml) should not be
> valid w.r.t. b.xsd because "body" contains an "x".
>
> XSV (web form and installation) reports no validity problems but
> crashes. Saxon correctly (?) identifies the problem, as appended
> below.
Are you sure -- web form reports the expected error when I run it:
http://www.w3.org/2001/03/webdata/xsv?docAddrs=http%3A%2F%2Fwww.ruleml.org%2F0.89%2Fexa%2Fab.ruleml&style=xsl#
> So I'm left with the question: is this the correct way to "replace" an
> element with another in a content model via <redefine> (if possible at
> all with XML Schema)? And what about the validators?
I can see why this works, but I don't _think_ it should.
The 'correct' way to do this is with _three_ files.
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 Saturday, 2 April 2005 14:43:09 UTC