当我们新建一个工程,新建一个mxml文件,ide会默认的给你加上两行代码,如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
</mx:Application>
理解如下:
1,第一行,因为mxml是标准的xml语言,而这行是xml的文档类型声明,所以mxml必须包含这些
2,第二行,分几部分:
首先,mx:Application这个表示外层容器,也是就是flex应用程序所有内同的拥有者,一个flex应用程序只能有一个mx:Application
其次,xmlns:mx="http://www.adobe.com/2006/mxml" 此定义了flex标签所在的命名空间,此代码定义了mx前缀与一组标签相关联。该属性值是xml属于中得URI(统一资源标示符)。在flex-config.xml等配置文件中,会将该uri与所谓的清单文件相关联,该清单文件包含了所有使用mx前缀的合法标签,清单文件位于:D:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\mxml-manifest.xml
说到这里,不得不提到另一个概念,那就是命名空间。何为命名空间?我的理解是:
一个人写的定义的变量和另一个人定义的变量如果相同,该如何区别呢?也许你会说,我们写代码互不相关,有何不可。但是当我们使用的基本库的变量或者函数的时候要用到某一个函数,而这个函数有重名,这样就不好引用了。命名空间说白了就是自己定义的空间,你可以在里定义你想要的东西。别人想引用你的话,必须先注明使用你命名空间,里面的东西方可使用。
举个更通俗的例子,比如说“万安”这个地市,在中国有多个“万安”,如果是福建的万安,你必须说明是福建的,那么这个福建就可以理解为命名空间。
xmlns:mx如何理解?
xmlns是定义命名空间,mx则是空间名称。
再举个例子。
比如在一个文档<table>wood table</table\>中<table>表示桌子,
而在另一个文档<table>namelist</table>中<table>表示表格。如果我需要同时处理这两个文档,就会发生名字冲突。
为了解决这个问题,我们引进了命名空间这个概念。命名空间通过给标识名称加一个网址(URI)定位的方法来区别这些名称相同的标识。
命名空间同样需要在XML文档的开头部分声明,声明的语法如下:
<document xmlns:yourname='URI'>
其中yourname是由你定义的命名空间的名称,URI就是名字空间的网址。
假设上面的"桌子<table>"文档来自http://www.zhuozi.com,我们就可以声明为
<document xmlns:zhuozi='http://www.zhuozi.com'>
然后在后面的标识中使用定义好的名字空间:
<zhuozi:table>wood table</table>
这样就将这两个<table>区分开来。
还有一点你也许会困惑,http://www.adobe.com/2006/mxml这个有什么用,程序回去读取么?
程序并不是真的要去这里读取什么,只是作为一种标志。
最后,说下layout="absolute"作用是页面程序如何布局,absolute的作用是需要将该应用程序下所有元素设置x和y坐标
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
</mx:Application>
理解如下:
1,第一行,因为mxml是标准的xml语言,而这行是xml的文档类型声明,所以mxml必须包含这些
2,第二行,分几部分:
首先,mx:Application这个表示外层容器,也是就是flex应用程序所有内同的拥有者,一个flex应用程序只能有一个mx:Application
其次,xmlns:mx="http://www.adobe.com/2006/mxml" 此定义了flex标签所在的命名空间,此代码定义了mx前缀与一组标签相关联。该属性值是xml属于中得URI(统一资源标示符)。在flex-config.xml等配置文件中,会将该uri与所谓的清单文件相关联,该清单文件包含了所有使用mx前缀的合法标签,清单文件位于:D:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\mxml-manifest.xml
说到这里,不得不提到另一个概念,那就是命名空间。何为命名空间?我的理解是:
一个人写的定义的变量和另一个人定义的变量如果相同,该如何区别呢?也许你会说,我们写代码互不相关,有何不可。但是当我们使用的基本库的变量或者函数的时候要用到某一个函数,而这个函数有重名,这样就不好引用了。命名空间说白了就是自己定义的空间,你可以在里定义你想要的东西。别人想引用你的话,必须先注明使用你命名空间,里面的东西方可使用。
举个更通俗的例子,比如说“万安”这个地市,在中国有多个“万安”,如果是福建的万安,你必须说明是福建的,那么这个福建就可以理解为命名空间。
xmlns:mx如何理解?
xmlns是定义命名空间,mx则是空间名称。
再举个例子。
比如在一个文档<table>wood table</table\>中<table>表示桌子,
而在另一个文档<table>namelist</table>中<table>表示表格。如果我需要同时处理这两个文档,就会发生名字冲突。
为了解决这个问题,我们引进了命名空间这个概念。命名空间通过给标识名称加一个网址(URI)定位的方法来区别这些名称相同的标识。
命名空间同样需要在XML文档的开头部分声明,声明的语法如下:
<document xmlns:yourname='URI'>
其中yourname是由你定义的命名空间的名称,URI就是名字空间的网址。
假设上面的"桌子<table>"文档来自http://www.zhuozi.com,我们就可以声明为
<document xmlns:zhuozi='http://www.zhuozi.com'>
然后在后面的标识中使用定义好的名字空间:
<zhuozi:table>wood table</table>
这样就将这两个<table>区分开来。
还有一点你也许会困惑,http://www.adobe.com/2006/mxml这个有什么用,程序回去读取么?
程序并不是真的要去这里读取什么,只是作为一种标志。
最后,说下layout="absolute"作用是页面程序如何布局,absolute的作用是需要将该应用程序下所有元素设置x和y坐标