[tdwg-tapir] r808 - tapir/dev/schema

svn at rs.tdwg.org svn at rs.tdwg.org
Tue Jan 23 16:20:22 CET 2007


Author: RenatoDeGiovanni
Date: 2007-01-23 16:20:07 +0100 (Tue, 23 Jan 2007)
New Revision: 808

Modified:
   tapir/dev/schema/tapir.xsd
Log:
* Removed maxOccurs="unbounded" from indexingElement.
* Changed documentation for <basicSchemaLanguage/> removing simpleContent and complexContent.
* Included optional attribute "tagName" in inventory <concept> elements.
* Changed subelements of inventory concepts to xsd:any.
* Added optional "alias" attribute to capabilities/concepts/schema.
* Removed default="1" for the "limit" attribute.
* Element <variable> is not abstract anymore. Its previous concrete representations are now pre-defined attribute values 
from an extensible controlled vocabulary of a new "name" attribute.
* Changed subelements of capabilities/variables/environment to xsd:any and removed <custom> subelement.
* Changed use of header/source at accesspoint to optional.



Modified: tapir/dev/schema/tapir.xsd
===================================================================
--- tapir/dev/schema/tapir.xsd	2007-01-23 12:24:06 UTC (rev 807)
+++ tapir/dev/schema/tapir.xsd	2007-01-23 15:20:07 UTC (rev 808)
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0"?>
 <!-- $Id$ -->
 <xsd:schema targetNamespace="http://rs.tdwg.org/tapir/1.0" 
 	xmlns="http://rs.tdwg.org/tapir/1.0" 
@@ -151,7 +151,7 @@
 							</xsd:complexType>
 						</xsd:element>
 					</xsd:sequence>
-					<xsd:attribute name="accesspoint" type="xsd:anyURI" use="required"/>
+					<xsd:attribute name="accesspoint" type="xsd:anyURI" use="optional"/>
 					<xsd:attribute name="sendtime" type="xsd:dateTime" use="required"/>
 				</xsd:complexType>
 			</xsd:element>
@@ -255,7 +255,7 @@
 					</xsd:choice>
 				</xsd:complexType>
 			</xsd:element>
-			<xsd:element name="indexingElement" maxOccurs="unbounded">
+			<xsd:element name="indexingElement">
 				<xsd:annotation>
 					<xsd:documentation>A simple XPath pointing to a response structure node that
 						should be used as a reference for counting.</xsd:documentation>
@@ -345,9 +345,9 @@
 					<xsd:sequence>
 						<xsd:element name="concept" maxOccurs="unbounded">
 							<xsd:annotation>
-								<xsd:documentation>Repeatable element. One or more concepts to be used for ordering the
+								<xsd:documentation>One or more concepts to be used for ordering the
 									model. If the attribute "descend" is set to true, a descending
-									ordering will be used instead of the default ascending one.</xsd:documentation>
+									order will be used instead of the default ascending one.</xsd:documentation>
 							</xsd:annotation>
 							<xsd:complexType>
 								<xsd:complexContent>
@@ -389,11 +389,20 @@
 						</xsd:annotation>
 						<xsd:complexType>
 							<xsd:sequence>
-								<xsd:element name="concept" type="qualifiedConceptReferenceType" minOccurs="1" maxOccurs="unbounded">
-									<xsd:annotation>
-										<xsd:documentation>A single qualified concept</xsd:documentation>
-									</xsd:annotation>
-								</xsd:element>
+    						<xsd:element name="concept" maxOccurs="unbounded">
+	  						  <xsd:annotation>
+  	  							<xsd:documentation>A single qualified concept. The attribute 
+			  						  tagName can be used to specify the name of the element
+				  					  that will enclose the respective values in the response.</xsd:documentation>
+					  		  </xsd:annotation>
+						  	  <xsd:complexType>
+  								  <xsd:complexContent>
+    									<xsd:extension base="qualifiedConceptReferenceType">
+	    									<xsd:attribute name="tagName" type="xsd:string" use="optional" default="value"/>
+		    							</xsd:extension>
+			    					</xsd:complexContent>
+				      	  </xsd:complexType>
+					  	  </xsd:element>
 							</xsd:sequence>
 						</xsd:complexType>
 					</xsd:element>
@@ -664,48 +673,47 @@
 		</xsd:annotation>
 	</xsd:element>
 	<!-- ===== ENVIRONMENT VARIABLE EXPRESSIONS ===== -->
-	<xsd:element name="variable" abstract="true" substitutionGroup="expression">
+	<xsd:element name="variable" substitutionGroup="expression">
 		<xsd:annotation>
-			<xsd:documentation>An abstract element to represent datasource specific values taken
-				from the datasource environment by the wrapper.</xsd:documentation>
+			<xsd:documentation>An element to represent specific values 
+				from the service local environment.</xsd:documentation>
 		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:attribute name="name" type="variableNameType" use="required"/>
+		</xsd:complexType>
 	</xsd:element>
