TAPIR XML Schema. TAPIR is an acronym for TDWG Access Protocol for Information Retrieval. It is 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. More information: http://www.tdwg.org/activities/tapir/ A simple XPath expression used to reference XML nodes. e.g. /dataset/specimen/identification/name Concept identifiers are just strings for TAPIR, so the protocol does not enforce any pattern. However it is recommended to use globally, resolvable and permanent unique identifiers for them. It is also recommended to avoid using characters that are reserved in the "query" part of URLs, since concepts can be referenced there by many TAPIR parameters and would need to be escaped. When defining concepts based on xml schemas we recommend to simply concatenate the namespace of the schema with the local xpath to the instance element. For example /DataSets/DataSet/Units/Unit/InstitutionID in ABCD becomes http://www.tdwg.org/schemas/abcd/2.06/DataSets/DataSet/Units/Unit/InstitutionID A URI that points to a document or schema referenced by TAPIR operations String with a language attribute. A type for elements that may be language specific. A reference to an XML node in a conceptual schema. Uses a simple XPath stored as an attribute. A qualified reference to a concept. Uses an attribute to hold a concept and its namespace prefix or an alias as defined in qualifiedConceptIdType 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. 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. The header can list several sources, where for instance, a request is cascaded through one or more portals. 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. 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 Represents set of dependecies for this software. A single dependency for the software, e.g. a library, framework, component, OS, etc. 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. 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 Provides the means to present a list of diagnostic messages from the service. Extension slot for additional information not defined in the schema. For any custom extension. E.g what security related capabilities does the provider have? Encryption, access restriction, etc. Response structures are part of a model 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, that uses 'outputModel' as the root element. 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. A structure represented through a subset of the XML Schema language defining how elements should be returned. Name of a global element that should be the root element in search responses. When not specified, the first global element should be used. A simple XPath pointing to a response structure node that should be used as a reference for counting. 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. Multiple mappings represent concatenation. A list of qualified concepts to be used for ordering the model results. One or more concepts to be used for ordering the model. If the attribute "descend" is set to true, a descending order will be used instead of the default ascending one. TAPIR can use a template for configuring search requests. The Template is accessed, as an external document, by its URI TAPIR can use a template for configuring inventory requests. The Template is accessed, as an external document, by its URI Used to specify a list of concepts to make an inventory on. A single qualified concept. The attribute tagName can be used to specify the name of the element that will enclose the respective values in the response. TAPIR can use a template for configuring inventory requests. The Template is accessed, as an external document, by its URI An abstract filter encoding that could be translated to other local query languages. Can be used by search and inventory operations to specify searching conditions. An abstract element representing any expression (literal, parameter or concept). An element to represent literals / values. Substitutes an abstract expression element. An element to represent external parameters e.g. via CGI. Substitutes an abstract expression element. An element to represent a concept of one specific conceptual schema. Substitutes an abstract expression element. An abstract element representing any Arithmetic operator. A binary arithmetic operator with the first expression argument being the left argument of the operation. The arithmetic addition (+) operator. The arithmetic subtraction (-) operator. The arithmetic multiplication (*) operator. The arithmetic division (/) operator. An abstract element representing any logical operator. An abstract element representing any comparison operator. An abstract element representing any unary comparison operator. A complex type for unary comparison operators. Compares if a concept is null. Use equals element to compare for empty strings. An abstract element representing any binary comparison operator. A complex type for binary comparison operators. The equals (=) comparison operator. The less than (<) comparison operator. The less than or equals (<=) comparison operator. The greater than (>) comparison operator. The greater than or equals (>=) comparison operator. The like (LIKE) comparison operator. An abstract element representing any multiple comparison operator. A complex type for multiple comparison operators. The in (IN) comparison operator. An abstract element representing any logical operator. An abstract element representing any unary logical operator. A complex type for unary logical operators. The not logical operator. An abstract element representing any multiple logical operator. A complex type for multiple logical operators. The and logical operator. The or logical operator. Current date in ISO format like 2005-07-21. Current timestamp in ISO format like 2005-07-20 17:01:38 The name of the datasource (dc:title metadata). Service access point. Timestamp of the last update of the datasource. Timestamp of the creation of the datasource. The description of the datasource (dc:description metadata). Information about who can access the resource or about its security status, access regulations, etc. (dc:rights metadata). Keywords, key phrases or classification codes that describe content provided by the resource (dc:subject metadata). Information about how to cite the datasource (dc:bibliographicCitation metadata). The language in which the content of the following variables are expressed: dataSourceName, dataSourceDescription, rights, subject and bibliographicCitation. The primary language of the data provided by the service (first occurrence of the dc:language metadata element). The name of the first system administrator of the first technical host entity. The e-mail of the first system administrator of the first technical host entity. The name of the first data administrator of the first data supplier entity. The e-mail of the first data administrator of the first data supplier entity. An element to represent specific values from the service local environment. Global element representing a request. This is a root element and must contain reference to the schema and namespaces used. Request message format. Must always contain header and operation specific parameters. Global element representing a response. This is a root element and must contain reference to the schema and namespaces used Response message format. Must always contain header, results from the requested operation and possible diagnostic messages. 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. 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. Format of ping operation result. Format of capabilities operation result. The supported subset of the XML Schema language. Information about the supported filter operators of this service. The list of known conceptual schemas and their mapped concepts. Namespace and location of a supported schema. 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). Information about the local configuration of a datasource. Indicates the minimum length for wild-card strings used in like comparisons. Indicates the maximum number of repetitions allowed in responses for each repeatable element defined in response structures. Indicates the maximum number of allowed levels (depth) for response elements. Indicates the maximum number of tags that can be returned by responses. Indicates the maximum size in kilobytes allowed to be returned by responses. URL pointing to a WSDL file describing this template interface A complete indication about what subset of the response structure specification is supported by a service. This includes the following xml schema tags: schema incl target namespace, element incl min/maxOccurs, attribute incl use, sequence, all and local definitions of complexType and simpleType. local group definitions without global referencing The global use of the tags grouped here when locally referenced via the "ref" attribute. A complete indication about what filter operators are supported by a service. Support +-*/ in filter expressions. This includes all 3 operators. AND, OR, NOT Recommended to be case sensitive. Recommended to be case insensitive. Wildcard is always asterisk *. Global element to validate external metadata XML files. Format of metadata operation result. The name of this service possibly in different languages. The nature or genre of the content of the resource. http://purl.org/dc/dcmitype/Service The URL of the access point of this service. 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. Language of content that can be returned by search and inventory responses. This element must follow RFC 4646 and use language codes specified by the IANA Language Subtag Registry. More than one language can be specified, in case the provider can serve content in multiple languages. When there is no linguistic content, "zxx" must be used. 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 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. Information about who can access the resource or an indication of its security status. Entities (companies, organisations, institutions) related to this service with their respective roles, e.g. publisher, data supplier Information about an entity that may have some relationship with the service being provided. Used to specify the roles of a related entity, such as "data supplier", "technical host", etc. Global element to validate external XML representations of entities. An entity here could be a company, organisation, institution, or person. Entity information. A global unique identifier for the entity. The name of the entity possibly in different languages. An acronym for the entity name A URL to a small logo of the entity. The description of the entity possibly in different languages. Address where the entity is located. It can include street name, street number, district, city, county and other complements. Use the next elements to specify state/province, country and zip code. Region (e.g., state or province) of the specified address. Use standard abbreviation accepted in the country. Country code (ISO 3166-1-alpha-2 code) of the specified address. Zip or postal code of the specified address. Other related information about this entity found at the specified URL. Location of the entity in decimal WGS84 latitude and longitude (and optional altitude) as defined by the W3C Basic Geo Vocabulary Format of inventory operation result. 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. Single values for each concept. The sequence of the values should correspond to the sequence used in the request. The elements should be within the TAPIR namespace, but as they cannot all be defined by this schema the validation should be skipped Used to show information about the number of records for counting and paging purposes. Format of search operation result. Used to show information about the number of records for counting and paging purposes. Format of logged operation result indicated by setting a true logOnly attribute in the request.