Flex xmlns 命名空间详解

xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:s="library://ns.adobe.com/flex/spark"

1、 xmlns:fx="http://ns.adobe.com/mxml/2009"
定义了顶级的ActionScript 3.0一些顶级的方法、全局函数和全局常量等内容。
例如我们常用的一些数据类型:Number、int、Boolean、Array、 String等。
在《Adobe Flex 4 Beta Language Reference》里面的这个链接中会有详细描述。
关于 这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks\4.0.0\frameworks\mxml-2009-manifest.xml里面。

2、 xmlns:mx="library://ns.adobe.com/flex/halo"
使用过Flex SDK 2 和 Flex SDK 3的朋友就不会陌生了,这个命名空间(NameSpace)里面的内容是mx.*下面的全部内容,请注意一下,其中halo的名字就是Flex SDK 2 和 Flex SDK 3里面默认的CSS样式。
关于这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks\4.0.0\frameworks\halo-manifest.xml里面。

3、 xmlns:s="library://ns.adobe.com/flex/spark"
这是Flex SDK 4(Gumbo)里面新增加的组件库。包含了Flex SDK 4(Gumbo)里面全部的spark.* 和 flashx.* packages里面的部分内容(text framework class)
关于这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks\4.0.0\frameworks\spark-manifest.xml里面。

其中的一些我认 为必要了解的内容:
1、xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"是平级的,而xmlns:fx="http: //ns.adobe.com/mxml/2009"是ActionScript 3.0顶级的内容。也就是说,如果在某一个Project里面只使用halo的话,则可以在Application里面去掉spark的定义。(反之亦 然)

2、xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"其中有一部分是公用的,这点请大家注意一下(关于为什么是公用 的,我猜测是为了让Flex SDK 2 和 Flex SDK 3迁移到Flex SDK 4(Gumbo)的过程更方便一些造成的。)

3、 xmlns:fx="http://ns.adobe.com/mxml/2009"保留Flex SDK 2 和 Flex SDK 3时代的一些顶级包以外,还新增加了一些标签, 如:<Declarations>、<DesignLayer><Library><Private><Reparent>

4、 当需要定义一个在xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"都存在的组件或者意义相同的组件,Adobe建议使用 spark,而不是原来的halo。

PS:本篇文章部分内容来自Using ADOBE® FLEX® 4 和 ADOBE FLEX  Gumbo Preview Release Features and Migration Guide 这两篇Adobe的文档。

你可能感兴趣的:(Flex)