-	<xsd:element name="date" substitutionGroup="variable">
-		<xsd:annotation>
-			<xsd:documentation>An element to represent ISO date like 2005-07-21. Substitutes an
-				abstract environment variable element.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType/>
-	</xsd:element>
-	<xsd:element name="timestamp" substitutionGroup="variable">
-		<xsd:annotation>
-			<xsd:documentation>An element to represent an ISO timestamp like 2005-07-20 17:01:38.
-				Substitutes an abstract environment variable element.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType/>
-	</xsd:element>
-	<xsd:element name="datasourceName" substitutionGroup="variable">
-		<xsd:annotation>
-			<xsd:documentation>An element to represent the name of the datasource. Substitutes an
-				abstract environment variable element.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType/>
-	</xsd:element>
-	<xsd:element name="accessPoint" substitutionGroup="variable">
-		<xsd:annotation>
-			<xsd:documentation>An element to represent the access point of the datasource.
-				Substitutes an abstract environment variable element.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType/>
-	</xsd:element>
-	<xsd:element name="lastUpdate" substitutionGroup="variable">
-		<xsd:annotation>
-			<xsd:documentation>An element to represent the timestamp of the last update of the
-				datasource. Substitutes an abstract variable expression
-			element.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType/>
-	</xsd:element>
+	<xsd:simpleType name="predefinedVariableNamesType">
+		<xsd:restriction base="xsd:string">
+			<xsd:enumeration value="date">
+    		<xsd:annotation>
+		    	<xsd:documentation>Current date in ISO format like 2005-07-21.</xsd:documentation>
+		    </xsd:annotation>
+			</xsd:enumeration>
+			<xsd:enumeration value="timestamp">
+    		<xsd:annotation>
+		    	<xsd:documentation>Current timestamp in ISO format like 2005-07-20 17:01:38</xsd:documentation>
+		    </xsd:annotation>
+			</xsd:enumeration>
+			<xsd:enumeration value="datasourceName">
+    		<xsd:annotation>
+		    	<xsd:documentation>The name of the datasource (service title).</xsd:documentation>
+		    </xsd:annotation>
+			</xsd:enumeration>
+			<xsd:enumeration value="accessPoint">
+    		<xsd:annotation>
+		    	<xsd:documentation>Service access point.</xsd:documentation>
+		    </xsd:annotation>
+			</xsd:enumeration>
+			<xsd:enumeration value="lastUpdate">
+    		<xsd:annotation>
+		    	<xsd:documentation>Timestamp of the last update of the datasource.</xsd:documentation>
+		    </xsd:annotation>
+			</xsd:enumeration>
+		</xsd:restriction>
+	</xsd:simpleType>
+	<xsd:simpleType name="variableNameType">
+		<xsd:union memberTypes="predefinedVariableNamesType xsd:string"/>
+	</xsd:simpleType>
 	<!--  ============================================= -->
 	<!--REQUEST TYPE DEFINITIONS-->
 	<!--  ============================================= -->
@@ -770,7 +778,7 @@
 	<xsd:attributeGroup name="pagingParametersGroup">
 		<xsd:attribute name="count" type="xsd:boolean" use="optional" default="false"/>
 		<xsd:attribute name="start" type="xsd:nonNegativeInteger" use="optional" default="0"/>
-		<xsd:attribute name="limit" type="xsd:nonNegativeInteger" use="optional" default="1"/>
+		<xsd:attribute name="limit" type="xsd:nonNegativeInteger" use="optional"/>
 	</xsd:attributeGroup>
 	<!-- ============================================= -->
 	<!--RESPONSE TYPE DEFINITIONS-->
@@ -976,6 +984,7 @@
 								</xsd:sequence>
 								<xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
 								<xsd:attribute name="location" type="xsd:anyURI" use="required"/>
+								<xsd:attribute name="alias" type="xsd:string" use="optional"/>
 							</xsd:complexType>
 						</xsd:element>
 					</xsd:sequence>
@@ -987,12 +996,7 @@
 						<xsd:element name="environment" minOccurs="0">
 							<xsd:complexType>
 								<xsd:sequence>
-									<xsd:element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
-									<xsd:element ref="custom" minOccurs="0">
-										<xsd:annotation>
-											<xsd:documentation>Extension slot for other variables.</xsd:documentation>
-										</xsd:annotation>
-									</xsd:element>
+									<xsd:any maxOccurs="unbounded"/>
 								</xsd:sequence>
 							</xsd:complexType>
 						</xsd:element>
@@ -1044,7 +1048,6 @@
 			<xsd:element ref="custom" minOccurs="0"/>
 		</xsd:sequence>
 	</xsd:complexType>
-	
 	<xsd:complexType name="templatesCapabilitiesType">
 		<xsd:sequence>
 			<xsd:element name="template" maxOccurs="unbounded">
@@ -1069,10 +1072,8 @@
 			<xsd:element name="basicSchemaLanguage">
 				<xsd:annotation>
 					<xsd:documentation>This includes the following xml schema tags: schema incl
-						target namespace, element incl min/maxOccurs, attribute incl minOccurs,
-						sequence, all If defined locally it should also include complexType +
-						simpleType definitions incl complexContent +
-					simpleContent</xsd:documentation>
+						target namespace, element incl min/maxOccurs, attribute incl use,
+						sequence, all and local definitions of complexType and simpleType.</xsd:documentation>
 				</xsd:annotation>
 				<xsd:complexType/>
 			</xsd:element>
@@ -1697,18 +1698,13 @@
 				</xsd:annotation>
 				<xsd:complexType>
 					<xsd:sequence>
-						<xsd:element name="value" maxOccurs="unbounded">
+					  <xsd:any maxOccurs="unbounded">
 							<xsd:annotation>
-								<xsd:documentation>A single value for a single concept. The sequence
+								<xsd:documentation>Single values for each concept. The sequence
 									of the values should correspond to the sequence used in the
 									request.</xsd:documentation>
 							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:simpleContent>
-									<xsd:extension base="xsd:string"/>
-								</xsd:simpleContent>
-							</xsd:complexType>
-						</xsd:element>
+					  </xsd:any>
 					</xsd:sequence>
 					<xsd:attribute name="count" type="xsd:positiveInteger" use="optional"/>
 				</xsd:complexType>




More information about the tdwg-tag mailing list