Re: conjunction types

Would you limit this to cases in which the lexical spaces of the 
"conjoined" types are disjoint?  I think you have to.

------------------------------------------------------------------------
Noah Mendelsohn                                    Voice: 1-617-693-4036
Lotus Development Corp.                            Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------







"Arnold, Curt" <Curt.Arnold@hyprotech.com>
Sent by: www-xml-schema-comments-request@w3.org
03/03/00 11:26 AM

 
        To:     "'xml-dev@xml.org'" <xml-dev@xml.org>, "'www-xml-schema-comments@w3.org'" 
<www-xml-schema-comments@w3.org>
        cc:     "'jtauber@jtauber.com'" <jtauber@jtauber.com>, (bcc: Noah 
Mendelsohn/CAM/Lotus)
        Subject:        conjunction types

At XTech, I asked a question about whether conjunction types might be 
considered.  I thought that I had put a message in the comments log on my 
thoughts on this, however it seemed to only get into the
help file that I published.

The following facets would seem to address quite a few constructs that 
appear within Schema for Schema and a few things like multiple, 
disjunctive value ranges from
http://lists.w3.org/Archives/Public/www-xml-schema-comments/1999OctDec/0034.html

<or>

The <or> facet is satisfied if any of the contained facets is satisified.

<and>

The <and> facet is satisified if all of the contained facets are 
satisifed.

<nor>

The <nor> facet is satified if none of the contained facets are 
satisified.  A <nor> with
a single contained facet is used to perform a not operation.

<conform>

The conform facet is satified if the lexical representation would be 
acceptible
to the specified datatype.

<enumeration>

For this to work right, <enumeration> needs to become a container of 
<literal>
elements which will make it logically equivalent to all the other facets.

Examples:

<simpleType name="maxOccur" base="string">
                 <or>
                                 <conform type="non-negative-integer"/>
                                 <enumeration><literal 
value="*"/></enumeration>
                 </or>
</simpleType>

--------------------

<simpleType name="noTeens" base="integer">
                 <or>
                                 <and>
                                                 <minInclusive value="0"/>
                                                 <maxExclusive 
value="10"/>
                                 </and>
                                 <minInclusive value="20"/>
                 </or>
</simpleType>

----------------------
<simpleType name="targetOrNamespace" base="string">
                 <or>
                                 <enumeration><literal 
value="##targetNamespace"/></enumeration>
                                 <conform type="uri-reference"/>
                 </or>
</simpleType>

<simpleType name="targetOrNamespaces" base="targetOrNamespace" 
derivedBy="list"/>

<simpleType name="anyAttribute" base="string">
                 <or>
                                 <enumeration>
                                                 <literal value="##any"/>
                                                 <literal 
value="##other"/>
                                                 <literal 
value="##local"/>
                                 </enumeration>
                                 <conform type="targetOrNamespaces"/>
                 </or>
</simpleType>

Received on Tuesday, 7 March 2000 22:05:22 UTC