コンパイラによって実装される <mx:XML> タグ


<mx:XML> タグは、テキストモデルから XML オブジェクトまたは XMLNode オブジェクトを生成するコンパイル時タグです。このタグには、Flash クラスで直接は提供されない次のような機能があります。

MXML のシンタックス

<mx:XML> タグは、Flex アプリケーションファイルまたは MXML コンポーネントファイル内に挿入できます。<mx:XML> タグは、別のコンポーネントから参照される id 属性値を保持している必要があります。<mx:XML> タグが <mx:dataProvider> タグの直接の子である場合、id 属性値は不要です。タグ本体には、すべての子ノードを含む単一のルートノードがある必要があります。<mx:XML> タグを MXML コンポーネントのルートタグにはできません。タグで Flash XML または XMLNode クラスのプロパティを指定することはできません。これらは ActionScript で指定する必要があります。

<mx:XML> タグのシンタックスは次のとおりです。

    <mx:XML
       id="modelID"
       format="e4x|xml">
          <root>
             child nodes
          </root>
    </mx:XML> 

または

    <mx:XML
       id="modelID"
       format="e4x|xml"
       source="fileName"
       />

デフォルトの format プロパティ値 e4x では XML オブジェクトが作成され、ECMA-357仕様(E4X)で定義されている XML 処理規格が実装されます。後方互換性のため、format プロパティを xml に設定すると、flash.xml.XMLNode 型のオブジェクトを生成できます。

source プロパティはデータモデルの外部ソース(ファイルなど)を指定します。外部ソースには、静的データおよびデータバインディング式を含めることができます。コンパイラはソース値を読み取り、ソースをアプリケーションにコンパイルします。source 値は実行時には読み取られません。

次の例では、 タグを使用して MenuBar コントロールのモデルを定義します。

    <?xml version="1.0"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#FFFFFF">
    
        <mx:XML format="e4x" id="myMenuModel">
            <root label="Menu">
            <menuitem label="MenuItem A">
                <menuitem label="SubMenuItem 1-A"/>
                <menuitem label="SubMenuItem 2-A" />
            </menuitem>
            <menuitem label="MenuItem B"/>
            <menuitem label="MenuItem C" type="check"/>
            <menuitem type="separator"/>
            <menuitem label="MenuItem D">
                <menuitem label="SubMenuItem 1-D" type="radio" groupName="one"/>
                <menuitem label="SubMenuItem 2-D" type="radio" groupName="one"/>
                <menuitem label="SubMenuItem 3-D" type="radio" groupName="one"/>
            </menuitem>
            </root>
        </mx:XML>
    
    
        <mx:MenuBar id="myMenu" labelField="@label" showRoot="true">
            <mx:dataProvider>
                {myMenuModel}
            </mx:dataProvider>
        </mx:MenuBar>
    
    </mx:Application>




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mxml/xml.html