Chapter 10. Heritage Exchange Capabilities Format

Table of Contents

10.1. Reporting HEEP Service Capabilities
10.1.1. Using FISH_Capabilities XML

This chapter describes the format and structure of service capabilities reported by a HEEP server in response to a GetCap request. The purpose of a capabilities reporting facility is threefold:

  1. Scalability: It is anticipated that the HEEP protocol will continue to evolve over time, gaining enhancements and usabilty as it develops. The ability for HEEP services to report their capabilities allows beter interaciton and negitioation between clients and servers running differing versions of the HEEP protocol, and removes many of the obstructions on the developers' side that traditionally accompany the requirement of backwards compatibility.

  2. Compatibility: a service's ability to report its capabilities better ensures the development of 'informed' clients: applications that request only what is available from the service, in a supported format.

  3. Customisation: The HEEP has been designed to facilitate, rather than restrict, the querying and exchange of heritage data. The stucture of the Capabilities XML and Request XML allow the inclusion of vendor-specific functions within the HEEP itself.

HEEP Capabilities in FISHXML_Capabilities format are produced in response to a GetCap (Get Capabilitities) query from a HEEP client. The XML schema itself dictates the structure of the Capabilities document (Section A.3, “Capabilities Schema”, but notes are provided here for guidance. We have also provided an example FISHXML_Capabilities in Section B.3, “Capabilitites Example”, and which is available for download at http://oxarchdigital.com/fish/hep/0.1/examples/example_capabilities.xml

The HEEP client shall be responsible for forming valid requests. If any element of the request is invalid, the server shall issue an exception.

10.1. Reporting HEEP Service Capabilities

10.1.1. Using FISH_Capabilities XML

This section describes the format of the FISH_Capabilities XML used to present the capabilities of an HEEP service. Users should refer to the schema for the formal document structure.

10.1.1.1. FISHXML_Capabilities

The root node.

Attributes:

  • version The HEEP Protocol version. The version number reported here shall match the version indicated in the DOCTYPE definition. Required.

10.1.1.2. service

This section presents a summary of the service provided by the HEEP server. Required.

Attributes: (none)

10.1.1.2.1. sessionID

Server-generated identifier provided in response to a successful authentication request.

Attributes: (none)

10.1.1.2.2. name

Service Name, always "FISH:HEEP"

Attributes: (none)

10.1.1.2.3. title

Human readable title for the service descriptor, i.e., "UCL's UK Archaeology HEEP Server". Required.

Attributes: (none)

10.1.1.2.4. abstract

Description of the service provided. Not required.

Attributes: (none)

10.1.1.2.5. fees

Fees required to use the service, if any. Not required.

Attributes: (none)

10.1.1.2.6. accessConstraints

This section contains information which may restrict access

Attributes: (none)

10.1.1.2.7. statement

Explination of any access constraints; note that, outside of basic authentication, the HEEP does not enforce access constraints.

Attributes: (none)

10.1.1.2.8. maxLimit

Records the maximum number of records that will be retruned as the result of a single query to a HEEP service. This is provided to notify clients if the quantity of data transferred per transaction is limted by the server.

Attributes: (none)

10.1.1.2.9. onlineResource

Identifies the URL of service provider (not the URL of the service itself); this will most likely be the home page of the provider.

Attributes: use the xmlns and xlink namespaces for URL references for all onlineResource elements.

10.1.1.2.10. contactInformation

This node encompasses contact information for the particular service. It is self-evident and not documented in detail here; the contact information element can be repeated multiple times.

Attributes: (none)

10.1.1.2.11. defaults

This element tree provides information about the data structre returned by default. When a request is made without using a resultset a HEEP service shall return the defaults it advertises in its capabilities.

Attributes: (none)

10.1.1.2.12. object

The object of the query in XPATH node representation. Equivalent to a "field" in SQL parlance.

Attributes:

  • name The XPATH node. Required.
10.1.1.2.13. sort

Which nodes ("fields" in SQL parlance) the result set will be sorted on. Equivalent to SQL "ORDER BY".

Attributes: (none)

10.1.1.2.14. object

As above, the object of the query in XPATH node representation. Equivalent to a "field" in SQL parlance.

Attributes:

  • name The xpath node. Required.
  • sorttype Ascending ("asc") or descending "desc"; Optional. "asc" shall be assumed when absent the sorttype parameter is absent.

10.1.1.3. availableData

This section describes the one or more datasets that are available to the HEEP service.

Attributes: (none)

10.1.1.3.1. dataset

This section describes what data provided by the service. A 'dataset' is purely a conceptual entity and need have no formal concordance with the underlying database(s) or data structure. For example, a HEEP service may be connected to a single database of listed buildings: this database can represented by the HEEP service as multiple datasets broken down or pre-filtered by certain criteria, for example: "Medieval Listed Buildings" and "Post-medieval listed buildings". In the same way, a HEEP service can amalgamate multiple datasets into one conceptiual entity if necessary. Required.

Attributes: (none)

10.1.1.3.2. title

Human readable identifier or label for the datset. Required.

Attributes: (none)

10.1.1.3.3. abstract

A fuller, textual description of the dataset. Required.

Attributes: (none)

10.1.1.3.4. fees

Fees required to use the dataset; as above.

Attributes: (none)

10.1.1.3.5. accessConstraints

Access constraints of the dataset; this and its child nodes are described. The seperation of service and dataset metadata was intended to facilitate the construction of cascading HEEP services.

Attributes: (none)

10.1.1.3.6. weblink

Contains the URL for human-readable information about the dataset; contains the onlineResource child element in standard format.

Attributes: (none)

10.1.1.3.7. logo

Contains information about the logo or graphic label used to identify the dataset. Child elements include onlineResource; the others child elements are self-explanitory.

Attributes: (none)

10.1.1.3.8. contactInformation

Contact information as above; like the Service, each dataset can have multiple contacts.

Attributes: (none)

10.1.1.3.9. spatial

This section describes the available spatial data and how it is stored or represented. This entire element tree is not required.

Attributes:

  • queryable Boolean, "1" or "0" Not required, but "0" shall be assumed when absent. This parameter allows dataset administrators to indicate that spatial information exists, but cannot be queried using the HEEP.
10.1.1.3.10. boundingBox

Indicates the extent of the spatial coverage. As in the OGIS WMS standard, a spatial coverage may be represented in multiple spatial reference systems, allowing, for example, a UK dataset to be represented in both Ordnance Survey Grid coordinates and Longitude/Latitude. The format of the element is identical to that in the OGIS WMS standard.

Attributes:

  • srs: Spatial Reference System. In accordance with OGIS standards, EPSG spatial reference systems shall be used. The SRS "none" shall be provided for spatial sets referenced to a non-standard system. Required.
  • units: The spatial unit of the provided coordinates. Usually "meters" or "loglat". Required.
  • minx: The minimum x (or equivalent Longitude) coordinate. Required.
  • miny: The minimum y (or equivalent Latitude) coordinate. Required.
  • maxx: The maximum x (or equivalent Longitude) coordinate. Required.
  • miny: The maximum y (or equivalent Latitude) coordinate. Required.
10.1.1.3.11. entity

How are the spatial entities stored and delivered. Consists of two child elements: "point", "line" or "polygon".

Attributes: (none)

10.1.1.3.12. type

The spatial entity type: "point", "line" or "polygon". List all available types.

Attributes: (none)

10.1.1.3.13. accuracy

Used to flag any restrictions on spatial data enfored by the surever, such as only returning 4 digit grid references. This is not used to indicate the accuracy of the data as stored, but ratehr used to indicate how the data provided may differ from what is recorded in the source dataset. Not required.

Attributes:

  • units: Unit of mesurment (i.e., "meters") pertaining to the accuracy value.

10.1.1.4. capability

This element tree describes the resources and availability of each Operation. One child node exists for each Operation supported by the HEEP; many of the elements are self-explanitory, so only the problematic or otherwise difficult nodes are described here. Again, developers should always refer to the XML Schema for normative usage.

Attributes: (none)

10.1.1.4.1. [Operation name]

The resource of each Operation is listed as a seperate child element tree.

Scope: all Operations

Attributes:

  • auth: Boolean value indicating whether authentication is required. Each Operation can be validated by an independent username and password combination. The intention is to provide simple but flexible authentication on the protocol level. It is envisanged that most Services will not require authrentication on GetCap requests, but may require them for the GetData and GetQuerySummary Operations. See Section 7.9, “Authentication” for more information.
10.1.1.4.2. format

Lists the available MIME types for replies to the requested Operation. Valid values shall be limited to "text/xml" and "binary/gzip". See Section 7.8, “Compression” for more information. Required.

Scope: all Operations

Attributes: (none)

10.1.1.4.3. Charset

Lists the available character sets for replies to the requested Operation. Required.

Attributes: (none)

10.1.1.4.4. 

10.1.1.4.5. 

10.1.1.4.6.