XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Use-case for a complex type that has no valid content?

On Jun 2, 2015, at 7:44 PM, "Costello, Roger L." <costello@mitre.org> wrote:

> Hi Folks,
>  
> Thanks for the outstanding responses.
>  
> I have learned that an empty choice:
>  
>     <xs:complexType name="ValidationKiller">
>         <xs:choice/>
>     </xs:complexType>
>  
> has no valid content, i.e., the set of valid content is the empty set, {}.
>  
> When would one use such a complex type? Can you think of a use-case for it?

A concrete example (albeit an imaginary one):

A publicly defined vocabulary may define elements which a local
customization of the vocabulary may wish not to use.  Depending on
how the public vocabulary is structured and defined, it may or may
not be possible to make the elements in question disappear entirely
from the customized schema.  But if we can redefine the complex
type to be associated with the element, we can ensure, using the
type you define here, that any document containing the elements 
we wish to avoid is invalid according to our schema.

More generally:  it's handy to be able to write <sequence/> and
<choice/> in content models just as it's handy, in discussions of
regular expressions, to be able to write '' (the empty string) and {}
(the empty set).  These are useful, in such discussions, for just the
reason Michael Kay has already given:  closure.  They allow us 
to ensure that the results of certain operations upon languages 
defined by regular expressions (e.g. intersection, union, set 
difference) can be expressed by regular expressions.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS