MS RFC 51:XML Mapfile 格式¶
- 日期
2009/01/16
- 作者
艾伦布德罗
- 联系方式
地图齿轮网的Aboudreault
- 最后编辑
2009/03/09
- 版本
MAPServer 6
概述¶
目前,mapserver只支持由flex解析的普通map文件。当前的map文件由mapserver快速解析,但由于解析器的复杂性,其他任何软件都无法解析。因此,构建 Mapfile 的客户机接口很难实现。
我们试图解决的需求是能够构建 Mapfile 编辑器,这将由XML Mapfile 格式的存在所促进(因为当前的映射文件格式使得无法编写向前兼容的解析器)。XML被视为一种解决方案,它可以为 Mapfile 提供严格的语法,以便对XML模式进行强验证。
此RFC建议添加XML Mapfile 支持。
技术解决方案¶
我们决定暂时开发一个XML模式和一个XSLT来从XML转换为文本 Mapfile 。如果新的XML格式开始流行,那么我们可以考虑在未来的版本中直接在MapServer中实现对它的支持。
Mapfile¶
XML Mapfile 层定义(原型)示例:
<Layer>
<name>popplace</name>
<type>POINT</type>
<debug>5</debug>
<status>ON</status>
<Metadata>
<item name="DESCRIPTION">Cities</item>
<item name="TEST">TESTING</item>
<item name="RESULT_FIELDS">NAME</item>
</Metadata>
<data>popplace</data>
<labelItem>Name</labelItem>
<classItem>Capital</classItem>
<Class>
<name>Cities</name>
<expression>1</expression>
<template>ttt_query.html</template>
<symbol>2</symbol>
<size>8</size>
<Label type="TRUETYPE">
<colorAttribute>[COULEUR]</colorAttribute>
<font>sans</font>
<angle>0</angle>
<size>8</size>
<outlineColor red="255" green="255" blue="255"/>
</Label>
<color red="0" green="255" blue="0"/>
</Class>
<Class>
<name>Cities</name>
<expression>/2|3/</expression>
<template>ttt_query.html</template>
<tolerance>5</tolerance>
<Label type="TRUETYPE">
<colorAttribute>[COULEUR]</colorAttribute>
<font>[FONT]</font>
<angle>[ANGLE]</angle>
<size>8</size>
<outlineColor red="255" green="255" blue="255"/>
<position>AUTO</position>
<partials>FALSE</partials>
</Label>
<Style>
<symbol>7</symbol>
<size>6</size>
<colorAttribute>[COULEUR]</colorAttribute>
</Style>
</Class>
</Layer>
文档¶
TBD
向后不兼容¶
不需要任何问题。