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

tdwg-tapir at lists.tdwg.org tdwg-tapir at lists.tdwg.org
Thu Jan 5 18:53:10 CET 2006


Author: renato
Date: 2006-01-05 18:53:02 +0100 (Thu, 05 Jan 2006)
New Revision: 393

Modified:
   trunk/protocol/tapir.xsd
Log:
* Reduced "queryTemplateGroup" to contain only <label> and <documentation>. 
* Moved the other elements from "queryTemplateGroup" to a new "searchTemplateGroup" (which also references the "queryTemplateGroup"). 
* Created a new "inventoryTemplateGroup" in the same way, and made the inventory request element reference it (as it happens in the search request definition). 
* Removed the global element <queryTemplate> and included <searchTemplate> and <inventoryTemplate> to make the schema validate external template definitions. This way query templates used in view operations can point to predefined search or inventory operations.
* Removed the possibility to use queryTemplateURI in XML search requests.


Modified: trunk/protocol/tapir.xsd
===================================================================
--- trunk/protocol/tapir.xsd	2006-01-05 17:32:48 UTC (rev 392)
+++ trunk/protocol/tapir.xsd	2006-01-05 17:53:02 UTC (rev 393)
@@ -254,15 +254,20 @@
 			</xsd:element>
 		</xsd:sequence>
 	</xsd:group>
-	<xsd:element name="queryTemplate">
+	<xsd:group name="queryTemplateGroup">
+		<xsd:sequence>
+			<xsd:element name="label" type="xsd:string" minOccurs="0"/>
+			<xsd:element name="documentation" type="xsd:string" minOccurs="0"/>
+		</xsd:sequence>
+	</xsd:group>
+	<xsd:element name="searchTemplate">
 		<xsd:complexType>
-			<xsd:group ref="queryTemplateGroup"/>
+			<xsd:group ref="searchTemplateGroup"/>
 		</xsd:complexType>
 	</xsd:element>
-	<xsd:group name="queryTemplateGroup">
+	<xsd:group name="searchTemplateGroup">
 		<xsd:sequence>
-			<xsd:element name="label" type="xsd:string" minOccurs="0"/>
-			<xsd:element name="documentation" type="xsd:string" minOccurs="0"/>
+			<xsd:group ref="queryTemplateGroup"/>
 			<xsd:element name="outputModelURI">
 				<xsd:annotation>
 					<xsd:documentation>A simple XPath pointing to a response structure node that
@@ -304,6 +309,33 @@
 			</xsd:element>
 		</xsd:sequence>
 	</xsd:group>
+	<xsd:element name="inventoryTemplate">
+		<xsd:complexType>
+			<xsd:group ref="inventoryTemplateGroup"/>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:group name="inventoryTemplateGroup">
+		<xsd:sequence>
+			<xsd:group ref="queryTemplateGroup"/>
+			<xsd:element name="concepts">
+				<xsd:annotation>
+					<xsd:documentation>Used to specify a list of concepts to
+												make an inventory on.</xsd:documentation>
+				</xsd:annotation>
+				<xsd:complexType>
+					<xsd:sequence>
+						<xsd:element name="concept" type="qualifiedConceptReference" minOccurs="0" maxOccurs="unbounded">
+							<xsd:annotation>
+								<xsd:documentation>A single qualified
+												concept</xsd:documentation>
+							</xsd:annotation>
+						</xsd:element>
+					</xsd:sequence>
+				</xsd:complexType>
+			</xsd:element>
+			<xsd:element ref="filter" minOccurs="0"/>
+		</xsd:sequence>
+	</xsd:group>
 	<!-- ============================================= -->
 	<!-- FILTER  DEFINITIONS-->
 	<!-- ============================================= -->
@@ -636,23 +668,7 @@
 				<xsd:element name="inventory">
 					<xsd:complexType>
 						<xsd:sequence>
-							<xsd:element name="concepts">
-								<xsd:annotation>
-									<xsd:documentation>Used to specify a list of concepts to
-												make an inventory on.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:complexType>
-									<xsd:sequence>
-										<xsd:element name="concept" type="qualifiedConceptReference" minOccurs="0" maxOccurs="unbounded">
-											<xsd:annotation>
-												<xsd:documentation>A single qualified
-												concept</xsd:documentation>
-											</xsd:annotation>
-										</xsd:element>
-									</xsd:sequence>
-								</xsd:complexType>
-							</xsd:element>
-							<xsd:element ref="filter" minOccurs="0"/>
+							<xsd:group ref="inventoryTemplateGroup"/>
 						</xsd:sequence>
 						<xsd:attributeGroup ref="operationRequestGroup"/>
 						<xsd:attributeGroup ref="pagingParameters"/>
@@ -663,21 +679,11 @@
 						<xsd:documentation>A search with the view definition used for the search as an attribute. If left out defaults to the one specified by the provider and exposed in the capabilities.</xsd:documentation>
 					</xsd:annotation>
 					<xsd:complexType>
-						<xsd:choice>
-							<xsd:element name="queryTemplateURI">
-								<xsd:complexType>
-									<xsd:complexContent>
-										<xsd:extension base="externalResourceType">
-											<xsd:attribute name="reload" type="xsd:boolean" use="optional" default="false"/>
-										</xsd:extension>
-									</xsd:complexContent>
-								</xsd:complexType>
-							</xsd:element>
-							<xsd:sequence>
-								<xsd:group ref="queryTemplateGroup"/>
-								<xsd:element name="partial" minOccurs="0">
-									<xsd:annotation>
-										<xsd:documentation>Select only a subset of the
+						<xsd:sequence>
+							<xsd:group ref="searchTemplateGroup"/>
+							<xsd:element name="partial" minOccurs="0">
+								<xsd:annotation>
+									<xsd:documentation>Select only a subset of the
 												entire response structure to be used in the
 												response. Useful for working with large cached
 												external structures referenced via URLs. Select
@@ -688,21 +694,20 @@
 												structure, which are not listed in the partial
 												search ,must be included in the response
 												content.</xsd:documentation>
-									</xsd:annotation>
-									<xsd:complexType>
-										<xsd:sequence>
-											<xsd:element name="node" type="nodeReference" maxOccurs="unbounded">
-												<xsd:annotation>
-													<xsd:documentation>A node taken from the
+								</xsd:annotation>
+								<xsd:complexType>
+									<xsd:sequence>
+										<xsd:element name="node" type="nodeReference" maxOccurs="unbounded">
+											<xsd:annotation>
+												<xsd:documentation>A node taken from the
 												response structure
 												definition.</xsd:documentation>
-												</xsd:annotation>
-											</xsd:element>
-										</xsd:sequence>
-									</xsd:complexType>
-								</xsd:element>
-							</xsd:sequence>
-						</xsd:choice>
+											</xsd:annotation>
+										</xsd:element>
+									</xsd:sequence>
+								</xsd:complexType>
+							</xsd:element>
+						</xsd:sequence>
 						<xsd:attributeGroup ref="operationRequestGroup"/>
 						<xsd:attributeGroup ref="pagingParameters"/>
 					</xsd:complexType>





More information about the tdwg-tag mailing list