OGC logo

Abstract Test Suite for WFS 1.1/XLink

R. Martell

Galdos Systems, Inc.

J. Parr-Pearson

Galdos Systems, Inc.
Revision History
Revision 0.12007-12-14
Draft containing abstract test cases for WFS-XLink conformance.


This document is an abstract test suite (ATS): a compendium of test assertions pertaining to implementations of the Web Feature Service (WFS) specification, version 1.1. It provides a basis for developing an executable test suite (ETS) to verify that the implementation under test (IUT) conforms to all applicable functional specifications.

The assertions (abstract test cases) are gleaned from a set of specification documents; the dependencies among these specifications are shown in Figure 1, “WFS 1.1 dependencies”, where each specification is represented as a UML package.

Figure 1. WFS 1.1 dependencies

WFS 1.1 dependencies

The abstract test cases are organized into test groups (conformance levels) that reflect distinct sets of capabilities. Three conformance levels are distinguished:

  1. WFS-Basic (required) - Provides facilities for searching and retrieving feature data

  2. WFS-Transaction - Provides facilities for managing (inserting, updating, deleting) feature data

  3. WFS-XLink - Provides facilities for resolving links between related resources.

Source documents

Table of Contents




The XLink test module includes assertions concerning XLink processing in the context of GetGmlObject amd GetFeature requests. Link referents may reside in local and/or remote locations. XLink conformance is not required; the degree of support is advertised in the capabilities document.

Table 1. GetGmlObject request

Test case identifierhttp://www.opengis.net/wfs/1.1/atc/xlink/GetGmlObject
Test purposeConfirm that the GetGmlObject request has been implemented if the IUT claims to support XLink resolution.
Test methodPass if the GetGmlObject request is implemented using POST or GET methods; fail otherwise.
Test typeCapability

Table 2. GetGmlObject - Exceptions

Test case identifierhttp://www.opengis.net/wfs/1.1/atc/xlink/GetGmlObject-Exceptions
Test purpose

Verify that exceptions arising while processing GetGmlObject requests are correctly reported.

An exception must be returned in response to any of the following situations:

  1. the request is invalid

  2. the locator attribute value (@xlink:href) does not include a fragment identifier

  3. the domain of the URI reference (local or remote) is unsupported

  4. the target resource is not found

  5. a forwarded GetGmlObject request has timed out (NOT tested at this level).

Test methodPass if all of the identified cases yield an exception report; fail otherwise.
Test typeCapability

Table 3. XLink resolution

Test case identifierhttp://www.opengis.net/wfs/1.1/atc/xlink/XLinkResolution
Test purpose

Verify that an XLink reference has been resolved correctly.

All of the following conditions must be true after successfully resolving an XLink reference:

  1. the correct target resource (referent) has been inserted as a child of the link element;

  2. the locator attribute (@xlink:href) has been removed from the link element;

  3. the locator attribute is included in the text of a comment contained in the link element.

Test method

An XLink reference is resolved if the expected target resource is retrieved and inserted; otherwise an exception must be reported (see Target resource not found).

Test typeCapability

Table 4. XLink resolution - Depth

Test case identifierhttp://www.opengis.net/wfs/1.1/atc/xlink/XLinkResolution-LinkDepth
Test purpose

Verify that links are resolved to the correct depth.

XLink references must be resolved to a depth corresponding to one of the following cases:

  1. the requested depth

  2. the maximum supported depth, if this is less than the requested depth

Test methodPass if all assertions are satisfied; fail otherwise.
Test typeCapability

Table 5. XLink resolution - Domain

Test case identifierhttp://www.opengis.net/wfs/1.1/atc/xlink/XLinkResolution-Domain
Test purpose

Confirm that links in supported domains are processed.

An XLink reference is processed only if its domain (as indicated by the authority component of the @xlink:href value) is supported; otherwise an exception is reported (see Unsupported URI domain).

Test method

The capabilities document must indicate whether local and/or remote domains are supported using the LocalTraverseXlinkScope and RemoteTraverseXlinkScope constraints.

Test typeCapability

Table 6. GetFeature - Non-selective XLink resolution

Test case identifierhttp://www.opengis.net/wfs/1.1/atc/xlink/GetFeature-NonSelectiveXLinkResolution
Test purposeConfirm that non-selective XLink resolution is supported for the GetFeature request. All XLink elements in a GetFeature response are resolved according to the value of the traverseXlinkDepth request parameter (see XLink resolution - Depth)
Test methodPass if the assertion is satisfied; fail otherwise.
Test typeCapability

Table 7. GetFeature - Selective XLink resolution

Test case identifierhttp://www.opengis.net/wfs/1.1/atc/xlink/GetFeature-SelectiveXLinkResolution
Test purposeVerify that selected link elements are processed as requested in a GetFeature response. An XLink element (feature property) specified by the value of the <wfs:XlinkPropertyName> element is processed according to the values of the traverseXlinkDepth and traverseXlinkExpiry parameters specified either (1) for this feature property, or (2) globally for the request as a whole.
Test methodPass if XLink properties are selectively resolved in a GetFeature request context; fail otherwise.
Test typeCapability