ArcIMS初级教程(三)第七章定制AXL文件(一 )
时间:2007-08-18 来源:iceglacier
AXL是客户端浏览器与ArcIMS空间服务器之间进行通讯的语言。AXL语言是一种XML语言,有关其细节可以查看本书的附录--AXL语言参考手册。通过Author创建的AXL文件只是一些简单的编码。而要想对地图内容进行定制,可以对AXL文件进行编辑,使之提供更多的内容。通过定制,AXL文件可以增加对地图投影、AciInfo Grids、SQL查询、ture type字体符号以及复杂专题图显示等的支持。
XML(eXtensible Markup Language)可扩展标识语
XML是一种语言,就象罗曼语是一种口语一样。人们一般不直接使用XML语言,而是使用XML语言的某种特殊类型的语支。在ArcIMS中,这一特殊的语支就是AXL语言--ArcIMS Extensible Language。
XML语言与HTML语言有很多相似之处。它们都使用<>号包围的标签来定义功能,有些标签需嵌套在别的标签里面,每个标签又有一些属性来定义其作用。XML语言并不是象HTML那样创建文件以显示文本和图象的。实际上,XML语言允许用户创建自己的一套标签来建立某些功能。XML解析器是一个用来阅读、解析XML请求,并实现本月应操作的软件。
XML语言近年来在网站开发界受到了极大的欢迎。这是由于XML提供了强大的自定义标签的功能,能够显示在许多HTML中太复杂甚至不可能实现的功能。它已越来越成为一种行业的标准。
HTML与XML对比
HTML与XML之间最大的不同在于使用标签的灵活性。HTML已经建立了上百个标签集允许用户用来显示图形和文本。通过JavaScript使用动态HTML语言还可以建立更加复杂的网页。尽管如此,HTML语言本身还是具有很大限制性,不能满足对一些新功能的需求。网站程序员不能自己定义标签,而只能使用由国际万维网协会承认的标准标签,或在某一浏览器软件中使用该软件自己定义的标签。当然,象Internet Explorer和Netscape Navigator这样的浏览器可以有它们自己定义的标签,但正是这一点直接威胁到了HTML语言的通用性--对其它各种类型浏览器识别标签并进行显示的能力。而XML语言正可以解决这些问题。
有了XML语言,程序员可以使用一种简单易懂的层次结构,定义一系列标签及其功能。由于XML语言并不是在浏览器中解释的,所以不受浏览器类型的限制。因此可以说,HTML语言定义的是如何显示内容而XML语言定义的是内容本身。尽管这种精确的定义不可避免地会出现一些重复,但仍可很好地用未定义以地图为中心的AXL。
现在,互联网有许多关于XML语言的资源及其作用的讨论。还有一本专门讨论XML语言开发的杂志。
ArcXML--AXL
就象意大利语是罗曼语中的一种一样,AXL是专门用在ArcIMS中的一种XML语言。我们前面所见的AXL文件,是Author的输出,并作为MapService的 AXL文件。MapService AXL文件描述了AXL文件和地图服务之间的关系--每个地图服务都指向了一个AXL文件。与其文件名相异的另一个AXL文件是default.axl。default.axl是在Designer中创建Java浏览器的网页时的最终输出,我们在第九章中还会详细讲到。
MapService AXL文件是服务器用来为客户请求定义图层和专题显示的。但是AXL文件本身要比MapService AXL和default.axl文件要深入得多。客户端请求本身也是一种交给服务器解析的AXL代码。此外,所有的服务器产生的响应也是AXL文件格式,并由客户端的脚本进行解析。
AXL手册
本书附录中提供了有关所有AXL标签的AXL手册。在查看这本手册时应注意理解,有些标签只能在MapService AXL或ArcIMS体系中其它组件中使用,而有些标签则是通用的。就象HTML一样,标签也包含了许多属性,正确地理解和使用这些属性将有助于产生预期的效果。
AXL文件示例
从上面这个例子中可以看出,AXL语言的层次结构以及它和HTML的一些相似和不同之处。与HTML不同的是,AXL要求每个标签都必须以</>结束。有些标签如<MAPUNITS……./>以缩略的形式直接包含了头标识和尾标识。此外,XML还要求标签中包含的属性值必须用双引号并且只能用小写,而在HTML中则是可选的并且通常加以忽略。与HTML一样的是,XML采用缩进式书写规范,是为了方便人工阅读。
节标签
MapService AXL文件的最前面的两个标签(<?xml>和<ARCXML>)定义了所使用的XML和AXL的版本。这些标签被称为头标签或节标签,与XML有密切的关系。所有的节标签都有子标签,是一组更具联系的信息的分界线。可以把它想象成三明治的面包片--它们为里面的夹心提供了"容器"。
CONFIG标签是类标签,里面包含了其它一些标签如MAP标签。MAP标签是任何MapService AXL文件中的事务部分。它里面所包含的一些次一级标签定义了地图的开始范围、地图单位、工作空间以及每个图层的专题显示信息等等。
PROPERTIES标签是用来确定地图服务的一些一般属性的,如投影等。WORKSPACE标签则指明了Shapefiles和影像文件所在文件夹的位置。如果数据被移动到新的位置,必须在AXL文件中人为地改动数据路径,以保证能够准确地找到所要的文件。
上面显示的最后一个标签--LAYER标签包含了在Author中定义的所有有关专题显示的信息,包括注记与组合专题图等。
相关阅读 更多 +