- From: C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>
- Date: Wed, 22 Jul 2009 11:51:01 -0600
- To: "Costello, Roger L." <costello@mitre.org>
- Cc: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>, "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
On 22 Jul 2009, at 05:37 , Costello, Roger L. wrote: > > Hi Mukul, > > Yesterday I was talking with a colleague and I described to him > Conditional Type Alternative (CTA) and then xs:error. He was puzzled > about xs:error. He couldn't see a legitimate (nonredundant) use case > for it. As I got to thinking about it, I agreed with him. Just as discussions of regular expressions and regular languages find it helpful to have a way to write down an expression denoting the empty set, so also it can be convenient, in thinking about document validation, to have a name for a type with no valid instances. I think xsd:error would be a convenient thing to have even if XSD 1.1 had not adopted conditional type assignment. Consider a practical scenario (real example, names suppressed to avoid distractions): project P is working with a local specialization of a large generic vocabulary V. P uses all of the elements defined by V as required, and some of the elements defined by V as optional. Some elements which are optional in V are optional in P, some are required in P, and others are forbidden in P. It is not enough for project P to tell its users "Don't use element E" -- part of checking the acceptability of documents for project P is checking that element E does not occur at all, even though it's optional in the base vocabulary V. With some validation mechanisms, such as DTDs, it suffices to provide a way to ensure that E is not declared. But if the validation language includes lax wildcards, that won't be enough. It would be convenient for project P to be able to declare a simple restriction of vocabulary V by writing <override schemaLocation="main.path.to.V"> <element name="E" type="error"/> <!--* other elements can be excluded here by the same * method ... *--> </override> And in XSD 1.1, that can be done. -- **************************************************************** * C. M. Sperberg-McQueen, Black Mesa Technologies LLC * http://www.blackmesatech.com * http://cmsmcq.com/mib * http://balisage.net ****************************************************************
Received on Wednesday, 22 July 2009 17:51:38 UTC