- From: Kohsuke KAWAGUCHI <kohsukekawaguchi@yahoo.com>
- Date: Tue, 31 Jul 2001 20:04:01 -0700
- To: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Hi,
I have a problem understanding the effect of the block attribute.
Assume the following complex type hierarchy.
B
/ \
/r \e
/ \
Dr De
/ \
/r \e
/ \
Drr Dre
Dr is derived from B by restriction, De is from B by extension,
Drr is from Dr by restriction, and Dre is from Dr by extension.
Assume an element declaration E, which designates B as the type
definition.
Now say E has block="extension" (or D has block="extension"). It seems
to me that the spec prohibits
<E xsi:type="Dre"> ... </E>
Because the chain from B to Dre contains "extension" and therefore
Dre is rejected by "Type Derivation OK (Complex)" check.
It depends on the meaning of the sentence of term 2.3.2.1 of that check: "If
D's {base type definition} is complex, then it must be validly derived
from B given the subset as defined by this constraint."
But honestly I don't understand what "as defined by this constraint"
means.
Is my understanding correct? Any comment would be greatly appreciated.
regards,
----------------------
K.Kawaguchi
E-Mail: kohsukekawaguchi@yahoo.com
Received on Tuesday, 31 July 2001 23:03:47 UTC