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.