絕大多數(shù)MXML標(biāo)識(shí)符合AS2.0規(guī)范,MXML文件編譯產(chǎn)生的SWF文件包含相應(yīng)的AS對(duì)象。
AS2.0是一種面向?qū)ο蟮恼Z(yǔ)言,符合ECMAScript第4版規(guī)范。
MXML文件的命名規(guī)范:
1 : 必須符合AS的命名規(guī)范,以字母或下劃線(xiàn)開(kāi)頭;
2 : 不得使用AS的類(lèi)名、組件ID標(biāo)識(shí)和命名空間的MXML標(biāo)識(shí)作為文件名;
3 : 文件名必須用小寫(xiě)的.mxml作為后綴名。
在MXML文件中,組件的屬性使用和AS類(lèi)相同的命名約定,以小寫(xiě)字母開(kāi)頭,每個(gè)單詞的開(kāi)頭字母大寫(xiě)。你可以有兩種方式設(shè)置屬性的值:使用標(biāo)記的屬性或者子節(jié)點(diǎn)標(biāo)記。Macromedia推薦使用標(biāo)記的屬性來(lái)設(shè)置一般組件屬性,復(fù)雜的組件屬性用子節(jié)點(diǎn)來(lái)完成。MXML的組件屬性包含如下:
標(biāo)量屬性(包括數(shù)字及字符串)
如:
<Label width='50' height='25' text='Hello World'/>
注意:屬性的值不能包含@符號(hào)
數(shù)組屬性
<mx:List>
<mx:dataProvider>
<mx:Array>
<mx:Number>94062</mx:Number>
<mx:Number>14850</mx:Number>
<mx:Number>53402</mx:Number>
</mx:Array>
</mx:dataProvider>
</mx:List>
腳本對(duì)象
因?yàn)槟_本對(duì)象比較復(fù)雜,所以一般使用子節(jié)點(diǎn)的方式來(lái)設(shè)置屬性的值,如:
<mynamespace:MyComponent>
<mynamespace:nameOfProperty>
<objectType prop1='val1' prop2='val2'/>
</mynamespace:nameOfProperty>
</mynamespace:MyComponent>
腳本對(duì)象數(shù)組
<mynamespace:MyComponent>
<mynamespace:dataProvider>
<mx:Array>
<mynamespace:ListItem label='One' data='1'/>
<mynamespace:ListItem label='Two' data='2'/>
</mx:Array>
</mynamespace:dataProvider>
</mynamespace:MyComponent>
XML數(shù)據(jù)
<mynamespace:MyComponent>
<mynamespace:value xmlns:a='http://www.example.com/myschema'>
<mx:XML>
<a:purchaseorder>
<a:billingaddress>
...
</a:billingaddress>
...
</a:purchaseorder>
</mx:XML>
</mynamespace:value>
</mynamespace:MyComponent>
樣式屬性
主要進(jìn)行組件的樣式控制,如
<mx:TextArea id='myText' text='hello world' fontFamily='Tahoma'/>
//和下面的AS代碼是等效的
myText.text= 'hello world';
myText.setStyle('fontFamily', 'Tahoma');
編譯標(biāo)記
編譯標(biāo)記并不直接對(duì)應(yīng)AS類(lèi)或其屬性,主要有:
<mx:Binding>
<mx:Effect>
<mx:Model>
<mx:Script>
<mx:Style>
<mx:Metadata>
<mx:operation>
<mx:request>
<mx:method>
<mx:arguments>
注意編譯標(biāo)記的大小寫(xiě)
其它注意事項(xiàng)
01 : id屬性并不是每個(gè)MXML標(biāo)記必須的;
02 : MXML的根標(biāo)記不支持id屬性;
03 : 布爾屬性的值只允許true或false;
04 : 標(biāo)記必須同時(shí)包含source和destination屬性,并且不能包含id屬性;
05 : 標(biāo)記的field屬性是必須的,并且不能包含id屬性;
06 : 標(biāo)記必須包含wsdl或者serviceName屬性,并且不能同時(shí)使用;
07 : 標(biāo)記必須包含source或者named屬性,并且不能同時(shí)使用;
08 : 標(biāo)記必須包含url或者serviceName屬性,并且不能同時(shí)使用;
09 : 標(biāo)記必須包含name屬性,并且不能包含id屬性;
10 : 標(biāo)記必須包含name屬性,并且不能包含id屬性。
AS2.0是一種面向?qū)ο蟮恼Z(yǔ)言,符合ECMAScript第4版規(guī)范。
MXML文件的命名規(guī)范:
1 : 必須符合AS的命名規(guī)范,以字母或下劃線(xiàn)開(kāi)頭;
2 : 不得使用AS的類(lèi)名、組件ID標(biāo)識(shí)和命名空間的MXML標(biāo)識(shí)作為文件名;
3 : 文件名必須用小寫(xiě)的.mxml作為后綴名。
在MXML文件中,組件的屬性使用和AS類(lèi)相同的命名約定,以小寫(xiě)字母開(kāi)頭,每個(gè)單詞的開(kāi)頭字母大寫(xiě)。你可以有兩種方式設(shè)置屬性的值:使用標(biāo)記的屬性或者子節(jié)點(diǎn)標(biāo)記。Macromedia推薦使用標(biāo)記的屬性來(lái)設(shè)置一般組件屬性,復(fù)雜的組件屬性用子節(jié)點(diǎn)來(lái)完成。MXML的組件屬性包含如下:
標(biāo)量屬性(包括數(shù)字及字符串)
如:
<Label width='50' height='25' text='Hello World'/>
注意:屬性的值不能包含@符號(hào)
數(shù)組屬性
<mx:List>
<mx:dataProvider>
<mx:Array>
<mx:Number>94062</mx:Number>
<mx:Number>14850</mx:Number>
<mx:Number>53402</mx:Number>
</mx:Array>
</mx:dataProvider>
</mx:List>
腳本對(duì)象
因?yàn)槟_本對(duì)象比較復(fù)雜,所以一般使用子節(jié)點(diǎn)的方式來(lái)設(shè)置屬性的值,如:
<mynamespace:MyComponent>
<mynamespace:nameOfProperty>
<objectType prop1='val1' prop2='val2'/>
</mynamespace:nameOfProperty>
</mynamespace:MyComponent>
腳本對(duì)象數(shù)組
<mynamespace:MyComponent>
<mynamespace:dataProvider>
<mx:Array>
<mynamespace:ListItem label='One' data='1'/>
<mynamespace:ListItem label='Two' data='2'/>
</mx:Array>
</mynamespace:dataProvider>
</mynamespace:MyComponent>
XML數(shù)據(jù)
<mynamespace:MyComponent>
<mynamespace:value xmlns:a='http://www.example.com/myschema'>
<mx:XML>
<a:purchaseorder>
<a:billingaddress>
...
</a:billingaddress>
...
</a:purchaseorder>
</mx:XML>
</mynamespace:value>
</mynamespace:MyComponent>
樣式屬性
主要進(jìn)行組件的樣式控制,如
<mx:TextArea id='myText' text='hello world' fontFamily='Tahoma'/>
//和下面的AS代碼是等效的
myText.text= 'hello world';
myText.setStyle('fontFamily', 'Tahoma');
編譯標(biāo)記
編譯標(biāo)記并不直接對(duì)應(yīng)AS類(lèi)或其屬性,主要有:
<mx:Binding>
<mx:Effect>
<mx:Model>
<mx:Script>
<mx:Style>
<mx:Metadata>
<mx:operation>
<mx:request>
<mx:method>
<mx:arguments>
注意編譯標(biāo)記的大小寫(xiě)
其它注意事項(xiàng)
01 : id屬性并不是每個(gè)MXML標(biāo)記必須的;
02 : MXML的根標(biāo)記不支持id屬性;
03 : 布爾屬性的值只允許true或false;
04 : 標(biāo)記必須同時(shí)包含source和destination屬性,并且不能包含id屬性;
05 : 標(biāo)記的field屬性是必須的,并且不能包含id屬性;
06 : 標(biāo)記必須包含wsdl或者serviceName屬性,并且不能同時(shí)使用;
07 : 標(biāo)記必須包含source或者named屬性,并且不能同時(shí)使用;
08 : 標(biāo)記必須包含url或者serviceName屬性,并且不能同時(shí)使用;
09 : 標(biāo)記必須包含name屬性,并且不能包含id屬性;
10 : 標(biāo)記必須包含name屬性,并且不能包含id屬性。