KML语法规则
和任何程序和脚本语言一样,KML有一些必须遵循的语法规则.
文档结构
一个KML文档应该完全遵循KML格式,文档也和基本的XML语法规则差不多,有以下几点要特别注意的地方.
XML标签必须关闭
XML标签是大小写敏感的
对于KML语法,首字母大写的标签是复合标签,否则就是单一标签,在实体和标签介绍之中有更多相关信息.
XML标签必须正确嵌套
XML文档必须只有一个根标签
对于KML文件,这意味着你可以使用
属性必须用引号包围起来
CR/LF(回车符)被认为是插入一个新行(在HTML描述之中,被转化为
)
XML的注释方法和HTML是一样的
要了解更多信息,可以去查阅XML参考文档或语法向导.如果你的KML文档结构不符合XML文档规范,将会在Google Earth中产生一个解析错误的对话框 (查看http://www.w3.org/XML/ 了解根多关于XML的信息.)
注意: XML Schema 验证还没有被Google Earth支持.
标记类型
有两种基本的KML标记类型: 单一标签和复合标签.复合标签的标签名首字母是大写的,而单一标签都是小写的,复合标签能够作为其他标签(单一标签或复合标签)的父元素, ,而单一标签只能是其他复合标签的子元素,而自身不能包含其他元素.
字符串
在KML文件中的任何字符串,例如 name 和 description标签中的值,都可以是utf-8或者Unicode编码的字符串.
KML标签列表
这一节包含所有能用的KML标签的参考,按字母顺序排列,每一段列出了该标签正确的大小写格式,类型、值和层次.
单一标签.是
值:
代表一个点所在位置或邮政编码的字符串.
父元素:
被以下元素包含:
子元素:
无.
值:
clampedToGround、relativeToGround或absolute.
父元素:
被以下元素包含:
子元素:
无.
单一标签.是
1876-08-01
值:
使用UTC(Coordinated Universal Time)格式的日期时间 .查看
父元素:
被以下元素包含:
子元素:
包含:
单一标签,代表一个32位的16进制颜色值.
值:
The standard range from 00000000 to ffffffff
父元素:
被以下元素包含:
子元素:
无.
单一标签,可以是是任何几何形状的子元素,定义每一个点的经度、纬度和高度(按照严格的顺序). 多个点使用空格隔开,经纬度按照WGS84标准.
-111.661,33.2212,0
值:
由点的坐标决定,经纬度的单位是度,而高度的单位是米(海拔).
注意:应该按照 经度,纬度,高度 这样的格式和顺序来设置,否则坐标可能会不准确.
父元素:
Contained by any geometry.
子元素:
无.
单一标签.提供描述信息.描述显示在用户点击该目录或标注时的弹出窗口中.
支持纯文本和HTML语法,如果其中包含有效的网址,则Google Earth会自动显示为一个连接T(例如http://www.google.com).而不需要使用任何标签
如果你使用任何的HTML语法,就必须使用字符实体引用或者CDATA来防止HTML字符如><被当作XML解析,下面的例子说明了description标签的用法:
Google Search!]]>
CDATA元素让KML解析器忽略其内部的特殊字符.按以下方式使用该元素:
如果你不喜欢使用CDATA元素,你也可以使用实体引用来替换所有的特殊字符.
值:
任意字符串
注意: description标签只是支持HTML格式化,并不支持其他的网络性能,比如脚本语言和Iframe.
父元素:
被以下元素包含:
子元素:
无.
kml文档的根元素.同时也是一个目录,可是它不是必需的,如果你的kml文件使用到了schemas和样式表,就一定要使用该标签.