Web Service validation Always independently validate your web service outputs (eg, GetCapabilities, GetFeature, GetFeatureInfo, GetLegend) using an XML validation tool (eg, Oxygen, XMLSpy) or similar application. Service validation should also include testing in various different GIS client applications (eg, ArcMap, QGis, Mapinfo, Gaia, AuScope Portal). In particular, test services in an application that is independent of the web service server application (eg, test ArcGIS Server services outside of ArcMap). Validation will identify errors in XML encoding in GetCapabilities documents, missing mandatory attributes in WFS services, and incorrect population of some elements like gml:id and elements that use enumerated lists.
URI's (ie, URN's and URL's)
- Always deliver URL's in preference to URN's. URN's are not recommended because they cannot be resolved without special applications, whereas URL's should resolve in a standard browser.
- Never deliver a URI in a WFS or WMS element where human-readable text is expected.
- Do not show a URL or URN to a human user in a web application unless it is completely unavoidable. If only a URL is delivered in any WFS element, then it should be resolved into something human readable within the application.
- Encode both URL and human readable text when delivering vocabulary terms. For example, most vocabulary terms in EarthResourceML v2+ and GeoSciML v3+ are encoded using xlink:href and xlink:title. For example:
"Unknown" values In attributes
Use human-readable OGC "nil" values for attributes that expect text terms. The list of available terms is:
- above detection range
- below detection range
Use URI's where a schema attribute expects a URI.
WMS GetFeatureInfo response
Where possible, provide a well-formatted HTML response for WMS GetFeatureInfo requests. This entails examining the default settings from WMS server applications to see if the formatting is appropriate for your data. The default Geoserver and ArcGIS Server format is a very wide horizontal table format which is not good for WMS layers with a large number of attributes. For example:
Both Geoserver and ArcGIS Server allow you to specify a HTML stylesheet to provide your GetFeatureInfo response in a more user-friendly format. For example, a vertical table: