Both extending and restricting with <redefine>

(Apologies if this message is received more than once -- yesterday's
attempt seems to have not gone through.)

I originally thought that XML Schema didn't permit "replacing" an
element with another via <redefine>, i.e. both extending and
restricting a content model, but the spec doesn't seem to forbid doing
it in two steps... so I whipped up an example.  Unfortunately, I'm
getting mixed validation results.

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.

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?

Thanks,

David

***

java com.saxonica.Validate -t http://www.ruleml.org/0.89/exa/ab.ruleml
Saxon-SA 8.3 from Saxonica
Java version 1.5.0_01
Processing http://www.ruleml.org/0.89/exa/ab.ruleml
Loading schema document http://www.ruleml.org/0.89/xsd/b.xsd
Loading schema document http://www.ruleml.org/0.89/xsd/a.xsd
Finished loading schema document http://www.ruleml.org/0.89/xsd/a.xsd
Finished loading schema document http://www.ruleml.org/0.89/xsd/b.xsd
Validation error on line 5 column 4 of http://www.ruleml.org/0.89/exa/ab.ruleml:
In content of element <body>: The content model does not allow element <x>
to appear here.
Expected: {http://www.ruleml.org/0.89/xsd}y
Validation error on line 7 column 8 of http://www.ruleml.org/0.89/exa/ab.ruleml:
One or more validation errors were reported
Validation of source document failed

Received on Friday, 1 April 2005 14:10:29 UTC