- From: Zafar Abbas <Zafar.Abbas@microsoft.com>
- Date: Fri, 19 Jan 2007 13:58:27 -0800
- To: Michael Kay <mike@saxonica.com>, <xmlschema-dev@w3.org>
I agree with your analysis. The declaration of F just doesn't become a member of the substitution group of E; the declaration itself is valid per spec. But you are right that this looks more like an issue which is better detected at schema compilation time as no one will ever be able to substitute E with F. -----Original Message----- From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] On Behalf Of Michael Kay Sent: Saturday, December 09, 2006 8:18 AM To: xmlschema-dev@w3.org Subject: block="substitution" As far as I can see the following schema is valid: <xsd:element name="E" type="A" block="substitution" /> <xsd:element name="F" type="A" substitutionGroup="E" /> The effect of the "block" is not to make the declaration of F invalid: instead, it effectively causes the attribute substitutionGroup="E" to be ignored, so that an instance that attempts to use F in place of E will be invalid. Is this analysis correct? On the surface, this seems to be detecting an error at run time that would be better detected at compile time. Can someone explain the rationale? Michael Kay http://www.saxonica.com/
Received on Friday, 19 January 2007 21:59:26 UTC