MXML是一个可以让你在Adobe Flex中布局用户界面组件的一种XML(
标准通用标记语言下的一个
子集)语言。你也可以使用MXML声明来定义程序中的非可视化组件,比如 对服务器端
数据源的访问以及用户界面组件和数据源之间的
数据绑定。 MXML标签与ActionScript类或者类中的属性是相对应的。当你编译你的Flex应用程序的时候,Flex解析你的MXML标签并且生成相应的 ActionScript类。然后这些ActionScript类会被编译成SWF
字节码存储到一个
SWF文件中。
基本信息
MXML 首字母 M 代表 Macromedia 公司,Macromedia 公司 创造了 Flex ,Macromedia 公司在 2005 年被 Adobe 收购。
mx前缀把在mx命名空间中的每个组件映射到它的完全限定类名。这就是为什么Flex
编译器可以在找到与mx命名空间中的MXML标签相对应的ActionScript类。
MXML区分大小写,且文件名和变量标示名都区分大小写。
通常情况下,flex程序以下三个文件组成:
以mxml为后缀的程序文件
以as为后缀的ActionScript文件
以css为后缀的样式表文件
概述
Flex 记录点滴 关于MXML
MXML是一个可以让你在Adobe Flex中布局用户界面组件的一种XML语言。你也可以使用MXML声明来定义程序中的非可视化组件,比如
对服务器端数据源的访问以及用户界面组件和数据源之间的
数据绑定。
MXML标签与ActionScript类或者类中的属性是相对应的。当你编译你的Flex应用程序的时候,Flex解析你的MXML标签并且生成相应的
ActionScript类。然后这些ActionScript类会被编译成SWF字节码存储到一个
SWF文件中。
标签中的 mx前缀是一个命名空间。它是通过在Application标签中使用一个独一无二的URL来声明的。mx前缀把在mx命名
空间中的每个组件映射到它的完全限定类名。这就是为什么Flex编译器可以在找到与mx命名空间中的MXML标签相对应的ActionScript
类。
MXML区分大小写,且文件名和变量标示名都区分大小写。
每个MXML文件必须以小写的“mxml”作为后缀,文件名要遵循ActionScript中变量的命名规则。
在ActionScript中,变量名必须以字母或下划线开始,且只能包含字母、数字、和下划线。
MXML文件不能命名为”application”,”application”是主程序文件所采用的默认标记,不可以再被使用,也不能和程序中任一组件的id值同名。
不可以用mx做为目录名,“mx”是Flex Framework的官方组件库的命名空间,受到flex编译码的保护。
代码示例
编译标签
:绑定标签,用来进行在MXML代码中的数据绑定工作。 :组件标签,定义一个文件内部可视组件的实体。
:元数据标签,提供给flex编译器关于如何使用MXML组件信息。 :模式标签,在MXML代码中定义数据模式。
:ActionScript标签,用来嵌入ActionScript代码。
:样式标签,用来嵌入样式表单。
:MXL标签,是编译时的标签,用来从文本模式产生XML对象或XMLNode对象。
:XMLList标签,是编译时的标签,用来欧诺个包含有效的XML节点的文本模式来产生一个XMList对象。
:WebSerive的操作标签,用来定义WebSerive的操作。
:WebSerive的操作标签的需求项,用来定义WebSerive操作的所有需求项。
:RemoteObject的方法标签,用来定义RemoteObject所使用的方法。
:RemoteObject的方法标签的参数,用来定义RemoteObject所使用的方法的参数。
标签规则
MXML 标签具有以下的语法要求:
口 不是所有标签都要求有id属性。
口 所有的根标签都不能有id属性。
口 布尔属性只有true和false两个值。
口 :要求有source和destination属性,不能有id属性。
口 标签要求wsdl和serviceName中的其中一项,但不能同时出现两项。