Statistics
| Revision:

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