[tdwg-tapir] Schema modification: r402 - trunk/protocol

tdwg-tapir at lists.tdwg.org tdwg-tapir at lists.tdwg.org
Fri Jan 6 10:52:17 CET 2006


Author: markus
Date: 2006-01-06 10:52:14 +0100 (Fri, 06 Jan 2006)
New Revision: 402

Modified:
   trunk/protocol/tapir.xsd
Log:
 - subdivide abstract expression element into simple&complex expression, with literals,concepts&parameters being simple, arithmetic OPs complex expressions.
 - allow IN operator to have only simple expressions as arguments


Modified: trunk/protocol/tapir.xsd
===================================================================
--- trunk/protocol/tapir.xsd	2006-01-06 09:48:43 UTC (rev 401)
+++ trunk/protocol/tapir.xsd	2006-01-06 09:52:14 UTC (rev 402)
@@ -252,8 +252,7 @@
 			<xsd:element name="documentation" type="xsd:string" minOccurs="0"/>
 		</xsd:sequence>
 	</xsd:complexType>
-	<xsd:element name="searchTemplate" substitutionGroup="queryTemplate" type="searchTemplateType">
-	</xsd:element>
+	<xsd:element name="searchTemplate" substitutionGroup="queryTemplate" type="searchTemplateType"/>
 	<xsd:complexType name="searchTemplateType">
 		<xsd:complexContent>
 			<xsd:extension base="extResourceDocumentationType">
@@ -338,7 +337,9 @@
 				or concept).</xsd:documentation>
 		</xsd:annotation>
 	</xsd:element>
-	<xsd:element name="literal" substitutionGroup="expression">
+	<!-- ===== SIMPLE EXPRESSIONS ===== -->
+	<xsd:element name="simpleExpression" abstract="true" substitutionGroup="expression"/>
+	<xsd:element name="literal" substitutionGroup="simpleExpression">
 		<xsd:annotation>
 			<xsd:documentation>An element to represent literals / values. Substitutes an abstract
 				expression element.</xsd:documentation>
@@ -347,7 +348,7 @@
 			<xsd:attribute name="value" type="xsd:string" use="required"/>
 		</xsd:complexType>
 	</xsd:element>
-	<xsd:element name="parameter" substitutionGroup="expression">
+	<xsd:element name="parameter" substitutionGroup="simpleExpression">
 		<xsd:annotation>
 			<xsd:documentation>An element to represent external parameters e.g. via CGI. Substitutes
 				an abstract expression element.</xsd:documentation>
@@ -356,7 +357,7 @@
 			<xsd:attribute name="name" type="xsd:string" use="required"/>
 		</xsd:complexType>
 	</xsd:element>
-	<xsd:element name="concept" type="conceptType" substitutionGroup="expression">
+	<xsd:element name="concept" type="conceptType" substitutionGroup="simpleExpression">
 		<xsd:annotation>
 			<xsd:documentation>An element to represent a concept of one specific conceptual schema.
 				Substitutes an abstract expression element.</xsd:documentation>
@@ -367,8 +368,10 @@
 			<xsd:extension base="qualifiedConceptReference"/>
 		</xsd:complexContent>
 	</xsd:complexType>
+	<!-- ===== COMPLEX EXPRESSIONS ===== -->
+	<xsd:element name="complexExpression" abstract="true" substitutionGroup="expression"/>
 	<!-- === ARITHMETIC EXPRESSION OPERATORS ===-->
-	<xsd:element name="AOP" abstract="true" substitutionGroup="expression">
+	<xsd:element name="AOP" abstract="true" substitutionGroup="complexExpression">
 		<xsd:annotation>
 			<xsd:documentation>An abstract element representing any Arithmetic
 			operator.</xsd:documentation>
@@ -503,7 +506,7 @@
 			<xsd:element name="values">
 				<xsd:complexType>
 					<xsd:sequence>
-						<xsd:element ref="expression" maxOccurs="unbounded"/>
+						<xsd:element ref="simpleExpression" maxOccurs="unbounded"/>
 					</xsd:sequence>
 				</xsd:complexType>
 			</xsd:element>





More information about the tdwg-tag mailing list