[mapserver-users] Mapfile dtd proposal

Ricky Jo ricky_georgy@yahoo.fr
Sun, 28 Jul 2002 17:30:11 +0200 (CEST)


--0-1759360063-1027870211=:11750
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

Hi,
As I have to deal with big mapfiles on my server, I
wanted to push forward the migration to xml, which
will  simplify things, I think.

Here's my proposal joined, with a quite not complete
example. I inspired myself from some posts before.
A few points of discussion:
first, the order of elements is important in dtd, so
if someone find a better ordering, it would be good. I
simply copied from the doc and mapfile.c.
Then, I did not pay attention on the requirement of
the  elements: they are mostly all optional. It is
still needed to specify which elements are required
(change XX? to XX).
Finally, there is the question of attributes vs
elements. So if some of you have good arguments, let's
send your changes.

The dtd has some drawbacks, such as the unability to
constraints the element content. That's why you'll see
some lines likes this.
<units type="meter"/> instead of <units>meter</units>.

Cheers,

Ricky

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com
--0-1759360063-1027870211=:11750
Content-Type: application/octet-stream; name="mapfile.dtd"
Content-Transfer-Encoding: base64
Content-Description: mapfile.dtd
Content-Disposition: attachment; filename="mapfile.dtd"

PCEtLSAKICAgIE1hcHNlcnZlciBtYXBmaWxlIGR0ZCAKCiAgICBGb3IgZnVy
dGhlciBpbmZvcm1hdGlvbiwgc2VlOiBodHRwOi8vbWFwc2VydmVyLmdpcy51
bW4uZWR1L2RvYy9tYXBmaWxlLXJlZmVyZW5jZS5odG1sCi0tPgoKPCEtLT09
PT09PT09PT09PT09PT09PSBlbnRpdGllcyBmb3IgdHlwZXMgPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Cgo8IUVOVElUWSAlIE51
bWJlciAiQ0RBVEEiPgogICAgPCEtLSBvbmUgb3IgbW9yZSBkaWdpdHMgLS0+
Cgo8IS0tPT09PT09PT09PT09PT09PT09PSBnZW5lcmljIGF0dHJpYnV0ZXMg
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgoKPCFFTlRJVFkg
JSBib29sZWFuCiAic3RhdHVzICAodHJ1ZXxvbnxmYWxzZXxvZmYpICAjUkVR
VUlSRUQiIAogID4KCjwhRU5USVRZICUgc3RhdHVzCiAic3RhdHVzICAob258
b2ZmKSAgI0lNUExJRUQiIAogID4KCjwhRU5USVRZICUgbmFtZQogIm5hbWUg
IENEQVRBICAgI0lNUExJRUQiIAogID4KCjwhRU5USVRZICUgc3RhdHVzLmVt
YmVkCiAic3RhdHVzICAob258b2ZmfGVtYmVkKSAjUkVRVUlSRUQiCiAgPgoK
PCFFTlRJVFkgJSB4eWF0dHJzCiAieCAlTnVtYmVyOyAjUkVRVUlSRUQKICB5
ICVOdW1iZXI7ICNSRVFVSVJFRCIKICA+Cgo8IUVOVElUWSAlIGNvbG9yCiAi
ciAlTnVtYmVyOyAjUkVRVUlSRUQKICBnICVOdW1iZXI7ICNSRVFVSVJFRAog
IGIgJU51bWJlcjsgI1JFUVVJUkVEIgogID4KCjwhRU5USVRZICUgdW5pdHMK
ICJ0eXBlIChmZWV0fGluY2hlc3xraWxvbWV0ZXJzfG1ldGVyc3xtaWxlc3xk
ZCkgI1JFUVVJUkVEIgogPgoKPCFFTlRJVFkgJSB1bml0cy5waXhlbHMKICJ0
eXBlIChmZWV0fGluY2hlc3xraWxvbWV0ZXJzfG1ldGVyc3xtaWxlc3xkZHxw
aXhlbHMpICNSRVFVSVJFRCIKID4KCjwhLS09PT09PT09PT09PT09PT09IGNv
bW1vbiBlbGVtZW50cyAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0tLT4KCjwhRUxFTUVOVCBiYWNrZ3JvdW5kY29sb3IgRU1QVFk+Cjwh
QVRUTElTVCBiYWNrZ3JvdW5kY29sb3IKICAlY29sb3I7CiAgPgoKPCFFTEVN
RU5UIG91dGxpbmVjb2xvciBFTVBUWT4KPCFBVFRMSVNUIG91dGxpbmVjb2xv
cgogICVjb2xvcjsKICA+Cgo8IUVMRU1FTlQgY29sb3IgRU1QVFk+CjwhQVRU
TElTVCBjb2xvcgogICVjb2xvcjsKICA+Cgo8IUVMRU1FTlQgZXh0ZW50IEVN
UFRZPgo8IUFUVExJU1QgZXh0ZW50IAogIG1pbnggJU51bWJlcjsgI1JFUVVJ
UkVECiAgbWlueSAlTnVtYmVyOyAjUkVRVUlSRUQKICBtYXh4ICVOdW1iZXI7
ICNSRVFVSVJFRAogIG1heHkgJU51bWJlcjsgI1JFUVVJUkVEIAogID4gCgo8
IUVMRU1FTlQgaGVhZGVyICgjUENEQVRBKT4KCjwhRUxFTUVOVCBmb290ZXIg
KCNQQ0RBVEEpPgoKPCFFTEVNRU5UIGltYWdlY29sb3IgRU1QVFk+CjwhQVRU
TElTVCBpbWFnZWNvbG9yCiAgJWNvbG9yOwogID4KCjwhRUxFTUVOVCBpbnRl
cmxhY2UgRU1QVFk+CjwhQVRUTElTVCBpbnRlcmxhY2UKICAlYm9vbGVhbjsg
CiAgPiAKCjwhRUxFTUVOVCBpbnRlcnZhbHMgKCNQQ0RBVEEpPgoKPCFFTEVN
RU5UIHBvc2l0aW9uIEVNUFRZPgo8IUFUVExJU1QgcG9zaXRpb24KICB0eXBl
ICh1bHx1Y3x1cnxsbHxsY3xscikgI1JFUVVJUkVEIAogID4KCjwhRUxFTUVO
VCBwb3N0bGFiZWxjYWNoZSBFTVBUWT4KPCFBVFRMSVNUIHBvc3RsYWJlbGNh
Y2hlCiAgJWJvb2xlYW47CiAgPgoKPCFFTEVNRU5UIHNpemUgRU1QVFk+Cjwh
QVRUTElTVCBzaXplCiAgJXh5YXR0cnM7CiAgPgoKPCFFTEVNRU5UIHN0eWxl
ICgjUENEQVRBKT4gPCEtLSBub3QgZW1wdHksIHNjYWxlYmFyIHVzZXMgaW50
ZWdlciBoZXJlIC0tPgo8IUFUVExJU1Qgc3R5bGUKICBzdHlsZSAobm9ybWFs
fGhpbGl0ZXxzZWxlY3RlZCkgI1JFUVVJUkVEIAogID4KCjwhRUxFTUVOVCB0
ZW1wbGF0ZSAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgbWluc2l6ZSAoI1BDREFU
QSk+Cgo8IUVMRU1FTlQgbWF4c2l6ZSAoI1BDREFUQSk+Cgo8IUVMRU1FTlQg
bWluc2NhbGUgKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIG1heHNjYWxlICgjUENE
QVRBKT4KCjwhRUxFTUVOVCBtZXRhZGF0YSAoI1BDREFUQSk+Cgo8IUVMRU1F
TlQgdW5pdHMgRU1QVFk+CjwhQVRUTElTVCB1bml0cwogICV1bml0czsKICA+
Cgo8IS0tPT09PT09PT09PT09PT09PSBtYXAgID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0tLT4KCjwhRUxFTUVOVCBtYXAgKHNpemUsIGV4
dGVudCwgZm9udHNldD8sIGltYWdlY29sb3I/LCBpbWFnZXF1YWxpdHk/LCBp
bWFnZXR5cGU/LCBpbnRlcmxhY2U/LAogICBsYXRsb24/LCBvdXRwdXRmb3Jt
YXQ/LCByZXNvbHV0aW9uPywgc2NhbGU/LCAgc2hhcGVwYXRoPywgIHN5bWJv
bCosIHN5bWJvbHNldD8sIAogICB0cmFuc3BhcmVudD8sIHVuaXRzLCBwcm9q
ZWN0aW9uPywgcXVlcnltYXA/LCB3ZWIsIHJlZmVyZW5jZSwgbGVnZW5kLCBz
Y2FsZWJhciwgbGF5ZXIrKT4KPCFBVFRMSVNUIG1hcAogICVzdGF0dXM7IAog
ICVuYW1lOwogID4KCjwhRUxFTUVOVCBmb250c2V0ICgjUENEQVRBKT4KCjwh
RUxFTUVOVCBpbWFnZXF1YWxpdHkgKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIGlt
YWdldHlwZSBFTVBUWT4KPCFBVFRMSVNUIGltYWdldHlwZSAKICB0eXBlICAg
IChnaWZ8cG5nfGpwZWd8d2JtcHxndGlmZnxzd2Z8dXNlcmRlZmluZWQpICAj
UkVRVUlSRUQgCiAgPiAKCjwhRUxFTUVOVCBsYXRsb24gKCNQQ0RBVEEpPgoK
PCFFTEVNRU5UIHJlc29sdXRpb24gKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIHNj
YWxlICgjUENEQVRBKT4KCjwhRUxFTUVOVCBzaGFwZXBhdGggKCNQQ0RBVEEp
PgoKPCFFTEVNRU5UIHN5bWJvbHNldCAoI1BDREFUQSk+Cgo8IS0tPT09PT09
PT09PT09PT09PSBsYWJlbCAgPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PS0tPgoKPCFFTEVNRU5UIGxhYmVsIChhbmdsZT8sIGFudGlhbGlh
cz8sIGJhY2tncm91bmRjb2xvcj8sIGJhY2tncm91bmRzaGFkb3djb2xvcj8s
IAogIGJhY2tncm91bmRzaGFkb3dzaXplPywgYnVmZmVyPywgY29sb3I/LCBm
b250PywgZm9yY2U/LCBtYXhzaXplPywgbWluZGlzdGFuY2U/LCAKICBtaW5m
ZWF0dXJlc2l6ZT8sIG1pbnNpemU/LCBvZmZzZXQ/LCBvdXRsaW5lY29sb3I/
LCBwYXJpYWxzPywgcG9zaXRpb24/LCBzaGFkb3djb2xvcj8sCiAgIHNoYWRv
d3NpemU/LCBsYWJlbHNpemU/LCB0eXBlPywgd3JhcD8pPgo8IUFUVExJU1Qg
bGFiZWwKICB0eXBlIChiaXRtYXB8dHJ1ZXR5cGUpICNJTVBMSUVECiAgPgoK
PCFFTEVNRU5UIGFuZ2xlICgjUENEQVRBKT4KCjwhRUxFTUVOVCBhbnRpYWxp
YXMgRU1QVFk+CjwhQVRUTElTVCBhbnRpYWxpYXMgCiAgJWJvb2xlYW47CiAg
PgoKPCFFTEVNRU5UIGJhY2tncm91bmRzaGFkb3dzaXplIEVNUFRZPgo8IUFU
VExJU1QgYmFja2dyb3VuZHNoYWRvd3NpemUKICAleHlhdHRyczsKICA+Cgo8
IUVMRU1FTlQgYnVmZmVyICgjUENEQVRBKT4KCjwhRUxFTUVOVCBmb3JjZSBF
TVBUWT4KPCFBVFRMSVNUIGZvcmNlCiAgJWJvb2xlYW47CiAgPgoKPCFFTEVN
RU5UIG1pbmRpc3RhbmNlICgjUENEQVRBKT4KCjwhRUxFTUVOVCBtaW5mZWF0
dXJlc2l6ZSAoI1BDREFUQSk+CjwhQVRUTElTVCBtaW5mZWF0dXJlc2l6ZQog
IHVuaXQgKGludGVnZXJ8YXV0bykgI1JFUVVJUkVEIAogID4KCjwhRUxFTUVO
VCBvZmZzZXQgRU1QVFk+CjwhQVRUTElTVCBvZmZzZXQKICAleHlhdHRyczsK
ICA+CgoKPCFFTEVNRU5UIHBhcnRpYWxzICgjUENEQVRBKT4KPCFBVFRMSVNU
IHBhcnRpYWxzIAogICVib29sZWFuOwogID4KCjwhRUxFTUVOVCBsYWJlbHBv
c2l0aW9uIEVNUFRZPgo8IUFUVExJU1QgbGFiZWxwb3NpdGlvbgogIHR5cGUg
KHVsfHVjfHVyfGNsfGNjfGNyfGxsfGxjfGxyfGF1dG8pICNSRVFVSVJFRAog
ID4KCjwhRUxFTUVOVCBzaGFkb3djb2xvciAoI1BDREFUQSk+CjwhQVRUTElT
VCBzaGFkb3djb2xvcgogICVjb2xvcjsKICA+Cgo8IUVMRU1FTlQgc2hhZG93
c2l6ZSAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgbGFiZWxzaXplICgjUENEQVRB
KT4KPCFBVFRMSVNUIGxhYmVsc2l6ZQogIHR5cGUgKGludGVnZXJ8dGlueXxz
bWFsbHxtZWRpdW18bGFyZ2V8Z2lhbnQpICNSRVFVSVJFRCAKICA+Cgo8IUVM
RU1FTlQgd3JhcCAoI1BDREFUQSk+Cgo8IS0tPT09PT09PT09PT09PT09PSBs
YXllciAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgoK
PCFFTEVNRU5UIGxheWVyIChjbGFzc2l0ZW0/LCBjb25uZWN0aW9uPywgY29u
bmVjdGlvbnR5cGU/LCBkYXRhLCBkdW1wPywgCiAgZmVhdHVyZT8sIGZpbHRl
cj8sIGZpbHRlcml0ZW0/LCBmb290ZXI/LCBoZWFkZXI/LCBsYWJlbGFuZ2xl
aXRlbT8sIGxhYmVsY2FjaGU/LCAKICBsYWJlbGl0ZW0/LCBsYWJlbG1heHNj
YWxlPywgbGFiZWxtaW5zY2FsZT8sIGxhYmVscmVxdWlyZXM/LCBsYWJlbHNp
emVpdGVtPywgCiAgbWF4ZmVhdHVyZXM/LCBtYXhzY2FsZT8sIG9mZnNpdGU/
LCB0cmFuc3BhcmVuY3k/LCBwb3N0bGFiZWxjYWNoZT8sIHByb2plY3Rpb24/
LAogIHJlcXVpcmVzPywgc2l6ZXVuaXRzPywgc3R5bGVpdGVtPywgc3ltYm9s
c2NhbGU/LCB0ZW1wbGF0ZT8sIHRpbGVpbmRleD8sIAogIHRpbGVpdGVtPywg
dG9sZXJhbmNlPywgdG9sZXJhbmNldW5pdHM/LCB0cmFuc2Zvcm0/LCB0eXBl
PywgbGF5ZXJ1bml0cz8sIGNsYXNzKyk+CjwhQVRUTElTVCBsYXllcgogIHN0
YXR1cyAob258b2ZmfGRlZmF1bHQpICNSRVFVSVJFRAogIHR5cGUgKHBvaW50
fGxpbmV8cG9seWdvbnxjaXJjbGV8YW5ub3RhdGlvbnxyYXN0ZXJ8cXVlcnkp
ICNSRVFVSVJFRCAKICAlbmFtZTsKICA+Cgo8IUVMRU1FTlQgY2xhc3NpdGVt
ICgjUENEQVRBKT4KCjwhRUxFTUVOVCBjb25uZWN0aW9uICgjUENEQVRBKT4K
CjwhRUxFTUVOVCBjb25uZWN0aW9udHlwZSBFTVBUWT4KPCFBVFRMSVNUIGNv
bm5lY3Rpb250eXBlCiAgdHlwZSAobG9jYWx8c2RlfG9ncnxwb3N0Z2lzfG9y
YWNsZXNwYXRpYWwpICNSRVFVSVJFRCAKICA+Cgo8IUVMRU1FTlQgZGF0YSAo
I1BDREFUQSk+Cgo8IUVMRU1FTlQgZHVtcCAoI1BDREFUQSk+Cgo8IUVMRU1F
TlQgZmlsdGVyICgjUENEQVRBKT4KCjwhRUxFTUVOVCBmaWx0ZXJpdGVtICgj
UENEQVRBKT4KCjwhRUxFTUVOVCBsYWJlbGFuZ2xlaXRlbSAoI1BDREFUQSk+
Cgo8IUVMRU1FTlQgbGFiZWxjYWNoZSBFTVBUWT4KPCFBVFRMSVNUIGxhYmVs
Y2FjaGUKICAlYm9vbGVhbjsKICA+Cgo8IUVMRU1FTlQgbGFiZWxpdGVtICgj
UENEQVRBKT4KCjwhRUxFTUVOVCBsYWJlbG1heHNjYWxlICgjUENEQVRBKT4K
CjwhRUxFTUVOVCBsYWJlbG1pbnNjYWxlICgjUENEQVRBKT4KCjwhRUxFTUVO
VCBsYWJlbHJlcXVpcmVzICgjUENEQVRBKT4KCjwhRUxFTUVOVCBsYWJlbHNp
emVpdGVtICgjUENEQVRBKT4KCjwhRUxFTUVOVCBtYXhmZWF0dXJlcyAoI1BD
REFUQSk+Cgo8IUVMRU1FTlQgb2Zmc2l0ZSAoI1BDREFUQSk+Cgo8IUVMRU1F
TlQgdHJhbnNwYXJlbmN5ICgjUENEQVRBKT4KCjwhRUxFTUVOVCByZXF1aXJl
cyAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgc2l6ZXVuaXRzIEVNUFRZPgo8IUFU
VExJU1Qgc2l6ZXVuaXRzCiAgJXVuaXRzLnBpeGVsczsKICA+Cgo8IUVMRU1F
TlQgc3R5bGVpdGVtICgjUENEQVRBKT4KCjwhRUxFTUVOVCBzeW1ib2xzY2Fs
ZSAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgdGlsZWluZGV4ICgjUENEQVRBKT4K
CjwhRUxFTUVOVCB0aWxlaXRlbSAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgdG9s
ZXJhbmNlICgjUENEQVRBKT4KCjwhRUxFTUVOVCB0b2xlcmFuY2V1bml0cyBF
TVBUWT4KPCFBVFRMSVNUIHRvbGVyYW5jZXVuaXRzCiAgJXVuaXRzLnBpeGVs
czsKICA+Cgo8IUVMRU1FTlQgdHJhbnNmb3JtIEVNUFRZPgo8IUFUVExJU1Qg
dHJhbnNmb3JtCiAgJWJvb2xlYW47IAogID4KCjwhLS0gTm90ZTogdGhpcyBv
bmUgaXMgbm90IGluIHRoZSBkb2MgLS0+CjwhRUxFTUVOVCBsYXllcnVuaXRz
IEVNUFRZPiAKPCFBVFRMSVNUIGxheWVydW5pdHMKICAldW5pdHMucGl4ZWxz
OwogID4KCjwhLS09PT09PT09PT09PT09PT09IGNsYXNzICA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09LS0+Cgo8IUVMRU1FTlQgY2xhc3Mg
KGJhY2tncm91bmRjb2xvcj8sIGNvbG9yPywgZXhwcmVzc2lvbj8sIGpvaW4/
LCBsYWJlbD8sIAogIG1heHNjYWxlPywgbWF4c2l6ZT8sIG1ldGFkYXRhPywg
bWluc2NhbGU/LCBtaW5zaXplPywgb3V0bGluZWNvbG9yPywgCiAgb3Zlcmxh
eWJhY2tncm91bmRjb2xvcj8sIG92ZXJsYXljb2xvcj8sIG92ZXJsYXlzaXpl
Pywgb3ZlcmxheXN5bWJvbD8sIHNpemU/LCAKICAgc3ltYm9sPywgdGVtcGxh
dGU/LCB0ZXh0PywgdGl0bGU/LCB0eXBlPyk+CjwhQVRUTElTVCBjbGFzcwog
ICVzdGF0dXM7CiAgJW5hbWU7CiAgPgoKPCFFTEVNRU5UIGV4cHJlc3Npb24g
KCNQQ0RBVEEpPgoKPCFFTEVNRU5UIG92ZXJsYXliYWNrZ3JvdW5kY29sb3Ig
KCNQQ0RBVEEpPgoKPCFFTEVNRU5UIG92ZXJsYXljb2xvciAoI1BDREFUQSk+
Cgo8IUVMRU1FTlQgb3ZlcmxheXNpemUgKCNQQ0RBVEEpPgoKPCFFTEVNRU5U
IG92ZXJsYXlzeW1ib2wgKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIHRleHQgKCNQ
Q0RBVEEpPgoKPCFFTEVNRU5UIHRpdGxlICgjUENEQVRBKT4KCjwhRUxFTUVO
VCB0eXBlIEVNUFRZPgo8IUFUVExJU1QgdHlwZQogIHVuaXQgKGZlZXR8aW5j
aGVzfGtpbG9tZXRlcnN8bWV0ZXJzfG1pbGVzfGRkKSAjUkVRVUlSRUQgCiAg
PgoKPCEtLT09PT09PT09PT09PT09PT0gZmVhdHVyZSAgPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PS0tPgoKPCFFTEVNRU5UIGZlYXR1cmUg
KHBvaW50cywgdGV4dCk+Cgo8IS0tPT09PT09PT09PT09PT09PSBsZWdlbmQg
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KCjwhRUxF
TUVOVCBsZWdlbmQgKGltYWdlY29sb3I/LCBpbnRlcmxhY2U/LCBrZXlzaXpl
Pywga2V5c3BhY2luZz8sIAogIG91dGxpbmVjb2xvcj8sIHBvc2l0aW9uPywg
cG9zdGxhYmVsY2FjaGU/LCB0cmFuc3BhcmVudD8sIHRlbXBsYXRlPywgbGFi
ZWwqKT4KPCFBVFRMSVNUIGxlZ2VuZAogICVzdGF0dXMuZW1iZWQ7CiAgPgoK
PCFFTEVNRU5UIGtleXNpemUgKCNQQ0RBVEEpPgo8IUFUVExJU1Qga2V5c2l6
ZQogICV4eWF0dHJzOwogID4KCjwhRUxFTUVOVCBrZXlzcGFjaW5nICgjUENE
QVRBKT4KPCFBVFRMSVNUIGtleXNwYWNpbmcKICAleHlhdHRyczsKICA+Cgo8
IS0tPT09PT09PT09PT09PT09PSBxdWVyeW1hcCAgPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PS0tPgoKPCFFTEVNRU5UIHF1ZXJ5bWFwIChi
YWNrZ3JvdW5kY29sb3I/LCBjb2xvcj8sIGltYWdlY29sb3I/LCBpbnRlcmxh
Y2U/LCBpbnRlcnZhbHM/LAogIGxhYmVsPywgb3V0bGluZWNvbG9yPywgcG9z
aXRpb24/LCBwb3N0bGFiZWxjYWNoZT8sIHNpemU/LCBzdGF0dXM/LCBzdHls
ZT8sIAogIHRyYW5zcGFyZW50PywgdW5pdHM/KSA+CjwhQVRUTElTVCBxdWVy
eW1hcAogICVzdGF0dXM7CiAgPgoKPCEtLT09PT09PT09PT09PT09PT0gam9p
biAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgoKPCFF
TEVNRU5UIGpvaW4gKGZvb3Rlcj8sIGZyb20/LCBoZWFkZXI/LCB0YWJsZT8s
IHRlbXBsYXRlPywgdG8/LCB0eXBlKT4KPCFBVFRMSVNUIGpvaW4gCiAgdHlw
ZSAobXVsdGlwbGV8c2luZ2xlKSAjSU1QTElFRAogICVuYW1lOwogID4KCjwh
RUxFTUVOVCBmcm9tICgjUENEQVRBKT4KCjwhRUxFTUVOVCB0YWJsZSAoI1BD
REFUQSk+Cgo8IUVMRU1FTlQgdG8gKCNQQ0RBVEEpPgoKPCEtLT09PT09PT09
PT09PT09PT0gcmVmZXJlbmNlICA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09LS0+Cgo8IUVMRU1FTlQgcmVmZXJlbmNlIChpbWFnZT8sIGV4
dGVudD8sIGNvbG9yPywgb3V0bGluZWNvbG9yPywgc2l6ZT8sICAKICBtYXJr
ZXI/LCBtYXJrZXJzaXplPywgbWluYm94c2l6ZT8sIG1heGJveHNpemU/KT4K
PCFBVFRMSVNUIHJlZmVyZW5jZQogICVzdGF0dXM7IAogID4KCjwhRUxFTUVO
VCBpbWFnZSAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgbWFya2VyICgjUENEQVRB
KT4KCjwhRUxFTUVOVCBtYXJrZXJzaXplICgjUENEQVRBKT4KCjwhRUxFTUVO
VCBtaW5ib3hzaXplICgjUENEQVRBKT4KCjwhRUxFTUVOVCBtYXhib3hzaXpl
ICgjUENEQVRBKT4KCjwhLS09PT09PT09PT09PT09PT09IHNjYWxlYmFyICA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Cgo8IUVMRU1F
TlQgc2NhbGViYXIgKGJhY2tncm91bmRjb2xvcj8sIGNvbG9yPywgaW1hZ2Vj
b2xvcj8sIGludGVybGFjZT8sIGludGVydmFscz8sIAogIGxhYmVsPywgb3V0
bGluZWNvbG9yPywgcG9zaXRpb24/LCBwb3N0bGFiZWxjYWNoZT8sIHNpemU/
LCB0cmFuc3BhcmVudD8sIAogIHN0eWxlPywgdW5pdHM/KT4KPCFBVFRMSVNU
IHNjYWxlYmFyCiAgJXN0YXR1cy5lbWJlZDsKICA+Cgo8IS0tPT09PT09PT09
PT09PT09PSB3ZWIgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0tLT4KCjwhRUxFTUVOVCB3ZWIgKGVtcHR5PywgZXJyb3I/LCBleHRlbnQ/
LCBoZWFkZXI/LCBmb290ZXI/LCBpbWFnZXBhdGgsIGltYWdldXJsLCBsb2c/
LAogICBtaW5zY2FsZT8sIG1heHNjYWxlPywgdGVtcGxhdGU/LCBtaW50ZW1w
bGF0ZT8sIG1heHRlbXBsYXRlPywgbWV0YWRhdGE/KT4KCjwhRUxFTUVOVCBl
bXB0eSAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgZXJyb3IgKCNQQ0RBVEEpPgoK
PCFFTEVNRU5UIGltYWdlcGF0aCAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgaW1h
Z2V1cmwgKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIGxvZyAoI1BDREFUQSk+Cgo8
IUVMRU1FTlQgbWludGVtcGxhdGUgKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIG1h
eHRlbXBsYXRlICgjUENEQVRBKT4KCjwhLS09PT09PT09PT09PT09PT09IHBy
b2plY3Rpb24gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0t
LT4KCjwhRUxFTUVOVCBwcm9qZWN0aW9uIChtc19zdHJpbmcsIG1zX2F1dG8p
PgoKPCEtLT09PT09PT09PT09PT09PT0gb3VwdXRmb3JtYXQgID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KCjwhRUxFTUVOVCBvdXRw
dXRmb3JtYXQgKG1pbWV0eXBlPywgZHJpdmVyPywgZm9ybWF0b3B0aW9uPywg
aW1hZ2Vtb2RlPywgCiB0cmFuc3BhcmVudD8pPgo8IUFUVExJU1Qgb3V0cHV0
Zm9ybWF0CiAgJW5hbWU7CiAgPgogCjwhRUxFTUVOVCBtaW1ldHlwZSAoI1BD
REFUQSk+Cgo8IUVMRU1FTlQgZHJpdmVyICgjUENEQVRBKT4KCjwhRUxFTUVO
VCBmb3JtYXRvcHRpb24gKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIGltYWdlbW9k
ZSBFTVBUWT4KPCFBVFRMSVNUIGltYWdlbW9kZQogIHVuaXQgKGZlZXR8aW5j
aGVzfGtpbG9tZXRlcnN8bWV0ZXJzfG1pbGVzfGRkKSAjUkVRVUlSRUQgCiAg
PgoKPCEtLT09PT09PT09PT09PT09PT0gc3ltYm9sICA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09LS0+Cgo8IUVMRU1FTlQgc3ltYm9sIChh
bnRpYWxpYXM/LCBjaGFyYWN0ZXI/LCBmaWxsZWQ/LCBmb250PywgZ2FwPywg
cG9zaXRpb24/LCBpbWFnZT8sIAogIGxpbmVjYXA/LCBsaW5lam9pbj8sIGxp
bmVqb2lubWF4c2l6ZT8sIHBvaW50cz8sIHN0eWxlPywgdHJhbnNwYXJlbnQ/
KT4KPCFBVFRMSVNUIHN5bWJvbAogICVuYW1lOwogIHR5cGUgKHZlY3Rvcnxl
bGxpcHNlfHBpeG1hcHx0cnVldHlwZXxzaW1wbGUpICNSRVFVSVJFRAogID4K
CjwhRUxFTUVOVCBjaGFyYWN0ZXIgKCNQQ0RBVEEpPgoKPCFFTEVNRU5UIGZp
bGxlZCAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgZ2FwICgjUENEQVRBKT4KCjwh
RUxFTUVOVCBsaW5lY2FwICgjUENEQVRBKT4KCjwhRUxFTUVOVCBsaW5lam9p
biAoI1BDREFUQSk+Cgo8IUVMRU1FTlQgbGluZWpvaW5tYXhzaXplICgjUENE
QVRBKT4KCjwhRUxFTUVOVCBwb2ludHMgKHBvaW50Kyk+Cgo8IUVMRU1FTlQg
cG9pbnQgRU1QVFk+CjwhQVRUTElTVCBwb2ludAogICV4eWF0dHJzOwogID4=


