This file is indexed.

/usr/share/thuban/Resources/XML/thuban-1.1.dtd is in thuban 1.2.2-9build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
<?xml version="1.0" encoding="UTF-8"?>
<!--    thuban-1.1.dtd

    Copyright (C) 2001, 2003, 2004, 2005, 2008 by Intevation GmbH
    Authors:
        Jan-Oliver Wagner <jan@intevation.de>
        Bernhard Herzog <bh@intevation.de>

    This program is free software under the GPL (>=v2)
    Read the file COPYING coming with Thuban for details.

    $Revision: 2842 $
    $Source$
    $Id: thuban-1.1.dtd 2842 2008-06-02 19:16:01Z bh $
-->

<!-- a session contains zero or more database connections zero or more
     datasources and and zero or more maps

At some point, the namespace attribute will likely be used by Thuban to
identify the version of the file format. 
-->

<!ENTITY % shapesources "fileshapesource | derivedshapesource | dbshapesource">
<!ENTITY % tables "filetable | jointable">
<!ELEMENT session ((dbconnection | %shapesources; | %tables; )*, map*)>
<!ATTLIST session 
        title CDATA #REQUIRED
        xmlns CDATA #IMPLIED
>


<!--
    A db connection represents the connection to a database.

    Currently only connections to postgis databases are supported and
    thus The dbtype attribute must be "postgis".
-->

<!ELEMENT dbconnection EMPTY>
<!ATTLIST dbconnection
        id     ID    #REQUIRED
        dbtype CDATA #REQUIRED
        dbname CDATA #REQUIRED
        host   CDATA ""
        port   CDATA ""
        user   CDATA ""
>


<!-- A dbshapesource represents a table with geometry data in a database

     The dbconn attribute must be the id of a dbconnection element
     occurring earlier in the document.
-->

<!ELEMENT dbshapesource EMPTY>
<!ATTLIST dbshapesource
        id        ID    #REQUIRED
        dbconn    IDREF #REQUIRED
        tablename CDATA #REQUIRED
        id_column CDATA #REQUIRED
        geometry_column CDATA #REQUIRED
>

<!-- 
    A fileshapesource is a source of shapes and perhaps attribute data
    read from a file. The filetype attribute must be one of the
    supported file types. Currently only "shapefile" is supported.
 -->

<!ELEMENT fileshapesource EMPTY>
<!ATTLIST fileshapesource
        id       ID   #REQUIRED
        filename CDATA #REQUIRED
        filetype CDATA #REQUIRED
>

<!--
     A derivedshapesource is a source of shapes and attribute data
    derived from another shapesource for the shapes and a table for the
    attribute data.
 -->

<!ELEMENT derivedshapesource EMPTY>
<!ATTLIST derivedshapesource
        id          ID   #REQUIRED
        shapesource IDREF #REQUIRED
        table       IDREF #REQUIRED
>


<!-- a filetable points to the actual file that
	contains the tabular data.

     The filetype Attribute may be onve of "DBF" or "CSV"
-->
<!ELEMENT filetable EMPTY>
<!ATTLIST filetable 
        id       ID    #REQUIRED
        title    CDATA #REQUIRED
        filename CDATA #REQUIRED
        filetype CDATA #REQUIRED>

<!-- 
    A jointable is a table with the result of something equivalent to
    this SQL Statement:

     SELECT * FROM left JOIN right WHERE left.leftcolumn = right.rightcolumn;

    The attributes left and right must be the ids of two tables defined
    previously in the XML-Document file. leftcolumn and rightcolumn are 
    the column names to join on.

    The jointype attribute should be either "INNER" or "LEFT OUTER".
-->
<!ELEMENT jointable EMPTY>
<!ATTLIST jointable
        id          ID    #REQUIRED
        title       CDATA #REQUIRED
        left        IDREF #REQUIRED
        leftcolumn  CDATA #REQUIRED
        right       IDREF #REQUIRED
        rightcolumn CDATA #REQUIRED
        jointype    CDATA #REQUIRED
>

<!-- A Map

        A map consists of a number of layers
	the projection refers to the projection
	used to display the map. If the projection
	is missing, geographic coordinates in decimal
	degrees are assumed.
-->
<!ELEMENT map (projection?, (layer | rasterlayer)*, labellayer?)>
<!ATTLIST map title CDATA #REQUIRED>

