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

tdwg-tapir at lists.tdwg.org tdwg-tapir at lists.tdwg.org
Wed Jul 5 19:59:22 CEST 2006


Author: markus
Date: 2006-07-05 19:59:21 +0200 (Wed, 05 Jul 2006)
New Revision: 540

Modified:
   trunk/protocol/tapir.xsd
Log:
Allow the use of template URIs in searches and inventory requests based on XML messaging. Formerly this was only possible through the http-get based VIEW operation. For this to happen inventory nd search template types had to become groups.

Modified: trunk/protocol/tapir.xsd
===================================================================
--- trunk/protocol/tapir.xsd	2006-07-05 16:27:23 UTC (rev 539)
+++ trunk/protocol/tapir.xsd	2006-07-05 17:59:21 UTC (rev 540)
@@ -297,6 +297,60 @@
 		</xsd:sequence>
 	</xsd:complexType>
 	<xsd:element name="searchTemplate" substitutionGroup="queryTemplate" type="searchTemplateType"/>
+	<xsd:group name="searchTemplateGroup">
+		<xsd:sequence>
+			<xsd:element name="outputModel" type="externalResourceType"/>
+			<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
+						branch nodes if you want all concepts below
+						included. A partial search must take care that
+						response documents still validate. Thus
+						mandatory elements or attributes of the response
+						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="nodeReferenceType" 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:element ref="filter" minOccurs="0"/>
+			<xsd:element name="orderBy" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>A list of qualified concepts to be used for ordering the view
+						results.</xsd:documentation>
+				</xsd:annotation>
+				<xsd:complexType>
+					<xsd:sequence>
+						<xsd:element name="concept" maxOccurs="unbounded">
+							<xsd:annotation>
+								<xsd:documentation>Repeatable element. One or more concepts to be used for ordering the
+									view. If the attribute "descend" is set to true, a descending
+									ordering will be used instead of the default ascending one.</xsd:documentation>
+							</xsd:annotation>
+							<xsd:complexType>
+								<xsd:complexContent>
+									<xsd:extension base="conceptType">
+										<xsd:attribute name="descend" type="xsd:boolean" use="optional" default="false"/>
+									</xsd:extension>
+								</xsd:complexContent>
+							</xsd:complexType>
+						</xsd:element>
+					</xsd:sequence>
+				</xsd:complexType>
+			</xsd:element>
+		</xsd:sequence>		
+	</xsd:group>
 	<xsd:complexType name="searchTemplateType">
 		<xsd:annotation>
 			<xsd:documentation>TAPIR can use a template for configuring search requests. 
@@ -305,62 +359,36 @@
 		<xsd:complexContent>
 			<xsd:extension base="extResourceDocumentationType">
 				<xsd:sequence>
-					<xsd:element name="outputModel" type="externalResourceType"/>
-					<xsd:element name="partial" minOccurs="0">
+					<xsd:group ref="searchTemplateGroup" />
+				</xsd:sequence>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+	<xsd:element name="inventoryTemplate" substitutionGroup="queryTemplate"
+		type="inventoryTemplateType"/>
+	<xsd:group name="inventoryTemplateGroup">
+		<xsd:annotation>
+			<xsd:documentation>TAPIR can use a template for configuring inventory requests. 
+				The Template is accessed, as an external document, by its URI</xsd:documentation>
+		</xsd:annotation>
+				<xsd:sequence>
+					<xsd:element name="concepts">
 						<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
-								branch nodes if you want all concepts below
-								included. A partial search must take care that
-								response documents still validate. Thus
-								mandatory elements or attributes of the response
-								structure, which are not listed in the partial
-								search ,must be included in the response
-								content.</xsd:documentation>
+							<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="node" type="nodeReferenceType" maxOccurs="unbounded">
+								<xsd:element name="concept" type="qualifiedConceptReferenceType" minOccurs="0" maxOccurs="unbounded">
 									<xsd:annotation>
-										<xsd:documentation>A node taken from the response structure definition.</xsd:documentation>
+										<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:element name="orderBy" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>A list of qualified concepts to be used for ordering the view
-								results.</xsd:documentation>
-						</xsd:annotation>
-						<xsd:complexType>
-							<xsd:sequence>
-								<xsd:element name="concept" maxOccurs="unbounded">
-									<xsd:annotation>
-										<xsd:documentation>Repeatable element. One or more concepts to be used for ordering the
-											view. If the attribute "descend" is set to true, a descending
-											ordering will be used instead of the default ascending one.</xsd:documentation>
-									</xsd:annotation>
-									<xsd:complexType>
-										<xsd:complexContent>
-											<xsd:extension base="conceptType">
-												<xsd:attribute name="descend" type="xsd:boolean" use="optional" default="false"/>
-											</xsd:extension>
-										</xsd:complexContent>
-									</xsd:complexType>
-								</xsd:element>
-							</xsd:sequence>
-						</xsd:complexType>
-					</xsd:element>
 				</xsd:sequence>
-			</xsd:extension>
-		</xsd:complexContent>
-	</xsd:complexType>
-	<xsd:element name="inventoryTemplate" substitutionGroup="queryTemplate"
-		type="inventoryTemplateType"/>
+	</xsd:group>
 	<xsd:complexType name="inventoryTemplateType">
 		<xsd:annotation>
 			<xsd:documentation>TAPIR can use a template for configuring inventory requests. 
@@ -369,21 +397,7 @@
 		<xsd:complexContent>
 			<xsd:extension base="extResourceDocumentationType">
 		<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="qualifiedConceptReferenceType" 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:extension>
 		</xsd:complexContent>
@@ -715,12 +729,12 @@
 				</xsd:element>
 				<xsd:element name="inventory">
 					<xsd:complexType>
-						<xsd:complexContent>
-							<xsd:extension base="inventoryTemplateType">
-								<xsd:attributeGroup ref="operationRequestGroup"/>
-								<xsd:attributeGroup ref="pagingParametersGroup"/>
-							</xsd:extension>
-						</xsd:complexContent>
+						<xsd:choice>
+							<xsd:element name="template" type="externalResourceType"/>
+							<xsd:group ref="inventoryTemplateGroup"/>
+						</xsd:choice>
+						<xsd:attributeGroup ref="operationRequestGroup"/>
+						<xsd:attributeGroup ref="pagingParametersGroup"/>
 					</xsd:complexType>
 				</xsd:element>
 				<xsd:element name="search">
@@ -728,12 +742,12 @@
 						<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:complexContent>
-							<xsd:extension base="searchTemplateType">
-								<xsd:attributeGroup ref="operationRequestGroup"/>
-								<xsd:attributeGroup ref="pagingParametersGroup"/>
-							</xsd:extension>
-						</xsd:complexContent>
+						<xsd:choice>
+							<xsd:element name="template" type="externalResourceType"/>
+							<xsd:group ref="searchTemplateGroup"/>
+						</xsd:choice>
+						<xsd:attributeGroup ref="operationRequestGroup"/>
+						<xsd:attributeGroup ref="pagingParametersGroup"/>
 					</xsd:complexType>
 				</xsd:element>
 			</xsd:choice>




More information about the tdwg-tag mailing list