mxml语法

第二章:mxml语法
基本的mxml语法
大多数mxml标签都符合as3的类和属性,flex解析mxml标签并编译成包含符合as对象的swf文件
as3使用的ECMAScript editon4规范,as3提供了如下功能:
类定义语法
包结构
变量,参数和返回值得类型
固有的使用get set主键的getters和setter
继承
公共和私有的成员变量
静态成员
自定义操作

命名mxml文件
mxml文件名符合如下的规范
1、文件名规则:必须以字母或者下划线开头,后面必须只能包含字母,数字,下划线
2、文件名不能和as3的类型相同,在mx命名空间不能id,application作为标签名字
3、文件扩展名必须小写的mxml

使用标签描述as类
一个mxml标签转换成一个as同名的类//TODO


设置组件属性
在mxml中属性使用同名的属性转换成as对象的属性,属性以小写字母打头
可以采用定义属性和定义子标签的方式来定义属性,比如
<mx:Label width="50" height="25" text="Hello World"/>
<mx:Label>
   <mx:width>50</mx:width>
   <mx:height>25</mx:height>
   <mx:text>Hello World</mx:text>
</mx:Label>
经常使用子标签的方式定义属性,因为他可以定义复杂的数据类型
子标签的定义方式必须匹配到组件定义的命名空间,前面写的mx是定义的标准的组件,所以使用mx命名空间
组件属性类型数值属性,数字或者字母
数组
as对象
as对象数组
as属性
xml
adobe推荐使用标签属性定义数值类型,子标签定义负责的类型,比如as对象等。

设置数值属性
使用常量设置属性
可以使用静态的常量来设置它的属性值,比如ScrollPolicy.OFF就是静态常量,off就是他的值
缺省属性
需要flex组件都制定了一个缺省的属性,在mxml中缺省属性标签是可以隐藏的,比如
<mx:someTag>
    Hello
</mx:someTag>
在这里呢就是一个隐藏得属性标签,相当于
<mx:someTag>
  <default_property>
    Hello
  </default_property>
</mx:someTag>
也相当于
<mx:someTag default_property="Hello"/>
使用反斜线转义字符
在mxml属性中可以采用转义字符,如果使用\字符,使用\\进行输入
换行
在mxml中使用&#13;或者\n
mxml中如何定义对象属性和对象数组属性,对象数组
包含xml数据
<mx:XML>
</mx:XML>
在mxml中设置样式和效果属性
在as中通过使用setStyle(stylename,value)要比使用object.prperty=value更合适,在as类中使用[Style]或者[Effect]
要比设置geter setter方法要好

设置事件属性
在mxml中制定事件监听函数,在mxml中定义事件监听属性,相当于as中的addEventListener()方法
在as类中定义[Event]属性要比定义geter/seter方法更合适

指定URL属性
<mx:Script source="uri"/>
制定正则表达式
编译标签
<mx:Binding>
<mx:Cmponent>
<mx:MetaData>
<mx:Model>
<mx:Script>
<mx:Style>
<mx:XML>
<mx:XMLList>
以及小写的
<mx:operation>
<mx:request>
<mx:method>
<mx:arguments>

mxml标签规则
mxml有如下要求
id属性不是必须的
id属性在根标签中不能使用
Boolean属性只能包含true和false值
<mx:Binding>要求有sourcedestination属性
<mx:Binding>不能包含id属性
<mx:WebService>要求wsdl值或者destination属性,不能同时存在
<mx:RemoteObject>要求一个source或者named属性,不能同时存在
<mx:Httpservice>要求有url或者destination属性,不能同时存在
<mx:operation>要求一个name属性,不允许有重复的name实体,不能包含id属性
<mx:method>要求name属性,不允许有重复的name实体,不能包含id属

你可能感兴趣的:(xml,正则表达式,webservice,Flex,Adobe)