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 Friday, 3 March 2000 11:31:02 UTC