Tile representation example Tile resource mandatory in resource oriented architectural style

Copyright © 2010 Open Geospatial Consortium Inc. 65

10.2.5 GetResourceRepresentation exception

If the response of a GetResourceRepresentation request for a tile is unsuccessful, the server SHALL return an HTTP error code that SHOULD be accompanied by an XML ExceptionReport document as defined in subclause 8.5 of OWS Common [OGC 06- 121r3] and subclause 7.2.2.2 of this document. Determination of what error conditions map to which HTTP error codes is up to the discretion of the server. If the error condition is due to a malformed request or the resource does not exist for instance in a request URL with illegal path values, the HTTP error code returned SHOULD be HTTP Error 404 File Not Found. NOTE For a server where the tile resource files actually exists and there is no specific application capable of generating specific responses on the fly, HTTP error code SHALL be expected but an XML ExceptionReport document cannot be expected.

10.3 FeatureInfo resource optional in resource oriented architectural style

10.3.1 GetResourceRepresentation request

The ServiceMetadata document in the resource oriented architectural style may contain a list of Layer elements and each layer that is available to be retrieved in this architectural style and is queryable SHALL have one or more ResourceURL elements with the resourceType attribute set to FeatureInfo and a template attribute. In this RESTful approach the template attribute contains a URL template that can be converted to a URL by using a template processor and then get the expected FeatureInfo in the format specified by the attribute format by requesting the resource with a standard HTTP GET. Figure 14 — URLTemplate for the FeatureInfo UML class diagram Table 33 — Parts of the URLTemplate data structure for FeatureInfo Names Definition Data type and values Multiplicity and use format format Format of the resource representation that can be retrieved or resolved from the URL template ows:MimeType One mandatory resource Type resource Type Resource type to be retrieved Character String type, not empty SHALL contain FeatureInfo One mandatory template template URL template a . URI One mandatory a A template processor will apply the rules in Table 34 to get a URL to a resource. DataType URLTemplate + format : MimeType + resourceType: CharacterString = FeatureInfo {frozen} + template: URI 66 Copyright © 2010 Open Geospatial Consortium Inc. A template processor is a program or library that runs on the client side and converts a URL template into a URL. It will have to process the URL template that contains variable names marked off in matching braces {, } and substitute them with the corresponding valid value. The template processor SHALL support the following variable names: Style, TileMatrixSet, TileMatrix, TileRow, TileCol, J, I, and any dimension identifier that has been defined for this layer in the element .Dimensionows:Identifier. The template processor SHALL substitute the variable names by the values shown in Table 34. Possible values and ranges of the variables in the URL template can be extracted from the SeviceMetadata document parameters. The following table lists all the possible variable names, their description, possible values and multiplicity. Assuming a ServiceMetadata in XML format the possible values are also given using XPath expressions that point to the ServiceMetadata document. When a relative XPath is used, it is relative to its layer element of the ServiceMetadata document. When a variable has only one possible value for this layer, the use of the direct value instead of the variable is recommended on the URL template. Table 34 — URL template variables and possible values for FeatureInfo URL template variable Meaning Possible values Multiplicity style Style identifier identifier in Table 7 .styleows:Identifier One mandatory a .Dimension ows:Identifie r Dimension value identifier in Table 9 .Dimension[ows:Identifier={.Dimension ows:Identifier}]Value One for each dimension available mandatory if there are dimensions defined TileMatrix Set tile matrix set identifier identifier in Table 6 . TileMatrixSetLinkTileMatrixSet One mandatory a TileMatrix tile matrix identifier identifier in Table 14 CapabilitiesContentsTileMatrixSet[ ows:Identifier={TileMatrixSet}]TileMatrix ows:Identifier One mandatory a