<!-- a layer represents a set of geographic objects.
	pointers to the actual data are stored.
	The shapestore attributes contains the id of the data store
        shown in the layer.
	the projection refers to the projection
	in which the data are stored. If the projection
	is missing, geographic coordinates in decimal
	degrees are assumed. Visibility is assumed true
    unless otherwise specified.
-->
<!ELEMENT layer (projection?, classification?)>
<!ATTLIST layer title CDATA #REQUIRED>
<!ATTLIST layer shapestore IDREF #REQUIRED>
<!ATTLIST layer visible (true|false) "true">
<!-- the fill and stroke attributes can be either "None" or "#RRGGBB"
     RGB hex values

     All of fill, stroke, stroke_width and size may be omitted and default
     to "None", "#000000", "1" and "5" respectively.
 -->
<!ATTLIST layer fill CDATA "None">
<!ATTLIST layer stroke CDATA "#000000">
<!ATTLIST layer stroke_width CDATA "1">
<!ATTLIST layer size CDATA "5">


<!-- a rasterlayer represents an image that has some geographic data
    associated with it. The filename points to the image used.

    The masktype should be one of "none", "bit" or "alpha".  
    The opacity is the opacity as a decimal floating point number in the
    range 0.0 ... 1.0
-->
<!ELEMENT rasterlayer (projection?, classification?)>
<!ATTLIST rasterlayer 
        title    CDATA #REQUIRED
        filename CDATA #REQUIRED
        opacity CDATA #IMPLIED
        masktype CDATA #IMPLIED
        visible  (true|false) "true">


<!-- Classification data -->
<!ELEMENT classification (clnull?, clpoint*, clrange*, clpattern*, clcont*)>
<!ATTLIST classification field CDATA #IMPLIED>
<!ATTLIST classification field_type CDATA #IMPLIED>

<!ELEMENT clnull (cldata*)>
<!ELEMENT clpoint (cldata*)>
<!ELEMENT clrange (cldata*)>
<!ELEMENT clpattern (cldata*)>
<!ELEMENT clcont (cldata*)>

<!ATTLIST clnull label CDATA #IMPLIED>

<!ATTLIST clpoint value CDATA #REQUIRED>
<!ATTLIST clpoint label CDATA #IMPLIED>

<!ATTLIST clrange min CDATA #IMPLIED>
<!ATTLIST clrange max CDATA #IMPLIED>
<!ATTLIST clrange range CDATA #IMPLIED>
<!ATTLIST clrange label CDATA #IMPLIED>

<!ATTLIST clpattern pattern CDATA #REQUIRED>
<!ATTLIST clpattern label CDATA #IMPLIED>

<!ATTLIST clcont rmin CDATA #REQUIRED>
<!ATTLIST clcont rmax CDATA #REQUIRED>
<!ATTLIST clcont dmin CDATA #REQUIRED>
<!ATTLIST clcont dmax CDATA #REQUIRED>

<!-- Visual appearance of the classification 

     the fill and stroke attributes can be either "None" or "#RRGGBB"
     RGB hex values

     TODO: Actually, 'size' is only sensible for points. But adding it to
     clpoint would not be enough since the 'size' must also be available
     for the clnull. And clnull again is applied for lines and polygons.
     So, at some later point, maybe with introducing symbols, this
     has to be improved.

     All of fill, stroke, stroke_width and size may be omitted and default to
     "None", "#000000", "1" and "5" respectively.
 -->
<!ELEMENT cldata EMPTY>
<!ATTLIST cldata 
        stroke       CDATA #IMPLIED
        stroke_width CDATA #IMPLIED
        fill         CDATA #IMPLIED
        size         CDATA #IMPLIED
>


<!-- a projection has a number of parameters
-->
<!ELEMENT projection (parameter*)>
<!ATTLIST projection 
        name CDATA "" 
        epsg CDATA #IMPLIED >

<!-- just a simple parameter consisting of a value
-->
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter value CDATA #REQUIRED>


<!-- The label layer contains text labels -->
<!ELEMENT labellayer (label*) >

<!ELEMENT label EMPTY>
<!ATTLIST label
        x CDATA #REQUIRED
        y CDATA #REQUIRED
        text CDATA #REQUIRED
        halign (left|center|right) #REQUIRED
        valign (top|center|bottom) #REQUIRED>