--0-1759360063-1027870211=:11750
Content-Type: text/xml; name="demo.xml"
Content-Description: demo.xml
Content-Disposition: inline; filename="demo.xml"

<?xml version="1.0" ?> 
<!DOCTYPE map SYSTEM "mapfile.dtd" >

<map status="on" name="demo">

  <size x="600" y="600"/>

  <extent
		  minx="388107.634400379"
		  miny="5203120.88405952"
		  maxx="500896.339019834"
		  maxy="5310243.30613897" />
  <imagetype type="png"/>
  <interlace status="on"/>

  <symbol name="triangle" type="vector">
	<points>
	  <point x="10" y="20" />
	  <point x="15" y="25" />
	</points>
  </symbol>
  
  <units type="meters"/>

  <web>
	<header>demo_header.html</header>
	<imagepath>"/var/www/img"</imagepath> 
	<imageurl>"http://demo/img/"</imageurl>
	<minscale>1000</minscale>
	<maxscale>1550000</maxscale>
	<template>demo.html</template>
  </web>

  <reference status="on">
	<image>graphics/reference_base.gif</image>
	<extent
			minx="388107.634400379"
			miny="5203120.88405952"
			maxx="500896.339019834"
			maxy="5310243.30613897" />
	<color r="-1" g="-1" b="-1"/>
	<outlinecolor r="255" g="0" b="0"/>
  </reference>

  <legend status="on">
	<keysize x="18" y="12"/>
	<label type="bitmap">
	  <outlinecolor r="255" g="0" b="0"/>
	  <labelsize type="medium"/>
	</label>
  </legend>

  <scalebar status="on">
	<backgroundcolor r="255" g="0" b="0"/>
	<color r="255" g="0" b="0"/>
	<imagecolor r="255" g="0" b="0"/>
	<intervals>5</intervals>
	<label>
	  <outlinecolor  r="255" g="0" b="0"/>
	  <labelsize type="medium"/>
	</label>
	<outlinecolor r="255" g="0" b="0"/>
	<size x="350" y="5"/>
	<units type="miles" />
  </scalebar>

  <layer name="lakes" type="polygon" status="on">
	<classitem>usclass</classitem>
	<data>lakes.tif</data>
	<tolerance>3</tolerance>
	<toleranceunits type="miles"/>

	<class name="water">
	  <backgroundcolor r="255" g="0" b="0"/>
	  <color r="255" g="0" b="0"/>
	  <expression>421</expression>    
	  <outlinecolor r="255" g="0" b="0"/>
	</class>

  </layer>

</map>

--0-1759360063-1027870211=:11750--