root / trunk / libraries / libWMSv0 / wmsSchemas / capabilities_1_0_0.dtd @ 8552
History | View | Annotate | Download (16.5 KB)
1 |
<!-- NOTE: comments in this Document Type Definition impose additional |
---|---|
2 |
constraints beyond those codified in the DTD syntax. A conformant Web Map |
3 |
Server must provide Capabilities XML that (1) validates against the DTD and |
4 |
(2) does not violate the constraints stated in comments herein. --> |
5 |
|
6 |
<!-- The parent element of the Capabilities document includes as children a |
7 |
Service element with general information about the server and a Capability |
8 |
element with specific information about the kinds of functionality offered by |
9 |
the server. --> |
10 |
<!ELEMENT WMT_MS_Capabilities (Service, Capability) > |
11 |
|
12 |
<!-- The version attribute specifies the specification revision to which this |
13 |
DTD applies. Its format is one, two or three integers separated by periods: |
14 |
"x", or "x.y", or "x.y.z", with the most significant number appearing first. |
15 |
Future revisions are guaranteed to be numbered in monotonically increasing |
16 |
fashion, though gaps may appear in the sequence. All known versions may |
17 |
be found at http://www.digitalearth.gov/wmt/xml/ --> |
18 |
<!-- The updateSequence attribute is a sequence number for managing |
19 |
propagation of the contents of this document. For example, if a Map Server |
20 |
adds some data layers it can increment the update sequence to inform catalog |
21 |
servers that their previously cached versions are now stale. The format is a |
22 |
positive integer. --> |
23 |
<!ATTLIST WMT_MS_Capabilities |
24 |
version CDATA #FIXED "1.0.0" |
25 |
updateSequence CDATA "0"> |
26 |
|
27 |
<!-- This WMT-wide list of possible output formats can be redefined by |
28 |
individual servers; see the sample XML. --> |
29 |
<!ENTITY % KnownFormats " GIF | JPEG | PNG | WebCGM | SVG |
30 |
| GML.1 | GML.2 | GML.3 | WBMP |
31 |
| WMS_XML | MIME | INIMAGE | TIFF | GeoTIFF | PPM | BLANK " > |
32 |
|
33 |
<!-- The Service element provides metadata for the service as a whole. --> |
34 |
<!ELEMENT Service (Name, Title, Abstract?, Keywords?, OnlineResource, Fees?, |
35 |
AccessConstraints?) > |
36 |
|
37 |
<!-- A service name defined within the Web Mapping Specification namespace. |
38 |
Currently only the name "GetMap" is defined. --> |
39 |
<!ELEMENT Name (#PCDATA) > |
40 |
|
41 |
<!-- A human-readable title to briefly identify this server in menus. --> |
42 |
<!ELEMENT Title (#PCDATA) > |
43 |
|
44 |
<!-- A descriptive narrative for more information about this server. --> |
45 |
<!ELEMENT Abstract (#PCDATA) > |
46 |
|
47 |
<!-- Short words to help catalog searching. Currently, no controlled |
48 |
vocabulary has been defined. --> |
49 |
<!ELEMENT Keywords (#PCDATA) > |
50 |
|
51 |
<!-- The top-level HTTP URL of this service. Typically the URL of a "home |
52 |
page" for the service. See also the onlineResource attributes of <DCPType> |
53 |
children, below. Currently, no non-HTTP platforms have been specified. --> |
54 |
<!ELEMENT OnlineResource (#PCDATA)> |
55 |
|
56 |
<!-- Elements indicating what fees or access constraints are imposed. |
57 |
The reserved keyword "none" indicates no constraint exists. --> |
58 |
<!ELEMENT Fees (#PCDATA)> |
59 |
<!ELEMENT AccessConstraints (#PCDATA)> |
60 |
|
61 |
<!-- A Capability lists available request types, how exceptions |
62 |
may be reported, and whether any vendor-specific capabilities are defined. It |
63 |
also includes an optional list of map layers available from this server. --> |
64 |
|
65 |
<!ELEMENT Capability |
66 |
(Request, Exception?, VendorSpecificCapabilities?, Layer?) > |
67 |
|
68 |
<!ELEMENT VendorSpecificCapabilities ANY> |
69 |
|
70 |
<!-- Available WMT-defined request types are listed here. |
71 |
At least one of the values is required, but more than one |
72 |
may be given. --> |
73 |
<!ELEMENT Request (Map | Capabilities | FeatureInfo)+ > |
74 |
|
75 |
<!-- For each request method offered by the server, list the |
76 |
available output formats and the supported distributed |
77 |
computing platforms (DCPs). Example: |
78 |
<Map> |
79 |
<Format><PNG /><JPEG /><GML.1 /></Format> |
80 |
<DCPType><HTTP><Get onlineResource="URL" /></HTTP></DCPType> |
81 |
</Map> |
82 |
--> |
83 |
|
84 |
<!-- GetMap interface: Presence of the Map element means this server can |
85 |
generate a map of a specified area, either as a picture or a feature |
86 |
collection --> |
87 |
<!ELEMENT Map (Format, DCPType+)> |
88 |
|
89 |
<!-- GetCapabilities interface: Presence of the Capabilities element means |
90 |
this server can generate a description of its abilities and holdings formatted |
91 |
in XML that complies with this DTD. --> |
92 |
<!ELEMENT Capabilities (Format, DCPType+)> |
93 |
|
94 |
<!-- GetFeatureInfo interface: Presence of the FeatureInfo element means this |
95 |
server can return information about a specific feature given a valid map |
96 |
request and a location on that map. --> |
97 |
<!ELEMENT FeatureInfo (Format, DCPType+)> |
98 |
|
99 |
<!-- Available Distributed Computing Platforms (DCPs) are |
100 |
listed here. At present, only HTTP is defined. --> |
101 |
<!ELEMENT DCPType (HTTP) > |
102 |
|
103 |
<!-- Available HTTP request methods. --> |
104 |
<!ELEMENT HTTP (Get | Post)+ > |
105 |
|
106 |
<!-- HTTP request methods. The onlineResource attribute indicates the URL |
107 |
prefix for HTTP GET requests (everything before the question mark and query |
108 |
string: http://hostname[:port]/path/scriptname); for HTTP POST requests, |
109 |
onlineResource is the complete URL. The HTTP GET syntax for Map, Capabilities |
110 |
and FeatureInfo requests has been well defined and is described in the OGC |
111 |
Web Map Server Interface Specification. The POST formalism, wherein GetMap |
112 |
arguments are encoded in XML and POSTed to the server, has not yet been fully |
113 |
developed. --> |
114 |
<!ELEMENT Get EMPTY> |
115 |
<!ATTLIST Get onlineResource CDATA #REQUIRED> |
116 |
<!ELEMENT Post EMPTY> |
117 |
<!ATTLIST Post onlineResource CDATA #REQUIRED> |
118 |
|
119 |
<!-- Available formats. Not all formats are relevant to all requests. |
120 |
Individual servers MAY add new formats as shown in the sample XML accompanying |
121 |
this DTD. --> |
122 |
<!ELEMENT Format ( %KnownFormats; )+ > |
123 |
<!ELEMENT GIF EMPTY> <!-- Graphics Interchange Format --> |
124 |
<!ELEMENT JPEG EMPTY> <!-- Joint Photographics Expert Group --> |
125 |
<!ELEMENT PNG EMPTY> <!-- Portable Network Graphics --> |
126 |
<!ELEMENT PPM EMPTY> <!-- Portable PixMap --> |
127 |
<!ELEMENT TIFF EMPTY> <!-- Tagged Image File Format --> |
128 |
<!ELEMENT GeoTIFF EMPTY> <!-- Geographic TIFF --> |
129 |
<!ELEMENT WebCGM EMPTY> <!-- Web Computer Graphics Metafile --> |
130 |
<!ELEMENT SVG EMPTY> <!-- Scalable Vector Graphics --> |
131 |
<!ELEMENT WMS_XML EMPTY> <!-- eXtensible Markup Language --> |
132 |
<!ELEMENT GML.1 EMPTY> <!-- Geography Markup Language, profile 1 --> |
133 |
<!ELEMENT GML.2 EMPTY> <!-- Geography Markup Language, profile 2 --> |
134 |
<!ELEMENT GML.3 EMPTY> <!-- Geography Markup Language, profile 3 --> |
135 |
<!ELEMENT WBMP EMPTY> <!-- Wireless Access Protocol (WAP) Bitmap --> |
136 |
<!ELEMENT MIME EMPTY> <!-- Multipurpose Internet Mail Extensions --> |
137 |
<!ELEMENT INIMAGE EMPTY> <!-- display text in the returned image --> |
138 |
<!ELEMENT BLANK EMPTY> <!-- return an image with all pixels transparent if |
139 |
supported by the image format, otherwise all |
140 |
pixels set to the BGCOLOR if present, otherwise |
141 |
all pixels set to the same (arbitrary) value --> |
142 |
|
143 |
<!-- An Exception element indicates which output formats are supported |
144 |
for reporting problems encountered when executing a request. Available |
145 |
Exception formats MUST include one or more of WMS_XML, INIMAGE, or BLANK. |
146 |
Example: <Exception><Format><INIMAGE /><WMS_XML /></Format></Exception>. --> |
147 |
<!ELEMENT Exception (Format)> |
148 |
|
149 |
<!-- The optional VendorSpecificCapabilities element lists any capabilities |
150 |
unique to a particular Map Server. Because the information is not known a |
151 |
priori, it cannot be constrained by this particular DTD. A vendor-specific |
152 |
DTD fragment must be supplied at the start of the XML Capabilities document, |
153 |
after the reference to the general WMT_MS_Capabilities DTD. See the sample |
154 |
XML for further information. --> |
155 |
|
156 |
<!-- |
157 |
DEFINE THIS ELEMENT AS NEEDED IN YOUR XML |
158 |
<!ELEMENT VendorSpecificCapabilities (your stuff here) > |
159 |
--> |
160 |
|
161 |
<!-- Nested list of zero or more map Layers offered by this server. The Layer |
162 |
element can be omitted if the server has no layers (for example, if it offers |
163 |
only geoprocessing services but no actual data). --> |
164 |
|
165 |
<!-- A Layer element has two functions: it either refers to a map layer which |
166 |
can be requested by Name in the LAYERS parameter of a GetMap request, or it is |
167 |
a category Title for all the layers nested within. In the latter case, the |
168 |
category itself MAY include a Name by which all of the nested layers can be |
169 |
requested at once. For example, a parent layer "Roads" may have children |
170 |
"Interstates" and "County Roads" and allow the user to request either child |
171 |
individually or both together. --> |
172 |
|
173 |
<!-- A Map Server which advertises a Layer containing a Name element MUST be |
174 |
able to accept that Name as the value of LAYERS argument in a GetMap request |
175 |
and return the corresponding map. A Viewer Client MUST NOT attempt to request |
176 |
a Layer that has a Title but no Name. --> |
177 |
|
178 |
<!-- A Map Server MUST include at least one <Layer> element for each map layer |
179 |
offered. If desired, data layers MAY be repeated in different categories when |
180 |
relevant. A Layer element MAY state the Name by which a map of the layer is |
181 |
requested, MUST give a Title to be used in human-readable menus, and MAY |
182 |
include: a human-readable Abstract containing further description, available |
183 |
Spatial Reference Systems (SRS), bounding boxes in Lat/Lon and SRS-specific |
184 |
coordinates indicating the available geographic coverage, styles in which the |
185 |
layer is available, a URL for more information about the data, and a hint |
186 |
concerning appropriate map scales for displaying this layer. Use of the |
187 |
nesting hierarchy is optional. --> |
188 |
|
189 |
<!-- The following table specifies the number and source of the various |
190 |
elements (and one attribute) describing a Layer that has a Name. Without a |
191 |
Name, the Layer is merely a category title and all other elements are |
192 |
optional; if present, some of those elements may be inherited by children as |
193 |
described in the table. |
194 |
|
195 |
inherit |
196 |
from |
197 |
element number parent? comments |
198 |
======= ====== ======= ======== |
199 |
Name 1 - this table only applies to Named Layers |
200 |
(those which can be requested in a GetMap call) |
201 |
no default |
202 |
|
203 |
Title 1 - required in each Layer; no default |
204 |
|
205 |
Abstract 0/1 - optional; no default |
206 |
|
207 |
Keywords 0/1 - optional; no default |
208 |
|
209 |
SRS 1 add one list is required; default from parent; |
210 |
list may include multiple whitespace-separated |
211 |
values |
212 |
|
213 |
LatLonBoundingBox 1 replace exactly one is required; default from parent |
214 |
|
215 |
BoundingBox 0+ replace one is required per SRS other than EPSG:4326; |
216 |
default from parent |
217 |
|
218 |
DataURL 0/1 - optional; no default |
219 |
|
220 |
Style 0+ add optional; default from parent |
221 |
|
222 |
ScaleHint 0/1 replace optional; default from parent |
223 |
|
224 |
Layer 0+ - optional; no default; |
225 |
if present, each is a "child" of the enclosing |
226 |
Layer and inherits some default values as |
227 |
described in this table |
228 |
|
229 |
queryable 1 replace optional; default is "0" (not queryable) |
230 |
(attribute) or parent value if present |
231 |
|
232 |
|
233 |
--> |
234 |
|
235 |
<!ELEMENT Layer ( Name?, Title, Abstract?, Keywords?, SRS?, |
236 |
LatLonBoundingBox?, BoundingBox*, DataURL?, |
237 |
Style*, ScaleHint?, Layer* ) > |
238 |
|
239 |
<!-- A data layer may be queryable, as specified by this optional binary |
240 |
attribute. 1 = queryable, 0 = not queryable. A server that declares a Layer |
241 |
to by queryable MUST implement the GetFeatureInfo interface. --> |
242 |
|
243 |
<!ATTLIST Layer queryable (0 | 1) "0" > |
244 |
|
245 |
<!-- Listing of available Spatial Reference Systems (SRS). |
246 |
* The root Layer element must include a list of all SRSes which |
247 |
are common to *all* subsidiary layers. This allows clients |
248 |
to quickly determine that a server cannot possibly satisfy a |
249 |
request for a particular SRS. Use an empty element if there |
250 |
is no common SRS. |
251 |
* Layer-specific SRS: Optionally, layers may add to the global SRS list, or to |
252 |
the list inherited from a parent layer as described above. |
253 |
Any duplication should be ignored by clients. That is, a particular |
254 |
layer may list all of its SRSes, even if it repeats |
255 |
information in the top-level SRS. |
256 |
|
257 |
The content of the SRS element is a free-text list of SRS names separated by |
258 |
whitespace. A name includes a namespace prefix, a colon, and one or more |
259 |
parameter values. Currently defined namespaces are: |
260 |
|
261 |
prefix parameters comment |
262 |
====== ========== ======= |
263 |
EPSG EPSG code European Petroleum Survey Group geodesy parameters |
264 |
http://www.petroconsultants.com/products/geodetic.html |
265 |
Examples: 'EPSG:4326' is WGS84 lat/lon, |
266 |
'EPSG:26986' is NAD83 / Massachusetts Mainland. |
267 |
|
268 |
AUTO WMT code, WMT list of "automatic" projections. WMT code: |
269 |
EPSG units, an integer identifier assigned by WMT (see |
270 |
Longitude, http://www.digitalearth.gov/wmt/auto.html). EPSG units: |
271 |
Latitude one of the EPSG codes for identifying units, |
272 |
indicating what units are to be used in Bounding Boxes. |
273 |
Longitude: central meridian of the projection (degrees). |
274 |
Latitude: central latitude of the projection (degrees). |
275 |
Example: 'AUTO:42003,9001,-100,45' is auto orthographic |
276 |
projection, bbox units in meters, center at 100W 45N. |
277 |
The bounding box is measured in a plane perpendicular to |
278 |
the line of sight, *not* directly on the Earth. |
279 |
--> |
280 |
|
281 |
<!ELEMENT SRS (#PCDATA) > |
282 |
|
283 |
<!-- The LatLonBoundingBox attributes indicate the edges of the enclosing |
284 |
rectangle in latitude/longitude decimal degrees (as in SRS EPSG:4326 [WGS1984 |
285 |
lat/lon]). LatLonBoundingBox MUST be supplied regardless of what SRS the map |
286 |
server may support, but it MAY be approximate if EPSG:4326 is not supported. |
287 |
Its purpose is to facilitate geographic searches without requiring coordinate |
288 |
transformations by the search engine. --> |
289 |
<!ELEMENT LatLonBoundingBox EMPTY> |
290 |
<!ATTLIST LatLonBoundingBox |
291 |
minx CDATA #REQUIRED |
292 |
miny CDATA #REQUIRED |
293 |
maxx CDATA #REQUIRED |
294 |
maxy CDATA #REQUIRED> |
295 |
|
296 |
<!-- The BoundingBox attributes indicate the edges of the bounding box |
297 |
in units of the specified spatial reference system. --> |
298 |
<!ELEMENT BoundingBox EMPTY> |
299 |
<!ATTLIST BoundingBox |
300 |
SRS CDATA #REQUIRED |
301 |
minx CDATA #REQUIRED |
302 |
miny CDATA #REQUIRED |
303 |
maxx CDATA #REQUIRED |
304 |
maxy CDATA #REQUIRED> |
305 |
|
306 |
<!-- A Map Server MAY use DataURL to offer more information about the data |
307 |
underneath a particular layer. While the semantics are not well-defined, as |
308 |
long as the results of an HTTP GET request against the DataURL are properly |
309 |
MIME-typed, Viewer Clients and Cascading Map Servers can make use of this. --> |
310 |
<!ELEMENT DataURL (#PCDATA) > |
311 |
|
312 |
<!-- A Style element lists the name by which a style is requested and a |
313 |
human-readable title for pick lists, optionally (and ideally) provides a |
314 |
human-readable description, and optionally gives a style URL. If a Layer is |
315 |
offered in only a single Style, the Map Server MAY choose not to give it a |
316 |
name. Nevertheless, when handling a GetMap request a server MUST accept '' |
317 |
(null) and 'default' in the STYLES parameter as synonyms for the default (or |
318 |
only) style. --> |
319 |
<!ELEMENT Style ( Name, Title, Abstract?, StyleURL? ) > |
320 |
|
321 |
<!-- A Map Server MAY use StyleURL to offer more information about the data or |
322 |
symbology underlying a particular Style. While the semantics are not |
323 |
well-defined, as long as the results of an HTTP GET request against the |
324 |
StyleURL are properly MIME-typed, Viewer Clients and Cascading Map Servers can |
325 |
make use of this. A possible use could be to allow a Map Server to provide |
326 |
legend information. --> |
327 |
<!ELEMENT StyleURL (#PCDATA) > |
328 |
|
329 |
<!-- Minimum and maximum scale hints for which it is appropriate to |
330 |
display this layer. It is STRONGLY RECOMMENDED that for Picture Case |
331 |
return formats the min and max values be expressed as ground distance |
332 |
in meters of a southwest to northeast diagonal of the pixel whose X |
333 |
coordinate is floor(width/2) and whose Y coordinate is floor(height/2). |
334 |
|
335 |
In the figure below, the X is in the pixel whose diagonal measurement |
336 |
is used. |
337 |
|
338 |
+===+===+===+ +===+===+===+===+ |
339 |
| | | | | | | | | |
340 |
+===+===+===+ +===+===+===+===+ |
341 |
| | X | | | | X | | | |
342 |
+===+===+===+ +===+===+===+===+ |
343 |
| | | | | | | | | |
344 |
+===+===+===+ +===+===+===+===+ |
345 |
| | | | | |
346 |
+===+===+===+===+ |
347 |
|
348 |
It is understood that this definition is not geodetically precise, but |
349 |
at the same time the hope is that by including it, conventions will |
350 |
develop around its use which can be later specified more clearly. --> |
351 |
<!ELEMENT ScaleHint EMPTY> |
352 |
<!ATTLIST ScaleHint min CDATA #REQUIRED max CDATA #REQUIRED> |
353 |
|
354 |
|
355 |
|