W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > January to March 2000

conjunction types

From: Arnold, Curt <Curt.Arnold@hyprotech.com>
Date: Fri, 3 Mar 2000 09:26:37 -0700
Message-ID: <00E567D938B9D311ACEC00A0C9B468730C75E6@THOR>
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>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 6 December 2009 18:12:46 GMT