tdwg-tag
Threads by month
- ----- 2024 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
August 2006
- 10 participants
- 17 discussions
Hi Tapir Guys,
One quick question: Will TAPIR be able to produce valid GML as an output
model. i.e. if I specify a simple GML application schema as a output
model should it work? Has anyone done this?
I presume that if it works as an output model I can also use it as a
conceptual schema and just ask for the default mappings.
Thanks,
Roger
--
-------------------------------------
Roger Hyam
Technical Architect
Taxonomic Databases Working Group
-------------------------------------
http://www.tdwg.org
roger(a)tdwg.org
+44 1578 722782
-------------------------------------
2
3
![](https://secure.gravatar.com/avatar/1082c32d4ba6cf7f6927e6bfcd416db6.jpg?s=120&d=mm&r=g)
03 Aug '06
Author: markus
Date: 2006-08-03 12:29:39 +0200 (Thu, 03 Aug 2006)
New Revision: 554
Modified:
trunk/protocol/tapir.xsd
Log:
use the controlled voc [required | accepted | denied] for the logRequest attribute in capabilities operation element.
Also added a new optional attribute "alias" to the mapped concepts of a capabilities response. This can be used to advertise the short alias of a concept as known by a CNS.
Modified: trunk/protocol/tapir.xsd
===================================================================
--- trunk/protocol/tapir.xsd 2006-08-01 08:07:04 UTC (rev 553)
+++ trunk/protocol/tapir.xsd 2006-08-03 10:29:39 UTC (rev 554)
@@ -1,1681 +1,1690 @@
-<?xml version="1.0"?>
-<!-- $Id$ -->
-<xsd:schema targetNamespace="http://rs.tdwg.org/tapir/1.0"
- xmlns="http://rs.tdwg.org/tapir/1.0"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:dct="http://purl.org/dc/terms/"
- xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
- xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified" version="1.0" xml:lang="EN" >
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- TAPIR XML Schema. TAPIR is an acronym for TDWG Access Protocol for Information Retrieval.
- A unified and extended protocol based on DiGIR and BioCASE. TAPIR specifies a standardised,
- stateless, HTTP transmittable, XML-based request and response protocol for accessing, structured
- data that may be stored on any number of distributed databases of varied physical and logical
- structure. TAPIR documents are either request or response types, as defined by their root element.
- </xsd:documentation>
- <xsd:appinfo>
- <dc:title>TAPIR XML Schema</dc:title>
- <dc:creator>Markus Döring [m.doering(a)bgbm.org]</dc:creator>
- <dc:creator>Renato De Giovanni [renato(a)cria.org.br]</dc:creator>
- <dc:relation>http://ww3.bgbm.org/protocolwiki</dc:relation>
- <dc:contributor>Charles Copp [eim(a)globalnet.co.uk]</dc:contributor>
- </xsd:appinfo>
- </xsd:annotation>
- <!-- ============================================= -->
- <!-- NAMESPACE IMPORTS -->
- <!-- ============================================= -->
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
- <xsd:import namespace="http://purl.org/dc/elements/1.1/"
- schemaLocation="dc.xsd"/>
- <xsd:import namespace="http://purl.org/dc/terms/"
- schemaLocation="dcterms.xsd"/>
- <xsd:import namespace="http://www.w3.org/2003/01/geo/wgs84_pos#"
- schemaLocation="w3c_geo.xsd"/>
- <xsd:import namespace="http://www.w3.org/2001/vcard-rdf/3.0#"
- schemaLocation="vcard.xsd"/>
- <!-- ============================================= -->
- <!-- SIMPLE TYPE DEFINITIONS-->
- <!-- ============================================= -->
- <xsd:simpleType name="simpleXPathType">
- <xsd:annotation>
- <xsd:documentation>A simple XPath expression used to reference XML nodes.
- e.g. /dataset/specimen/identification/name</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- <xsd:simpleType name="qualifiedConceptIdType">
- <xsd:annotation>
- <xsd:documentation>A simpleType to represent qualified concept identifiers. This can
- either be the full format NAMESPACE#LOCAL_CONCEPT or an alias which can be any
- string e.g. unitID(a)abcd1.20.</xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- <!-- ============================================= -->
- <!-- GLOBAL ATTRIBUTES-->
- <!-- ============================================= -->
- <xsd:attribute name="lang" type="xsd:language">
- <xsd:annotation>
- <xsd:documentation>Attribute for language identification. This attribute was globally
- declared to be referenced by others, and therefore simulate the same way of using
- xml:lang (in case it could be necessary to switch to xml:lang in the future).</xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <!-- ============================================= -->
- <!-- GENERAL COMPLEX TYPE DEFINITIONS-->
- <!-- ============================================= -->
- <xsd:complexType name="externalResourceType">
- <xsd:annotation>
- <xsd:documentation>A URI that points to a document or schema referenced by TAPIR operations</xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
- </xsd:complexType>
- <xsd:complexType name="languageAwareElementType">
- <xsd:annotation>
- <xsd:documentation> String with a language attribute. A type for elements that may be language specific.</xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute ref="xml:lang" use="optional"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="nodeReferenceType">
- <xsd:annotation>
- <xsd:documentation>A reference to an XML node in a conceptual schema.
- Uses a simple XPath stored as an attribute.</xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="path" type="simpleXPathType" use="required"/>
- </xsd:complexType>
- <xsd:complexType name="qualifiedConceptReferenceType">
- <xsd:annotation>
- <xsd:documentation>A qualified reference to a concept. Uses an attribute to hold a concept
- and its namespace prefix or an alias as defined in qualifiedConceptIdType </xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="id" type="qualifiedConceptIdType" use="required"/>
- </xsd:complexType>
- <xsd:complexType name="softwareInformationType">
- <xsd:annotation>
- <xsd:documentation> Information about the software used to construct or relay a TAPIR request or response.
- The software name and version are stored as simple string attributes.</xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- <xsd:attribute name="version" type="xsd:string" use="required"/>
- </xsd:complexType>
- <xsd:complexType name="headerType">
- <xsd:annotation>
- <xsd:documentation>A Header is part of request and response messages. The Header describes the source of the request or response
- and optionally its destination. It may also describe the software that sent the request or response
- and there is a custom section for extending the information e.g. with information related to security or access.
- If the noresponse attribute is set to true the request is meant for logging only and no response should be generated.
- The header can list several sources, where for instance, a request is cascaded through one or more portals. </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="source" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Source of this message. Repeatable to trace back all servers
- of a possible cascading transaction, but always starting (first in the
- sequence) with the original source, the client. Holds a URL or at least the
- IP of the source with the timestamp when the message has been processed as
- an attribute in ISO format.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="software" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>The optional software element should indicate the
- software including its version, used to generate or modify the
- document. It may also list any dependencies on libraries and other software</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="softwareInformationType">
- <xsd:sequence minOccurs="0">
- <xsd:element name="dependencies" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Represents set of dependecies for this software.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="dependency" type="softwareInformationType" minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>A singledependency for the software,e.g. a library, framework, component, OS,...</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="accesspoint" type="xsd:anyURI" use="required"/>
- <xsd:attribute name="sendtime" type="xsd:dateTime" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="destination" type="xsd:string" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Destination of the message. Takes a string which usually will
- be a URI but can be anything e.g. include resource names etc. It is optional
- and an implementation is free to ignore it.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="diagnosticMessageType">
- <xsd:annotation>
- <xsd:documentation>A diagnostic message from the service with message type and time presented as attributes
- including code, level ( with enumerated types e.g. error, warning, additional
- information, etc). and a time stamp</xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute name="code" type="xsd:string" use="optional"/>
- <xsd:attribute name="level" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="debug"/>
- <xsd:enumeration value="info"/>
- <xsd:enumeration value="warn"/>
- <xsd:enumeration value="error"/>
- <xsd:enumeration value="fatal"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="time" type="xsd:dateTime" use="optional"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="diagnosticsListType">
- <xsd:annotation>
- <xsd:documentation>Provides the means to present a list of diagnostic messages from the service.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence minOccurs="0">
- <xsd:element name="diagnostic" type="diagnosticMessageType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="custom">
- <xsd:annotation>
- <xsd:documentation>Extension slot for additional information not defined in the schema.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:any minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>For any custom extension. E.g what security related
- capabilities does the provider have? Encryption, access restriction,
- etc.</xsd:documentation>
- </xsd:annotation>
- </xsd:any>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <!-- ============================================= -->
- <!--EXTERNAL QUERY TEMPLATE DEFINITIONS-->
- <!-- ============================================= -->
- <xsd:element name="outputModel" type="outputModelType"></xsd:element>
- <xsd:complexType name="outputModelType">
- <xsd:annotation>
- <xsd:documentation>Response structures are part of a View definition which
- includes three sections: a record schema (structure), a mapping section for linking to the datasource model
- and an indexing section that is used as a reference for record counting and paging responses.
- The outputModel template is a separate, external XML document, called by a search operation or View,
- that uses 'outputModel' as the root element. </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="structure">
- <xsd:annotation>
- <xsd:documentation>The response structure definition. By default this should be
- a subset of the XML Schema language but others such as RELAX NG could be
- supported in the future.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:choice>
- <xsd:element name="schema" type="externalResourceType"/>
- <xsd:any namespace="##other">
- <xsd:annotation>
- <xsd:documentation>A structure represented through a subset of the
- XML Schema language defining how elements should be
- returned.</xsd:documentation>
- </xsd:annotation>
- </xsd:any>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="indexingElement" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>A simple XPath pointing to a response structure node that
- should be used as a reference for counting.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="path" type="simpleXPathType" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="mapping">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="node" minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Maps a node from the structure definition to a
- list of qualified concepts, literals or environment variables,
- which should be concatenated in the output. If the automapping attribute
- is set to 'true' then the server application should match concepts with the same namespace and path.
- For instance if the wrapper and the search request are both using a canonical ABCD model or Darwin Core Model,
- then concepts will be automatically recognised.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Multiple mappings represent concatenation.</xsd:documentation>
- </xsd:annotation>
- <xsd:element ref="concept"/>
- <xsd:element ref="literal"/>
- <xsd:element ref="variable"/>
- </xsd:choice>
- <xsd:attribute name="path" type="simpleXPathType" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="automapping" type="xsd:boolean" use="optional" default="false"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="queryTemplate" abstract="true"/>
- <xsd:complexType name="extResourceDocumentationType">
- <xsd:sequence>
- <xsd:element name="label" type="xsd:string" minOccurs="0"/>
- <xsd:element name="documentation" type="xsd:string" minOccurs="0"/>
- </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.
- The Template is accessed, as an external document, by its URI</xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="extResourceDocumentationType">
- <xsd:sequence>
- <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>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:sequence>
- </xsd:group>
- <xsd:complexType name="inventoryTemplateType">
- <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:complexContent>
- <xsd:extension base="extResourceDocumentationType">
- <xsd:sequence>
- <xsd:group ref="inventoryTemplateGroup" />
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <!-- ============================================= -->
- <!-- FILTER DEFINITIONS-->
- <!-- ============================================= -->
- <xsd:element name="filter">
- <xsd:annotation>
- <xsd:documentation>An abstract filter encoding that could be translated to other local
- query languages. Can be used by search, inventory and view operations to specify
- searching conditions.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="booleanOP"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <!-- ===== EXPRESSIONS ===== -->
- <xsd:element name="expression" abstract="true">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any expression (literal, parameter
- or concept).</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- ===== 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>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="value" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <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>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <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>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="conceptType">
- <xsd:complexContent>
- <xsd:extension base="qualifiedConceptReferenceType"/>
- </xsd:complexContent>
- </xsd:complexType>
- <!-- ===== COMPLEX EXPRESSIONS ===== -->
- <xsd:element name="complexExpression" abstract="true" substitutionGroup="expression"/>
- <!-- === ARITHMETIC EXPRESSION OPERATORS ===-->
- <xsd:element name="AOP" abstract="true" substitutionGroup="complexExpression">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any Arithmetic operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="binaryAOPType">
- <xsd:annotation>
- <xsd:documentation>A binary arithmetic operator with the first expression argument being
- the left argument of the operation.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="expression"/>
- <xsd:element ref="expression"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="add" type="binaryAOPType" substitutionGroup="AOP">
- <xsd:annotation>
- <xsd:documentation>The arithmetic addition (+) operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="sub" type="binaryAOPType" substitutionGroup="AOP">
- <xsd:annotation>
- <xsd:documentation>The arithmetic subtraction (-) operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="mul" type="binaryAOPType" substitutionGroup="AOP">
- <xsd:annotation>
- <xsd:documentation>The arithmetic multiplication (*) operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="div" type="binaryAOPType" substitutionGroup="AOP">
- <xsd:annotation>
- <xsd:documentation>The arithmetic division (/) operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- ===== ABSTRACT OPERATOR BASE TYPE ===== -->
- <xsd:element name="booleanOP" abstract="true">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any logical operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- ===== COMPARATIVE OPERATORS ===== -->
- <xsd:element name="COP" abstract="true" substitutionGroup="booleanOP">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- === unary === -->
- <xsd:element name="unaryCOP" abstract="true" substitutionGroup="COP">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any unary comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="unaryCOPType">
- <xsd:annotation>
- <xsd:documentation>A complex type for unary comparison operators.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="concept"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="isNull" type="unaryCOPType" substitutionGroup="unaryCOP">
- <xsd:annotation>
- <xsd:documentation>Compares if a concept is null. Use equals element to compare for empty strings.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- === binary === -->
- <xsd:element name="binaryCOP" abstract="true" substitutionGroup="COP">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any binary comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="binaryCOPType">
- <xsd:annotation>
- <xsd:documentation>A complex type for binary comparison operators.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="concept"/>
- <xsd:element ref="expression"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="equals" type="binaryCOPType" substitutionGroup="binaryCOP">
- <xsd:annotation>
- <xsd:documentation>The equals (=) comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="lessThan" type="binaryCOPType" substitutionGroup="binaryCOP">
- <xsd:annotation>
- <xsd:documentation>The less than (<) comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="lessThanOrEquals" type="binaryCOPType" substitutionGroup="binaryCOP">
- <xsd:annotation>
- <xsd:documentation>The less than or equals (<=) comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="greaterThan" type="binaryCOPType" substitutionGroup="binaryCOP">
- <xsd:annotation>
- <xsd:documentation>The greater than (>) comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="greaterThanOrEquals" type="binaryCOPType" substitutionGroup="binaryCOP">
- <xsd:annotation>
- <xsd:documentation>The greater than or equals (>=) comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="like" type="binaryCOPType" substitutionGroup="binaryCOP">
- <xsd:annotation>
- <xsd:documentation>The like (LIKE) comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- === multiple === -->
- <xsd:element name="multiCOP" abstract="true" substitutionGroup="COP">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any multiple comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="multiCOPType">
- <xsd:annotation>
- <xsd:documentation>A complex type for multiple comparison operators.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="concept"/>
- <xsd:element name="values">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="simpleExpression" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="in" type="multiCOPType" substitutionGroup="multiCOP">
- <xsd:annotation>
- <xsd:documentation>The in (IN) comparison operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- ===== LOGICAL OPERATORS ===== -->
- <xsd:element name="LOP" abstract="true" substitutionGroup="booleanOP">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any logical
- operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- === unary === -->
- <xsd:element name="unaryLOP" abstract="true" substitutionGroup="LOP">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any unary logical
- operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="unaryLOPType">
- <xsd:annotation>
- <xsd:documentation>A complex type for unary logical operators.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="booleanOP"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="not" substitutionGroup="unaryLOP">
- <xsd:annotation>
- <xsd:documentation>The not logical operator.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="unaryLOPType"/>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
- <!-- === multiple === -->
- <xsd:element name="multiLOP" abstract="true" substitutionGroup="LOP">
- <xsd:annotation>
- <xsd:documentation>An abstract element representing any multiple logical
- operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="multiLOPType">
- <xsd:annotation>
- <xsd:documentation>A complex type for multiple logical operators.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence minOccurs="2" maxOccurs="unbounded">
- <xsd:element ref="booleanOP"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="and" type="multiLOPType" substitutionGroup="multiLOP">
- <xsd:annotation>
- <xsd:documentation>The and logical operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="or" type="multiLOPType" substitutionGroup="multiLOP">
- <xsd:annotation>
- <xsd:documentation>The or logical operator.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <!-- ===== ENVIRONMENT VARIABLE EXPRESSIONS ===== -->
- <xsd:element name="variable" abstract="true" 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:annotation>
- </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>
- <!-- ============================================= -->
- <!--REQUEST TYPE DEFINITIONS-->
- <!-- ============================================= -->
- <xsd:element name="request" type="requestType">
- <xsd:annotation>
- <xsd:documentation>Global element representing a request. This is a root element
- and must contain reference to the schema and namespaces used.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="requestType">
- <xsd:annotation>
- <xsd:documentation>Request message format. Must always contain header and operation
- specific parameters.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="header" type="headerType"/>
- <xsd:choice>
- <xsd:element name="ping">
- <xsd:complexType>
- <xsd:attributeGroup ref="operationRequestGroup"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="capabilities">
- <xsd:complexType>
- <xsd:attributeGroup ref="operationRequestGroup"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="metadata">
- <xsd:complexType>
- <xsd:attributeGroup ref="operationRequestGroup"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="inventory">
- <xsd:complexType>
- <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">
- <xsd:annotation>
- <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="template" type="externalResourceType"/>
- <xsd:group ref="searchTemplateGroup"/>
- </xsd:choice>
- <xsd:attributeGroup ref="operationRequestGroup"/>
- <xsd:attributeGroup ref="pagingParametersGroup"/>
- <xsd:attribute name="envelope" type="xsd:boolean" use="optional" default="true"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- <xsd:element name="diagnostics" type="diagnosticsListType" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:attributeGroup name="operationRequestGroup">
- <xsd:attribute name="xslt" type="xsd:anyURI" use="optional"/>
- <xsd:attribute name="xslt-apply" type="xsd:boolean" use="optional" default="false"/>
- <xsd:attribute name="log-only" type="xsd:boolean" use="optional" default="false"/>
- </xsd:attributeGroup>
- <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:attributeGroup>
- <!-- ============================================= -->
- <!--RESPONSE TYPE DEFINITIONS-->
- <!-- ============================================= -->
- <xsd:element name="response" type="responseType">
- <xsd:annotation>
- <xsd:documentation>Global element representing a response.This is a root element
- and must contain reference to the schema and namespaces used</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="responseType">
- <xsd:annotation>
- <xsd:documentation>Response message format. Must always contain header, results from the
- requested operation and possible diagnostic messages.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="header" type="headerType"/>
- <xsd:choice>
- <xsd:element ref="pong"/>
- <xsd:element ref="metadata"/><xsd:element ref="capabilities"/>
-
- <xsd:element name="inventory" type="inventoryResultType"/>
- <xsd:element name="search" type="searchResultType"/>
- <xsd:element name="error" type="diagnosticMessageType"/>
- </xsd:choice>
- <xsd:element name="diagnostics" type="diagnosticsListType" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>The diagnostics element is an optional part of TAPIR requests and response messages.
- Diagnostics may contain many pieces of information used for debugging and providing warnings or error messages.
- Individual diagnostics are held in a diagnosticList with an enumerated attribute for level and attributes for code and time.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="resultSummaryType">
- <xsd:annotation>
- <xsd:documentation>Summary about inventory and search results. The first index of a
- record is 0. The number of records actually being returned is given in totalReturned.
- If counting was requested the totalMatched gives the "estimated" number of total
- matching records - not necessarily the number of valid records that can possibly be
- returned by paging through the entire record set.</xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="start" type="xsd:integer" use="required"/>
- <xsd:attribute name="next" type="xsd:integer" use="optional"/>
- <xsd:attribute name="totalReturned" type="xsd:integer" use="required"/>
- <xsd:attribute name="totalMatched" type="xsd:integer" use="optional"/>
- </xsd:complexType>
- <!-- ===== PING ===== -->
- <xsd:element name="pong" type="pingResultType"/>
- <xsd:complexType name="pingResultType">
- <xsd:annotation>
- <xsd:documentation>Format of ping operation result.</xsd:documentation>
- </xsd:annotation>
- </xsd:complexType>
- <!-- ===== CAPABILITIES ===== -->
- <xsd:element name="capabilities" type="capabilitiesResultType"/>
- <xsd:complexType name="capabilitiesResultType">
- <xsd:annotation>
- <xsd:documentation>Format of capabilities operation result.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="operations">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="ping">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="metadata">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="capabilities">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="view" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="queryTemplates">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="queryTemplate" type="externalResourceType" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="inventory" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="search" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="staticOutputModels" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="outputModel" type="externalResourceType" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="dynamicOutputModels" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="structure" type="responseStructureCapabilitiesType">
- <xsd:annotation>
- <xsd:documentation>The supported subset of
- the XML Schema
- language.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="logRequestsDenied" type="xsd:boolean" use="required" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="filter" type="filterCapabilitiesType">
- <xsd:annotation>
- <xsd:documentation>Information about the supported filter operators of this
- service.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="concepts">
- <xsd:annotation>
- <xsd:documentation>The list of known conceptual schemas and their mapped
- concepts.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="conceptNameServers">
- <xsd:annotation>
- <xsd:documentation>The location of the alias file or
- ConceptNameServer to define simple aliases for fully qualified
- concept ids.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="server" type="externalResourceType" minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Multiple servers allowed. Ordered list with the first server(s) having priority over the following ones.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="schema" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Namespace and location of a supported
- schema.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="mappedConcept" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Each known and mapped concept of a
- schema listed with a boolean flag indicating if its
- searchable (default = true). The mandatory flag can
- be used to indicate that some concepts need to be
- present in response structures
- (default=false).</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="qualifiedConceptReferenceType">
- <xsd:attribute name="searchable" type="xsd:boolean" use="optional" default="true"/>
- <xsd:attribute name="required" type="xsd:boolean" use="optional" default="false"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
- <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="variables">
- <xsd:complexType>
- <xsd:sequence>
- <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:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="settings">
- <xsd:annotation>
- <xsd:documentation>Information about the local configuration of a
- datasource.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="minQueryTermLength" type="xsd:integer" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Indicates the minimum length for wild-card
- strings used in like comparisons.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="maxElementRepetitions" type="xsd:integer" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Indicates the maximum number of repetitions
- allowed in responses for each repeatable element defined in
- response structures.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="maxElementLevels" type="xsd:integer" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Indicates the maximum number of allowed levels
- (depth) for response elements.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="maxResponseTags" type="xsd:integer" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Indicates the maximum number of tags that can be
- returned by responses.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="maxResponseSize" type="xsd:integer" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Indicates the maximum size in kilobytes allowed
- to be returned by responses.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="responseStructureCapabilitiesType">
- <xsd:annotation>
- <xsd:documentation>A complete indication about what subset of the response structure
- specification is supported by a service.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <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>
- </xsd:annotation>
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="choice" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="group" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>local group definitions without global referencing</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="import" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="references" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>The global use of the tags grouped here when locally
- referenced via the "ref" attribute.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="element" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="attribute" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="group" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="attributeGroup" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="complexType" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="simpleType" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="list" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="union" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="simpleTypes" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="stringTypes" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="string" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="normalizedString" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="token" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="language" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="Name" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="NCName" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="NMToken" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="NMTokens" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="ID" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="IDREF" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="IDREFS" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="ENTITY" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="ENTITIES" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="numericTypes" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="float" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="double" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="decimal" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="integerTypes" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="integer" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="long" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="int" minOccurs="0"/>
- <xsd:element name="short" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="byte" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="positiveInteger" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="nonPositiveInteger" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="negativeInteger" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="nonNegativeInteger" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="unsignedLong" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="unsignedInt" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="unsignedShort" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="unsignedByte" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="dateTimeTypes" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="duration" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="dateTime" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="time" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="date" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="gYearMonth" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="gYear" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="gMonthDay" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="gDay" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="gMonth" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="miscTypes" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="boolean" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="base64Binary" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="hexBinary" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="anyURI" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="QName" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="extension" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="restriction" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="minInclusive" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="maxInclusive" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="minExclusive" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="maxExclusive" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="fractionDigits" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="totalDigits" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="enumeration" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="whiteSpace" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="pattern" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="length" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="minLength" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="maxLength" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="substitutionGroup" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="constraints" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element name="field" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="selector" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="unique" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="key" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="keyref" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="filterCapabilitiesType">
- <xsd:annotation>
- <xsd:documentation>A complete indication about what filter operators are supported by a
- service.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="encoding" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="expression">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="concept">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="literal">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="parameter">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="variable">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="arithmetic">
- <xsd:annotation>
- <xsd:documentation>Support +-*/ in filter
- expressions.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="add" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="sub" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="div" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="mul" minOccurs="0">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="booleanOperators">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="logical">
- <xsd:annotation>
- <xsd:documentation>This includes all 3 operators. AND, OR,
- NOT</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="not">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="and">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="or">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="comparative">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="equals">
- <xsd:annotation>
- <xsd:documentation>Recommended to be case
- sensitive.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="true"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="greaterThan">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="greaterThanOrEquals">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="lessThan">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="lessThanOrEquals">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="in">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="isNull">
- <xsd:complexType/>
- </xsd:element>
- <xsd:element name="like">
- <xsd:annotation>
- <xsd:documentation>Recommended to be case insensitive.
- Wildcard is always asterisk *.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="false"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <!-- ===== METADATA ===== -->
- <xsd:element name="metadata" type="metadataResultType">
- <xsd:annotation>
- <xsd:documentation>Global element to validate external metadata XML
- files.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="metadataResultType">
- <xsd:annotation>
- <xsd:documentation>Format of metadata operation result.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="dc:title">
- <xsd:annotation>
- <xsd:documentation>The name of this service possibly in different
- languages.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="dc:type">
- <xsd:annotation>
- <xsd:documentation>The nature or genre of the content of the resource.
- http://purl.org/dc/dcmitype/Service</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="accesspoint" type="xsd:anyURI">
- <xsd:annotation>
- <xsd:documentation>The URL of the access point of this
- service.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="dc:description">
- <xsd:annotation>
- <xsd:documentation>Description may include but is not limited to: an abstract,
- table of contents, reference to a graphical representation
- of content or a free-text account of the content.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="dc:language">
- <xsd:annotation>
- <xsd:documentation></xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="dc:subject">
- <xsd:annotation>
- <xsd:documentation>Subject and Keywords.Typically, a Subject will be expressed as keywords,
- key phrases or classification codes that describe a topic
- of the resource. Recommended best practice is to select
- a value from a controlled vocabulary or formal
- classification scheme</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="dct:bibliographicCitation">
- <xsd:annotation>
- <xsd:documentation>Recommended practice is to include sufficient
- bibliographic detail to identify the resource as
- unambiguously as possible, whether or not the
- citation is in a standard form.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="dc:rights">
- <xsd:annotation>
- <xsd:documentation>Information about who can access the
- resource or an indication of its security status.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="dct:modified">
- <xsd:annotation>
- <xsd:documentation></xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="indexingPreferences" minOccurs="0">
- <xsd:complexType>
- <xsd:attribute name="startTime" type="xsd:time"/>
- <xsd:attribute name="maxDuration" type="xsd:duration"/>
- <xsd:attribute name="frequency" type="xsd:duration" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="relatedEntity" type="relatedEntityInformationType" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Entities (companies, organisations, institutions) related to
- this service with their respective roles, e.g. publisher, data
- supplier</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="relatedEntityInformationType">
- <xsd:annotation>
- <xsd:documentation>Information about an entity that may have some relationship with the
- service being provided.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="role" type="entityRoleExtensionType" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Used to specify the roles of a related entity, such as "data
- supplier", "technical host", etc.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="entity" type="entityInformationType"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:simpleType name="entityRoleType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="data supplier"/>
- <xsd:enumeration value="technical host"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="entityRoleExtensionType">
- <xsd:union memberTypes="entityRoleType xsd:string"/>
- </xsd:simpleType>
- <xsd:element name="entity" type="entityInformationType">
- <xsd:annotation>
- <xsd:documentation>Global element to validate external XML representations of entities.
- An entity here could be a company, organisation, institution, or
- person.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:simpleType name="contactRoleType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="data administrator"/>
- <xsd:enumeration value="system administrator"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="contactRoleExtensionType">
- <xsd:union memberTypes="contactRoleType xsd:string"/>
- </xsd:simpleType>
- <xsd:complexType name="entityInformationType">
- <xsd:annotation>
- <xsd:documentation>Entity information.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="identifier" type="xsd:string" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>A global unique identifier for the entity.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="name" type="languageAwareElementType" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>The name of the entity possibly in different
- languages.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="acronym" type="xsd:string" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>An acronym for the entity name</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="logoURL" type="xsd:anyURI" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>A URL to a small logo of the entity.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="description" type="languageAwareElementType" minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>The description of the entity possibly in different
- languages.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="address" type="xsd:string" minOccurs="0"/>
- <xsd:element name="relatedInformation" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>Other related information about this entity found at the
- specified URL.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="hasContact" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="role" type="contactRoleExtensionType" maxOccurs="unbounded" />
- <xsd:element ref="vcard:VCARD"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element ref="geo:Point" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>Location of the entity in decimal WGS84 latitude and longitude (and optional altitude) as defined by the W3C Basic Geo Vocabulary</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="custom" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute ref="lang"/>
- </xsd:complexType>
- <!-- ===== INVENTORY===== -->
- <xsd:complexType name="inventoryResultType">
- <xsd:annotation>
- <xsd:documentation>Format of inventory operation result.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="concepts">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="concept" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="record" minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>A distinct combination of values for all "inventoried"
- concepts. The optional attribute "count" is used to count the number of
- occurrences for this distinct combination and will only be set if the count
- flag was used when requesting an inventory.</xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>A single value for a single 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:sequence>
- <xsd:attribute name="count" type="xsd:positiveInteger" use="optional"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="summary" type="resultSummaryType">
- <xsd:annotation>
- <xsd:documentation>Used to show information about the number of records for
- counting and paging purposes.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <!-- ===== SEARCH ===== -->
- <xsd:complexType name="searchResultType">
- <xsd:annotation>
- <xsd:documentation>Format of search operation result.</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:any/>
- <xsd:element name="summary" type="resultSummaryType">
- <xsd:annotation>
- <xsd:documentation>Used to show information about the number of records for
- counting and paging purposes.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
-</xsd:schema>
+<?xml version="1.0"?>
+<!-- $Id$ -->
+<xsd:schema targetNamespace="http://rs.tdwg.org/tapir/1.0"
+ xmlns="http://rs.tdwg.org/tapir/1.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dct="http://purl.org/dc/terms/"
+ xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
+ xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified" version="1.0" xml:lang="EN" >
+ <xsd:annotation>
+ <xsd:documentation xml:lang="en">
+ TAPIR XML Schema. TAPIR is an acronym for TDWG Access Protocol for Information Retrieval.
+ A unified and extended protocol based on DiGIR and BioCASE. TAPIR specifies a standardised,
+ stateless, HTTP transmittable, XML-based request and response protocol for accessing, structured
+ data that may be stored on any number of distributed databases of varied physical and logical
+ structure. TAPIR documents are either request or response types, as defined by their root element.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <dc:title>TAPIR XML Schema</dc:title>
+ <dc:creator>Markus Döring [m.doering(a)bgbm.org]</dc:creator>
+ <dc:creator>Renato De Giovanni [renato(a)cria.org.br]</dc:creator>
+ <dc:relation>http://ww3.bgbm.org/protocolwiki</dc:relation>
+ <dc:contributor>Charles Copp [eim(a)globalnet.co.uk]</dc:contributor>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <!-- ============================================= -->
+ <!-- NAMESPACE IMPORTS -->
+ <!-- ============================================= -->
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
+ <xsd:import namespace="http://purl.org/dc/elements/1.1/"
+ schemaLocation="dc.xsd"/>
+ <xsd:import namespace="http://purl.org/dc/terms/"
+ schemaLocation="dcterms.xsd"/>
+ <xsd:import namespace="http://www.w3.org/2003/01/geo/wgs84_pos#"
+ schemaLocation="w3c_geo.xsd"/>
+ <xsd:import namespace="http://www.w3.org/2001/vcard-rdf/3.0#"
+ schemaLocation="vcard.xsd"/>
+ <!-- ============================================= -->
+ <!-- SIMPLE TYPE DEFINITIONS-->
+ <!-- ============================================= -->
+ <xsd:simpleType name="simpleXPathType">
+ <xsd:annotation>
+ <xsd:documentation>A simple XPath expression used to reference XML nodes.
+ e.g. /dataset/specimen/identification/name</xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="qualifiedConceptIdType">
+ <xsd:annotation>
+ <xsd:documentation>A simpleType to represent qualified concept identifiers. This can
+ either be the full format NAMESPACE#LOCAL_CONCEPT or an alias which can be any
+ string e.g. unitID(a)abcd1.20.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <!-- ============================================= -->
+ <!-- GLOBAL ATTRIBUTES-->
+ <!-- ============================================= -->
+ <xsd:attribute name="lang" type="xsd:language">
+ <xsd:annotation>
+ <xsd:documentation>Attribute for language identification. This attribute was globally
+ declared to be referenced by others, and therefore simulate the same way of using
+ xml:lang (in case it could be necessary to switch to xml:lang in the future).</xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <!-- ============================================= -->
+ <!-- GENERAL COMPLEX TYPE DEFINITIONS-->
+ <!-- ============================================= -->
+ <xsd:complexType name="externalResourceType">
+ <xsd:annotation>
+ <xsd:documentation>A URI that points to a document or schema referenced by TAPIR operations</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="languageAwareElementType">
+ <xsd:annotation>
+ <xsd:documentation> String with a language attribute. A type for elements that may be language specific.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute ref="xml:lang" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="nodeReferenceType">
+ <xsd:annotation>
+ <xsd:documentation>A reference to an XML node in a conceptual schema.
+ Uses a simple XPath stored as an attribute.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="path" type="simpleXPathType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="qualifiedConceptReferenceType">
+ <xsd:annotation>
+ <xsd:documentation>A qualified reference to a concept. Uses an attribute to hold a concept
+ and its namespace prefix or an alias as defined in qualifiedConceptIdType </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="qualifiedConceptIdType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="softwareInformationType">
+ <xsd:annotation>
+ <xsd:documentation> Information about the software used to construct or relay a TAPIR request or response.
+ The software name and version are stored as simple string attributes.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="version" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="headerType">
+ <xsd:annotation>
+ <xsd:documentation>A Header is part of request and response messages. The Header describes the source of the request or response
+ and optionally its destination. It may also describe the software that sent the request or response
+ and there is a custom section for extending the information e.g. with information related to security or access.
+ If the noresponse attribute is set to true the request is meant for logging only and no response should be generated.
+ The header can list several sources, where for instance, a request is cascaded through one or more portals. </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="source" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Source of this message. Repeatable to trace back all servers
+ of a possible cascading transaction, but always starting (first in the
+ sequence) with the original source, the client. Holds a URL or at least the
+ IP of the source with the timestamp when the message has been processed as
+ an attribute in ISO format.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="software" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>The optional software element should indicate the
+ software including its version, used to generate or modify the
+ document. It may also list any dependencies on libraries and other software</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="softwareInformationType">
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="dependencies" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Represents set of dependecies for this software.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="dependency" type="softwareInformationType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>A singledependency for the software,e.g. a library, framework, component, OS,...</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="accesspoint" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="sendtime" type="xsd:dateTime" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="destination" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Destination of the message. Takes a string which usually will
+ be a URI but can be anything e.g. include resource names etc. It is optional
+ and an implementation is free to ignore it.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="diagnosticMessageType">
+ <xsd:annotation>
+ <xsd:documentation>A diagnostic message from the service with message type and time presented as attributes
+ including code, level ( with enumerated types e.g. error, warning, additional
+ information, etc). and a time stamp</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="code" type="xsd:string" use="optional"/>
+ <xsd:attribute name="level" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="debug"/>
+ <xsd:enumeration value="info"/>
+ <xsd:enumeration value="warn"/>
+ <xsd:enumeration value="error"/>
+ <xsd:enumeration value="fatal"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="time" type="xsd:dateTime" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="diagnosticsListType">
+ <xsd:annotation>
+ <xsd:documentation>Provides the means to present a list of diagnostic messages from the service.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="diagnostic" type="diagnosticMessageType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="custom">
+ <xsd:annotation>
+ <xsd:documentation>Extension slot for additional information not defined in the schema.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>For any custom extension. E.g what security related
+ capabilities does the provider have? Encryption, access restriction,
+ etc.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:any>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <!-- ============================================= -->
+ <!--EXTERNAL QUERY TEMPLATE DEFINITIONS-->
+ <!-- ============================================= -->
+ <xsd:element name="outputModel" type="outputModelType"></xsd:element>
+ <xsd:complexType name="outputModelType">
+ <xsd:annotation>
+ <xsd:documentation>Response structures are part of a View definition which
+ includes three sections: a record schema (structure), a mapping section for linking to the datasource model
+ and an indexing section that is used as a reference for record counting and paging responses.
+ The outputModel template is a separate, external XML document, called by a search operation or View,
+ that uses 'outputModel' as the root element. </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="structure">
+ <xsd:annotation>
+ <xsd:documentation>The response structure definition. By default this should be
+ a subset of the XML Schema language but others such as RELAX NG could be
+ supported in the future.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:element name="schema" type="externalResourceType"/>
+ <xsd:any namespace="##other">
+ <xsd:annotation>
+ <xsd:documentation>A structure represented through a subset of the
+ XML Schema language defining how elements should be
+ returned.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:any>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="indexingElement" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>A simple XPath pointing to a response structure node that
+ should be used as a reference for counting.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="path" type="simpleXPathType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="mapping">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="node" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Maps a node from the structure definition to a
+ list of qualified concepts, literals or environment variables,
+ which should be concatenated in the output. If the automapping attribute
+ is set to 'true' then the server application should match concepts with the same namespace and path.
+ For instance if the wrapper and the search request are both using a canonical ABCD model or Darwin Core Model,
+ then concepts will be automatically recognised.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Multiple mappings represent concatenation.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="concept"/>
+ <xsd:element ref="literal"/>
+ <xsd:element ref="variable"/>
+ </xsd:choice>
+ <xsd:attribute name="path" type="simpleXPathType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="automapping" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="queryTemplate" abstract="true"/>
+ <xsd:complexType name="extResourceDocumentationType">
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="documentation" type="xsd:string" minOccurs="0"/>
+ </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.
+ The Template is accessed, as an external document, by its URI</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="extResourceDocumentationType">
+ <xsd:sequence>
+ <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>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:sequence>
+ </xsd:group>
+ <xsd:complexType name="inventoryTemplateType">
+ <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:complexContent>
+ <xsd:extension base="extResourceDocumentationType">
+ <xsd:sequence>
+ <xsd:group ref="inventoryTemplateGroup" />
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- ============================================= -->
+ <!-- FILTER DEFINITIONS-->
+ <!-- ============================================= -->
+ <xsd:element name="filter">
+ <xsd:annotation>
+ <xsd:documentation>An abstract filter encoding that could be translated to other local
+ query languages. Can be used by search, inventory and view operations to specify
+ searching conditions.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="booleanOP"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <!-- ===== EXPRESSIONS ===== -->
+ <xsd:element name="expression" abstract="true">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any expression (literal, parameter
+ or concept).</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- ===== 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>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <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>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <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>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="conceptType">
+ <xsd:complexContent>
+ <xsd:extension base="qualifiedConceptReferenceType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- ===== COMPLEX EXPRESSIONS ===== -->
+ <xsd:element name="complexExpression" abstract="true" substitutionGroup="expression"/>
+ <!-- === ARITHMETIC EXPRESSION OPERATORS ===-->
+ <xsd:element name="AOP" abstract="true" substitutionGroup="complexExpression">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any Arithmetic operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="binaryAOPType">
+ <xsd:annotation>
+ <xsd:documentation>A binary arithmetic operator with the first expression argument being
+ the left argument of the operation.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="expression"/>
+ <xsd:element ref="expression"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="add" type="binaryAOPType" substitutionGroup="AOP">
+ <xsd:annotation>
+ <xsd:documentation>The arithmetic addition (+) operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sub" type="binaryAOPType" substitutionGroup="AOP">
+ <xsd:annotation>
+ <xsd:documentation>The arithmetic subtraction (-) operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="mul" type="binaryAOPType" substitutionGroup="AOP">
+ <xsd:annotation>
+ <xsd:documentation>The arithmetic multiplication (*) operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="div" type="binaryAOPType" substitutionGroup="AOP">
+ <xsd:annotation>
+ <xsd:documentation>The arithmetic division (/) operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- ===== ABSTRACT OPERATOR BASE TYPE ===== -->
+ <xsd:element name="booleanOP" abstract="true">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any logical operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- ===== COMPARATIVE OPERATORS ===== -->
+ <xsd:element name="COP" abstract="true" substitutionGroup="booleanOP">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- === unary === -->
+ <xsd:element name="unaryCOP" abstract="true" substitutionGroup="COP">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any unary comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="unaryCOPType">
+ <xsd:annotation>
+ <xsd:documentation>A complex type for unary comparison operators.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="concept"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="isNull" type="unaryCOPType" substitutionGroup="unaryCOP">
+ <xsd:annotation>
+ <xsd:documentation>Compares if a concept is null. Use equals element to compare for empty strings.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- === binary === -->
+ <xsd:element name="binaryCOP" abstract="true" substitutionGroup="COP">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any binary comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="binaryCOPType">
+ <xsd:annotation>
+ <xsd:documentation>A complex type for binary comparison operators.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="concept"/>
+ <xsd:element ref="expression"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="equals" type="binaryCOPType" substitutionGroup="binaryCOP">
+ <xsd:annotation>
+ <xsd:documentation>The equals (=) comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="lessThan" type="binaryCOPType" substitutionGroup="binaryCOP">
+ <xsd:annotation>
+ <xsd:documentation>The less than (<) comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="lessThanOrEquals" type="binaryCOPType" substitutionGroup="binaryCOP">
+ <xsd:annotation>
+ <xsd:documentation>The less than or equals (<=) comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="greaterThan" type="binaryCOPType" substitutionGroup="binaryCOP">
+ <xsd:annotation>
+ <xsd:documentation>The greater than (>) comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="greaterThanOrEquals" type="binaryCOPType" substitutionGroup="binaryCOP">
+ <xsd:annotation>
+ <xsd:documentation>The greater than or equals (>=) comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="like" type="binaryCOPType" substitutionGroup="binaryCOP">
+ <xsd:annotation>
+ <xsd:documentation>The like (LIKE) comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- === multiple === -->
+ <xsd:element name="multiCOP" abstract="true" substitutionGroup="COP">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any multiple comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="multiCOPType">
+ <xsd:annotation>
+ <xsd:documentation>A complex type for multiple comparison operators.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="concept"/>
+ <xsd:element name="values">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="simpleExpression" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="in" type="multiCOPType" substitutionGroup="multiCOP">
+ <xsd:annotation>
+ <xsd:documentation>The in (IN) comparison operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- ===== LOGICAL OPERATORS ===== -->
+ <xsd:element name="LOP" abstract="true" substitutionGroup="booleanOP">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any logical
+ operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- === unary === -->
+ <xsd:element name="unaryLOP" abstract="true" substitutionGroup="LOP">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any unary logical
+ operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="unaryLOPType">
+ <xsd:annotation>
+ <xsd:documentation>A complex type for unary logical operators.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="booleanOP"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="not" substitutionGroup="unaryLOP">
+ <xsd:annotation>
+ <xsd:documentation>The not logical operator.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="unaryLOPType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <!-- === multiple === -->
+ <xsd:element name="multiLOP" abstract="true" substitutionGroup="LOP">
+ <xsd:annotation>
+ <xsd:documentation>An abstract element representing any multiple logical
+ operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="multiLOPType">
+ <xsd:annotation>
+ <xsd:documentation>A complex type for multiple logical operators.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence minOccurs="2" maxOccurs="unbounded">
+ <xsd:element ref="booleanOP"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="and" type="multiLOPType" substitutionGroup="multiLOP">
+ <xsd:annotation>
+ <xsd:documentation>The and logical operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="or" type="multiLOPType" substitutionGroup="multiLOP">
+ <xsd:annotation>
+ <xsd:documentation>The or logical operator.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <!-- ===== ENVIRONMENT VARIABLE EXPRESSIONS ===== -->
+ <xsd:element name="variable" abstract="true" 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:annotation>
+ </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>
+ <!-- ============================================= -->
+ <!--REQUEST TYPE DEFINITIONS-->
+ <!-- ============================================= -->
+ <xsd:element name="request" type="requestType">
+ <xsd:annotation>
+ <xsd:documentation>Global element representing a request. This is a root element
+ and must contain reference to the schema and namespaces used.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="requestType">
+ <xsd:annotation>
+ <xsd:documentation>Request message format. Must always contain header and operation
+ specific parameters.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="header" type="headerType"/>
+ <xsd:choice>
+ <xsd:element name="ping">
+ <xsd:complexType>
+ <xsd:attributeGroup ref="operationRequestGroup"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="capabilities">
+ <xsd:complexType>
+ <xsd:attributeGroup ref="operationRequestGroup"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:attributeGroup ref="operationRequestGroup"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="inventory">
+ <xsd:complexType>
+ <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">
+ <xsd:annotation>
+ <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="template" type="externalResourceType"/>
+ <xsd:group ref="searchTemplateGroup"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="operationRequestGroup"/>
+ <xsd:attributeGroup ref="pagingParametersGroup"/>
+ <xsd:attribute name="envelope" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:element name="diagnostics" type="diagnosticsListType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:attributeGroup name="operationRequestGroup">
+ <xsd:attribute name="xslt" type="xsd:anyURI" use="optional"/>
+ <xsd:attribute name="xslt-apply" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="log-only" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:attributeGroup>
+ <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:attributeGroup>
+ <!-- ============================================= -->
+ <!--RESPONSE TYPE DEFINITIONS-->
+ <!-- ============================================= -->
+ <xsd:element name="response" type="responseType">
+ <xsd:annotation>
+ <xsd:documentation>Global element representing a response.This is a root element
+ and must contain reference to the schema and namespaces used</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="responseType">
+ <xsd:annotation>
+ <xsd:documentation>Response message format. Must always contain header, results from the
+ requested operation and possible diagnostic messages.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="header" type="headerType"/>
+ <xsd:choice>
+ <xsd:element ref="pong"/>
+ <xsd:element ref="metadata"/><xsd:element ref="capabilities"/>
+
+ <xsd:element name="inventory" type="inventoryResultType"/>
+ <xsd:element name="search" type="searchResultType"/>
+ <xsd:element name="error" type="diagnosticMessageType"/>
+ </xsd:choice>
+ <xsd:element name="diagnostics" type="diagnosticsListType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>The diagnostics element is an optional part of TAPIR requests and response messages.
+ Diagnostics may contain many pieces of information used for debugging and providing warnings or error messages.
+ Individual diagnostics are held in a diagnosticList with an enumerated attribute for level and attributes for code and time.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="resultSummaryType">
+ <xsd:annotation>
+ <xsd:documentation>Summary about inventory and search results. The first index of a
+ record is 0. The number of records actually being returned is given in totalReturned.
+ If counting was requested the totalMatched gives the "estimated" number of total
+ matching records - not necessarily the number of valid records that can possibly be
+ returned by paging through the entire record set.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="start" type="xsd:integer" use="required"/>
+ <xsd:attribute name="next" type="xsd:integer" use="optional"/>
+ <xsd:attribute name="totalReturned" type="xsd:integer" use="required"/>
+ <xsd:attribute name="totalMatched" type="xsd:integer" use="optional"/>
+ </xsd:complexType>
+ <!-- ===== PING ===== -->
+ <xsd:element name="pong" type="pingResultType"/>
+ <xsd:complexType name="pingResultType">
+ <xsd:annotation>
+ <xsd:documentation>Format of ping operation result.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:complexType>
+ <!-- ===== CAPABILITIES ===== -->
+ <xsd:element name="capabilities" type="capabilitiesResultType"/>
+ <xsd:complexType name="capabilitiesResultType">
+ <xsd:annotation>
+ <xsd:documentation>Format of capabilities operation result.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="operations">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ping">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="metadata">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="capabilities">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="view" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="queryTemplates">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="queryTemplate" type="externalResourceType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="inventory" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="search" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="staticOutputModels" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="outputModel" type="externalResourceType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="dynamicOutputModels" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="structure" type="responseStructureCapabilitiesType">
+ <xsd:annotation>
+ <xsd:documentation>The supported subset of
+ the XML Schema
+ language.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="logRequests" use="required" >
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="required"/>
+ <xsd:enumeration value="accepted"/>
+ <xsd:enumeration value="denied"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="filter" type="filterCapabilitiesType">
+ <xsd:annotation>
+ <xsd:documentation>Information about the supported filter operators of this
+ service.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="concepts">
+ <xsd:annotation>
+ <xsd:documentation>The list of known conceptual schemas and their mapped
+ concepts.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="conceptNameServers">
+ <xsd:annotation>
+ <xsd:documentation>The location of the alias file or
+ ConceptNameServer to define simple aliases for fully qualified
+ concept ids.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="server" type="externalResourceType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Multiple servers allowed. Ordered list with the first server(s) having priority over the following ones.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="schema" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Namespace and location of a supported
+ schema.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="mappedConcept" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Each known and mapped concept of a
+ schema listed with a boolean flag indicating if its
+ searchable (default = true). The mandatory flag can
+ be used to indicate that some concepts need to be
+ present in response structures
+ (default=false).</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="qualifiedConceptReferenceType">
+ <xsd:attribute name="searchable" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="required" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="alias" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="variables">
+ <xsd:complexType>
+ <xsd:sequence>
+ <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:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="settings">
+ <xsd:annotation>
+ <xsd:documentation>Information about the local configuration of a
+ datasource.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="minQueryTermLength" type="xsd:integer" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Indicates the minimum length for wild-card
+ strings used in like comparisons.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="maxElementRepetitions" type="xsd:integer" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Indicates the maximum number of repetitions
+ allowed in responses for each repeatable element defined in
+ response structures.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="maxElementLevels" type="xsd:integer" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Indicates the maximum number of allowed levels
+ (depth) for response elements.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="maxResponseTags" type="xsd:integer" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Indicates the maximum number of tags that can be
+ returned by responses.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="maxResponseSize" type="xsd:integer" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Indicates the maximum size in kilobytes allowed
+ to be returned by responses.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="responseStructureCapabilitiesType">
+ <xsd:annotation>
+ <xsd:documentation>A complete indication about what subset of the response structure
+ specification is supported by a service.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <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>
+ </xsd:annotation>
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="choice" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="group" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>local group definitions without global referencing</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="import" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="references" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>The global use of the tags grouped here when locally
+ referenced via the "ref" attribute.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="element" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="attribute" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="group" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="attributeGroup" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="complexType" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="simpleType" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="list" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="union" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="simpleTypes" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="stringTypes" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="string" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="normalizedString" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="token" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="language" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="Name" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="NCName" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="NMToken" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="NMTokens" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="ID" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="IDREF" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="IDREFS" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="ENTITY" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="ENTITIES" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="numericTypes" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="float" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="double" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="decimal" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="integerTypes" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="integer" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="long" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="int" minOccurs="0"/>
+ <xsd:element name="short" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="byte" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="positiveInteger" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="nonPositiveInteger" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="negativeInteger" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="nonNegativeInteger" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="unsignedLong" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="unsignedInt" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="unsignedShort" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="unsignedByte" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="dateTimeTypes" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="duration" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="dateTime" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="time" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="date" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="gYearMonth" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="gYear" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="gMonthDay" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="gDay" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="gMonth" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="miscTypes" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="boolean" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="base64Binary" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="hexBinary" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="anyURI" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="QName" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="extension" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="restriction" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="minInclusive" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="maxInclusive" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="minExclusive" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="maxExclusive" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="fractionDigits" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="totalDigits" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="enumeration" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="whiteSpace" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="pattern" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="length" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="minLength" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="maxLength" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="substitutionGroup" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="constraints" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="field" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="selector" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="unique" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="key" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="keyref" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="filterCapabilitiesType">
+ <xsd:annotation>
+ <xsd:documentation>A complete indication about what filter operators are supported by a
+ service.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="encoding" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="expression">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="concept">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="literal">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="parameter">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="variable">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="arithmetic">
+ <xsd:annotation>
+ <xsd:documentation>Support +-*/ in filter
+ expressions.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="add" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="sub" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="div" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="mul" minOccurs="0">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="booleanOperators">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="logical">
+ <xsd:annotation>
+ <xsd:documentation>This includes all 3 operators. AND, OR,
+ NOT</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="not">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="and">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="or">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="comparative">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="equals">
+ <xsd:annotation>
+ <xsd:documentation>Recommended to be case
+ sensitive.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="greaterThan">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="greaterThanOrEquals">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="lessThan">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="lessThanOrEquals">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="in">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="isNull">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="like">
+ <xsd:annotation>
+ <xsd:documentation>Recommended to be case insensitive.
+ Wildcard is always asterisk *.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- ===== METADATA ===== -->
+ <xsd:element name="metadata" type="metadataResultType">
+ <xsd:annotation>
+ <xsd:documentation>Global element to validate external metadata XML
+ files.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="metadataResultType">
+ <xsd:annotation>
+ <xsd:documentation>Format of metadata operation result.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="dc:title">
+ <xsd:annotation>
+ <xsd:documentation>The name of this service possibly in different
+ languages.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="dc:type">
+ <xsd:annotation>
+ <xsd:documentation>The nature or genre of the content of the resource.
+ http://purl.org/dc/dcmitype/Service</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="accesspoint" type="xsd:anyURI">
+ <xsd:annotation>
+ <xsd:documentation>The URL of the access point of this
+ service.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="dc:description">
+ <xsd:annotation>
+ <xsd:documentation>Description may include but is not limited to: an abstract,
+ table of contents, reference to a graphical representation
+ of content or a free-text account of the content.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="dc:language">
+ <xsd:annotation>
+ <xsd:documentation></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="dc:subject">
+ <xsd:annotation>
+ <xsd:documentation>Subject and Keywords.Typically, a Subject will be expressed as keywords,
+ key phrases or classification codes that describe a topic
+ of the resource. Recommended best practice is to select
+ a value from a controlled vocabulary or formal
+ classification scheme</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="dct:bibliographicCitation">
+ <xsd:annotation>
+ <xsd:documentation>Recommended practice is to include sufficient
+ bibliographic detail to identify the resource as
+ unambiguously as possible, whether or not the
+ citation is in a standard form.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="dc:rights">
+ <xsd:annotation>
+ <xsd:documentation>Information about who can access the
+ resource or an indication of its security status.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="dct:modified">
+ <xsd:annotation>
+ <xsd:documentation></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="indexingPreferences" minOccurs="0">
+ <xsd:complexType>
+ <xsd:attribute name="startTime" type="xsd:time"/>
+ <xsd:attribute name="maxDuration" type="xsd:duration"/>
+ <xsd:attribute name="frequency" type="xsd:duration" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="relatedEntity" type="relatedEntityInformationType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Entities (companies, organisations, institutions) related to
+ this service with their respective roles, e.g. publisher, data
+ supplier</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="relatedEntityInformationType">
+ <xsd:annotation>
+ <xsd:documentation>Information about an entity that may have some relationship with the
+ service being provided.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="role" type="entityRoleExtensionType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Used to specify the roles of a related entity, such as "data
+ supplier", "technical host", etc.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="entity" type="entityInformationType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="entityRoleType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="data supplier"/>
+ <xsd:enumeration value="technical host"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="entityRoleExtensionType">
+ <xsd:union memberTypes="entityRoleType xsd:string"/>
+ </xsd:simpleType>
+ <xsd:element name="entity" type="entityInformationType">
+ <xsd:annotation>
+ <xsd:documentation>Global element to validate external XML representations of entities.
+ An entity here could be a company, organisation, institution, or
+ person.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:simpleType name="contactRoleType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="data administrator"/>
+ <xsd:enumeration value="system administrator"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="contactRoleExtensionType">
+ <xsd:union memberTypes="contactRoleType xsd:string"/>
+ </xsd:simpleType>
+ <xsd:complexType name="entityInformationType">
+ <xsd:annotation>
+ <xsd:documentation>Entity information.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="identifier" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>A global unique identifier for the entity.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="name" type="languageAwareElementType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>The name of the entity possibly in different
+ languages.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="acronym" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>An acronym for the entity name</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="logoURL" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>A URL to a small logo of the entity.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="description" type="languageAwareElementType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>The description of the entity possibly in different
+ languages.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="address" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="relatedInformation" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Other related information about this entity found at the
+ specified URL.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="hasContact" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="role" type="contactRoleExtensionType" maxOccurs="unbounded" />
+ <xsd:element ref="vcard:VCARD"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="geo:Point" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Location of the entity in decimal WGS84 latitude and longitude (and optional altitude) as defined by the W3C Basic Geo Vocabulary</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="custom" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute ref="lang"/>
+ </xsd:complexType>
+ <!-- ===== INVENTORY===== -->
+ <xsd:complexType name="inventoryResultType">
+ <xsd:annotation>
+ <xsd:documentation>Format of inventory operation result.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="concepts">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="concept" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="record" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>A distinct combination of values for all "inventoried"
+ concepts. The optional attribute "count" is used to count the number of
+ occurrences for this distinct combination and will only be set if the count
+ flag was used when requesting an inventory.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>A single value for a single 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:sequence>
+ <xsd:attribute name="count" type="xsd:positiveInteger" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="summary" type="resultSummaryType">
+ <xsd:annotation>
+ <xsd:documentation>Used to show information about the number of records for
+ counting and paging purposes.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- ===== SEARCH ===== -->
+ <xsd:complexType name="searchResultType">
+ <xsd:annotation>
+ <xsd:documentation>Format of search operation result.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:any/>
+ <xsd:element name="summary" type="resultSummaryType">
+ <xsd:annotation>
+ <xsd:documentation>Used to show information about the number of records for
+ counting and paging purposes.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+</xsd:schema>
1
0
Dear all,
I took the liberty to modify TAPIR to use the controlled voc [required | accepted | denied] for the logRequest attribute. Ive also added a new optional attribute "alias" to the mapped concepts of a capabilities response. This can be used to advertise the short alias of a concept as known by a CNS.
-- Markus
-----Ursprüngliche Nachricht-----
Von: Javier privat
Gesendet: Donnerstag, 3. August 2006 12:05
An: Döring, Markus
Cc: Renato De Giovanni; wixner(a)gmail.com
Betreff: Re: AW: concept alias in capas
for me is fine if it helps.
On 8/3/06, "Döring, Markus" <m.doering(a)bgbm.org> wrote:
> what do you think, I got 1 day left for work.
> do you mind adding aliases? I like it and it eases playing with TAPIR a lot.
>
> -- Markus
>
>
> > -----Ursprüngliche Nachricht-----
> > Von: Döring, Markus
> > Gesendet: Mittwoch, 2. August 2006 17:33
> > An: 'Renato De Giovanni'
> > Cc: Javier privat
> > Betreff: AW: AW: concept alias in capas
> >
> > correct. its just to let the clients know that there is an alias
> > existing in the CNS(es) being used by the provider. so they dont
> > have to interact with any CNS.
> >
> >
> > -- Markus
> >
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Renato De Giovanni [mailto:renato@cria.org.br]
> > > Gesendet: Mittwoch, 2. August 2006 16:44
> > > An: Döring, Markus; Javier privat
> > > Betreff: Re: AW: concept alias in capas
> > >
> > > Hi Markus,
> > >
> > > Then I probably didn't understand your suggestion...
> > > Right now capabilities come out like:
> > > ...
> > > <schema namespace="http://www.tdwg.org/schemas/abcd/1.2"
> > > location="http://www.bgbm.org/TDWG/CODATA/Schema/ABCD-1.20.xsd">
> > > <mappedConcept
> > >
> > id="/DataSets/DataSet/DatasetDerivations/DatasetDerivation/DateSuppl
> > ie
> > > d" searchable="true"/>
> > > ...
> > >
> > > Ok, ok. After reading your message again I think I see.
> > > You're suggesting to add an optional attribute "alias" that
> > would make
> > > something like:
> > >
> > > ...
> > > <schema namespace="http://www.tdwg.org/schemas/abcd/1.2"
> > > location="http://www.bgbm.org/TDWG/CODATA/Schema/ABCD-1.20.xsd">
> > > <mappedConcept
> > >
> > id="/DataSets/DataSet/DatasetDerivations/DatasetDerivation/DateSuppl
> > ie
> > > d" searchable="true" alias="DateSupplied"/> ...
> > > So DateSupplied would be the corresponding concept abbreviation
> > > according to a previously specified CNS. Is this what you suggest?
> > > An optional shortcut to find out the aliases?
> > >
> > > Originally I had the impression that you were suggesting to
> > > include aliases there in such a way that clients would be forced
> > > to
> > interact
> > > with a CNS to figure out the actual concept ids...
> > > --
> > > Renato
> > >
> > > On 2 Aug 2006 at 16:02, "Döring, Markus" wrote:
> > >
> > > > Hmm. not sure if i get you.
> > > > first thing, aliases are always optional.
> > > > second, a client needs to know what he is asking for.
> > > Currently I dont
> > > > know any other place as the CNS for this. it simply lists
> > > all concepts
> > > > with qualified name & alias if it exists. i cant see any
> > additional
> > > > burden for a client here.
> > > >
> > > >
> > > > -- Markus
> > > >
> > > >
> > > > > -----Ursprüngliche Nachricht-----
> > > > > Von: Renato De Giovanni [mailto:renato@cria.org.br]
> > > > > Gesendet: Mittwoch, 2. August 2006 14:59
> > > > > An: Döring, Markus; Javier privat
> > > > > Betreff: Re: concept alias in capas
> > > > >
> > > > > Hi Markus,
> > > > >
> > > > > For sure there are many ways we could do that, and cleaner XML
> > > > > documents also look better to human eyes. The only thing
> > > is that it
> > > > > will put an additional burden on clients - if I
> > > understood well, in
> > > > > these cases clients will now need to know how to
> > interact with a
> > > > > CNS, is that correct?
> > > > >
> > > > > It's different than the other way around, when providers
> > > > advertise:
> > > > > "look, I know how to interact with this CNS, so if you
> > > want to send
> > > > > a cleaner document feel free to do so because I can take the
> > > > > additional burden".
> > > > >
> > > > > (by the way, I'll probably not include any CNS capabilities in
> > > > > TapirLink at this moment)
> > > > >
> > > > > So in principle I would prefer to keep capabilities
> > > response as it
> > > > > is. Maybe not the best thing for human eyes, but still
> > > easier to be
> > > > > processed and consumed by other programs.
> > > > >
> > > > > What do you think?
> > > > > --
> > > > > Renato
> > > > >
> > > > > On 2 Aug 2006 at 11:16, "Döring, Markus" wrote:
> > > > >
> > > > > > hey guys,
> > > > > > one more thing I found on my list. If we use concept
> > > > > aliases it would
> > > > > > be nice and helpful if they would also show up in the
> > > > capabilities,
> > > > > > wouldnt it? so why dont we add an "alias" attribute
> > to element
> > > > > > mappedConcept?
> > > > > >
> > > > > > -- Markus
> > >
> > >
>
1
0
isnt it rather
"ahhh", "hmmm", "grrr"
?
-- Markus
> -----Ursprüngliche Nachricht-----
> Von: Javier privat
> Gesendet: Donnerstag, 3. August 2006 12:07
> An: Döring, Markus
> Cc: tuco(a)berkeley.edu; tdwg-tapir(a)lists.tdwg.org
> Betreff: Re: [tdwg-tapir] log only terminology
>
> Or something like:
>
> "ahhhh", "oh!" and "grrr"
>
> :D
>
> Javi
>
> On 8/3/06, "Döring, Markus" <m.doering(a)bgbm.org> wrote:
> > well, maybe its more "desired" than required.
> > sure you cant enforce it. So its equivalent to I want it, I
> dont care, I dont want.
> > How about those 3 terms? ;)
> >
> > -- Markus
> >
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Javier privat
> > > Gesendet: Mittwoch, 2. August 2006 19:07
> > > An: tuco(a)berkeley.edu
> > > Cc: Döring, Markus; tdwg-tapir(a)lists.tdwg.org
> > > Betreff: Re: [tdwg-tapir] log only terminology
> > >
> > > Is it "requiered" what I understand?
> > >
> > > I mean... how do you want to enforce this? If there is no way to
> > > enforce it why dont just use accepted/denied? Or even
> > > better: true, false
> > >
> > > Cheers.
> > >
> > > On 8/2/06, John R. WIECZOREK <tuco(a)berkeley.edu> wrote:
> > > > I like Renato's suggestion as well.
> > > >
> > > >
> > > > On 8/2/06, "Döring, Markus" <m.doering(a)bgbm.org> wrote:
> > > > > that sounds best to me so far.
> > > > > yes, any other suggestion?
> > > > >
> > > > >
> > > > > -- Markus
> > > > >
> > > > >
> > > > > > -----Ursprüngliche Nachricht-----
> > > > > > Von: tdwg-tapir-bounces(a)lists.tdwg.org
> > > > > > [mailto:tdwg-tapir-bounces@lists.tdwg.org ] Im Auftrag
> > > > von
> > > > > > Renato De Giovanni
> > > > > > Gesendet: Mittwoch, 2. August 2006 14:38
> > > > > > An: tdwg-tapir(a)lists.tdwg.org
> > > > > > Betreff: Re: [tdwg-tapir] log only terminology
> > > > > >
> > > > > > Markus,
> > > > > >
> > > > > > How about defining a controlled vocabulary?
> > > > > > <operations logRequests="[required | accepted | denied]">
> > > > > > --
> > > > > > Renato
> > > > > >
> > > > > > On 2 Aug 2006 at 11:23, "Döring, Markus" wrote:
> > > > > >
> > > > > > > hi,
> > > > > > > I am wondering about the naming for the attribute in the
> > > > > > capabilities that tells others if this provider wants
> > > to receive
> > > > > > log-only requests. How should we call it?
> > > > > > >
> > > > > > > <operations logRequestsDesired="true"> <operations
> > > > > > > logRequestsDenied="false"> <operations logRequests="true">
> > > > > > <operations
> > > > > > > logRequestsAccepted="true">
> > > > > > >
> > > > > > > >From those I would opt for "logRequestsDesired".
> > > > > > > Any preferences or different suggestions?
> > > > > > >
> > > > > > > regards
> > > > > > > -- Markus
> > > > > >
> > > > > > _______________________________________________
> > > > > > tdwg-tapir mailing list
> > > > > > tdwg-tapir(a)lists.tdwg.org
> > > > > > http://lists.tdwg.org/mailman/listinfo/tdwg-tapir
> > > > > >
> > > > > _______________________________________________
> > > > > tdwg-tapir mailing list
> > > > > tdwg-tapir(a)lists.tdwg.org
> > > > > http://lists.tdwg.org/mailman/listinfo/tdwg-tapir
> > > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > tdwg-tapir mailing list
> > > > tdwg-tapir(a)lists.tdwg.org
> > > > http://lists.tdwg.org/mailman/listinfo/tdwg-tapir
> > > >
> > > >
> > > >
> > >
> >
>
1
0
well, maybe its more "desired" than required.
sure you cant enforce it. So its equivalent to I want it, I dont care, I dont want.
How about those 3 terms? ;)
-- Markus
> -----Ursprüngliche Nachricht-----
> Von: Javier privat
> Gesendet: Mittwoch, 2. August 2006 19:07
> An: tuco(a)berkeley.edu
> Cc: Döring, Markus; tdwg-tapir(a)lists.tdwg.org
> Betreff: Re: [tdwg-tapir] log only terminology
>
> Is it "requiered" what I understand?
>
> I mean... how do you want to enforce this? If there is no way
> to enforce it why dont just use accepted/denied? Or even
> better: true, false
>
> Cheers.
>
> On 8/2/06, John R. WIECZOREK <tuco(a)berkeley.edu> wrote:
> > I like Renato's suggestion as well.
> >
> >
> > On 8/2/06, "Döring, Markus" <m.doering(a)bgbm.org> wrote:
> > > that sounds best to me so far.
> > > yes, any other suggestion?
> > >
> > >
> > > -- Markus
> > >
> > >
> > > > -----Ursprüngliche Nachricht-----
> > > > Von: tdwg-tapir-bounces(a)lists.tdwg.org
> > > > [mailto:tdwg-tapir-bounces@lists.tdwg.org ] Im Auftrag
> > von
> > > > Renato De Giovanni
> > > > Gesendet: Mittwoch, 2. August 2006 14:38
> > > > An: tdwg-tapir(a)lists.tdwg.org
> > > > Betreff: Re: [tdwg-tapir] log only terminology
> > > >
> > > > Markus,
> > > >
> > > > How about defining a controlled vocabulary?
> > > > <operations logRequests="[required | accepted | denied]">
> > > > --
> > > > Renato
> > > >
> > > > On 2 Aug 2006 at 11:23, "Döring, Markus" wrote:
> > > >
> > > > > hi,
> > > > > I am wondering about the naming for the attribute in the
> > > > capabilities that tells others if this provider wants
> to receive
> > > > log-only requests. How should we call it?
> > > > >
> > > > > <operations logRequestsDesired="true"> <operations
> > > > > logRequestsDenied="false"> <operations logRequests="true">
> > > > <operations
> > > > > logRequestsAccepted="true">
> > > > >
> > > > > >From those I would opt for "logRequestsDesired".
> > > > > Any preferences or different suggestions?
> > > > >
> > > > > regards
> > > > > -- Markus
> > > >
> > > > _______________________________________________
> > > > tdwg-tapir mailing list
> > > > tdwg-tapir(a)lists.tdwg.org
> > > > http://lists.tdwg.org/mailman/listinfo/tdwg-tapir
> > > >
> > > _______________________________________________
> > > tdwg-tapir mailing list
> > > tdwg-tapir(a)lists.tdwg.org
> > > http://lists.tdwg.org/mailman/listinfo/tdwg-tapir
> > >
> >
> >
> > _______________________________________________
> > tdwg-tapir mailing list
> > tdwg-tapir(a)lists.tdwg.org
> > http://lists.tdwg.org/mailman/listinfo/tdwg-tapir
> >
> >
> >
>
2
1
that sounds best to me so far.
yes, any other suggestion?
-- Markus
> -----Ursprüngliche Nachricht-----
> Von: tdwg-tapir-bounces(a)lists.tdwg.org
> [mailto:tdwg-tapir-bounces@lists.tdwg.org] Im Auftrag von
> Renato De Giovanni
> Gesendet: Mittwoch, 2. August 2006 14:38
> An: tdwg-tapir(a)lists.tdwg.org
> Betreff: Re: [tdwg-tapir] log only terminology
>
> Markus,
>
> How about defining a controlled vocabulary?
> <operations logRequests="[required | accepted | denied]">
> --
> Renato
>
> On 2 Aug 2006 at 11:23, "Döring, Markus" wrote:
>
> > hi,
> > I am wondering about the naming for the attribute in the
> capabilities that tells others if this provider wants to
> receive log-only requests. How should we call it?
> >
> > <operations logRequestsDesired="true"> <operations
> > logRequestsDenied="false"> <operations logRequests="true">
> <operations
> > logRequestsAccepted="true">
> >
> > >From those I would opt for "logRequestsDesired".
> > Any preferences or different suggestions?
> >
> > regards
> > -- Markus
>
> _______________________________________________
> tdwg-tapir mailing list
> tdwg-tapir(a)lists.tdwg.org
> http://lists.tdwg.org/mailman/listinfo/tdwg-tapir
>
3
2
hi,
I am wondering about the naming for the attribute in the capabilities that tells others if this provider wants to receive log-only requests. How should we call it?
<operations logRequestsDesired="true">
<operations logRequestsDenied="false">
<operations logRequests="true">
<operations logRequestsAccepted="true">
>>>From those I would opt for "logRequestsDesired".
Any preferences or different suggestions?
regards
-- Markus
2
1