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:documentationA 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:documentationUsed 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:documentationA 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:documentationUsed 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:documentationA 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:documentationA 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:documentationSelect only a subset of the + xsd:sequence + <xsd:group ref="searchTemplateGroup"/> + <xsd:element name="partial" minOccurs="0"> + xsd:annotation + xsd:documentationSelect 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:documentationA node taken from the + </xsd:annotation> + xsd:complexType + xsd:sequence + <xsd:element name="node" type="nodeReference" maxOccurs="unbounded"> + xsd:annotation + xsd:documentationA 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>