DTD and fixed XML example for map file

Doug Nebert ddnebert at usgs.gov
Tue May 16 11:37:01 EDT 2000


Found a neat validator/DTD generator at: 
http://www.pault.com/Xmltube/dtdgen.html

Attached are a validated XML instance file and the DTD generated from 
it. Note that DTD elements are presented in alphabetic order rather than 
in logical order. Read the results carefully!

However, when an item shows up as a part of another item (e.g.) WEB has 
HEADER and TEMPLATE, the parsing expected order of these subfields is 
rigorous in XML 1.0. You can't, say, legally switch the order of 
occurence of TEMPLATE and HEADER in a picky parser. I imagine future 
implementations based on XML-Schema will relax the element order and 
case sensitivity requirements of the current generation.

--
Douglas D. Nebert
Clearinghouse Coordinator
FGDC Secretariat	Phone: +1 703 648 4151	Fax: +1 703 648-5755	
Pager Messaging: 	http://clearinghouse3.fgdc.gov/dougmsg.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: demo.xml
Type: text/xml
Size: 2935 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/mapserver-users/attachments/20000516/4fc52805/demo.xml
-------------- next part --------------
<!ELEMENT BACKGROUNDCOLOR ( #PCDATA ) >
<!ELEMENT CLASS ( BACKGROUNDCOLOR | COLOR | EXPRESSION | MAXSIZE | NAME | OUTLINECOLOR | SIZE | SYMBOL )* ><!ELEMENT CLASSITEM ( #PCDATA ) ><!ELEMENT COLOR ( #PCDATA ) >
<!ELEMENT EXPRESSION ( #PCDATA ) >
<!ELEMENT EXTENT ( #PCDATA ) >
<!ELEMENT HEADER ( #PCDATA ) >
<!ELEMENT IMAGE ( #PCDATA ) >
<!ELEMENT IMAGECOLOR ( #PCDATA ) >
<!ELEMENT IMAGEPATH ( #PCDATA ) >
<!ELEMENT IMAGEURL ( #PCDATA ) >
<!ELEMENT INTERVALS ( #PCDATA ) >
<!ELEMENT JOIN EMPTY >
<!ATTLIST JOIN COLUMN NMTOKEN #REQUIRED >
<!ATTLIST JOIN NAME NMTOKEN #REQUIRED >
<!ATTLIST JOIN TABLE CDATA #REQUIRED >
<!ELEMENT KEYSIZE ( #PCDATA ) >
<!ELEMENT LABEL ( COLOR | SIZE | TYPE )* >
<!ELEMENT LAYER ( CLASS | CLASSITEM | MAXSCALE | OFFSITE | QUERY | QUERYITEM | SYMBOLSCALE | TOLERANCE )* >
<!ATTLIST LAYER DATA NMTOKEN #REQUIRED >
<!ATTLIST LAYER NAME NMTOKEN #REQUIRED >
<!ATTLIST LAYER STATUS NMTOKEN #REQUIRED >
<!ATTLIST LAYER TYPE NMTOKEN #REQUIRED >
<!ELEMENT LEGEND ( KEYSIZE, LABEL ) >
<!ATTLIST LEGEND STATUS NMTOKEN #REQUIRED >
<!ELEMENT LINESET ( #PCDATA ) >
<!ELEMENT MAP ( SIZE, SHADESET, MARKERSET, LINESET, EXTENT, UNITS, SHAPEPATH, IMAGECOLOR, WEB, REFERENCE, LEGEND, SCALEBAR, LAYER+ ) >
<!ATTLIST MAP NAME NMTOKEN #REQUIRED >
<!ATTLIST MAP STATUS NMTOKEN #REQUIRED >
<!ELEMENT MARKERSET ( #PCDATA ) >
<!ELEMENT MAXSCALE ( #PCDATA ) >
<!ELEMENT MAXSIZE ( #PCDATA ) >
<!ELEMENT MINSCALE ( #PCDATA ) >
<!ELEMENT NAME ( #PCDATA ) >
<!ELEMENT OFFSITE ( #PCDATA ) >
<!ELEMENT OUTLINECOLOR ( #PCDATA ) >
<!ELEMENT QUERY ( EXPRESSION, TEMPLATE, JOIN ) >
<!ELEMENT QUERYITEM ( #PCDATA ) >
<!ELEMENT REFERENCE ( IMAGE, EXTENT, COLOR, OUTLINECOLOR ) >
<!ATTLIST REFERENCE STATUS NMTOKEN #REQUIRED >
<!ELEMENT SCALEBAR ( IMAGECOLOR, LABEL, SIZE, COLOR, BACKGROUNDCOLOR, OUTLINECOLOR, UNITS, INTERVALS ) ><!ATTLIST SCALEBAR STATUS NMTOKEN #REQUIRED >
<!ELEMENT SHADESET ( #PCDATA ) >
<!ELEMENT SHAPEPATH ( #PCDATA ) >
<!ELEMENT SIZE ( #PCDATA ) >
<!ELEMENT SYMBOL ( #PCDATA ) >
<!ELEMENT SYMBOLSCALE ( #PCDATA ) >
<!ELEMENT TEMPLATE ( #PCDATA ) >
<!ELEMENT TOLERANCE ( #PCDATA ) >
<!ELEMENT TYPE ( #PCDATA ) >
<!ELEMENT UNITS ( #PCDATA ) >
<!ELEMENT WEB ( HEADER, TEMPLATE, MINSCALE, MAXSCALE, IMAGEPATH, IMAGEURL ) >


More information about the mapserver-users mailing list