Macromedia Flash非公式テクニカルノート XMLNode.attributesプロパティ
|
ID: FN0509002 | Product: Flash |
Platform: All
Version: Flash 5 and above
シンタックス[*1]
my_xmlnode.attributes: Object
[*1] attributesは、XMLNodeクラスのプロパティです。XMLクラスは、XMLNodeクラスを継承しています。ActionScript定義済みクラスのActionScript 2.0クラス定義ファイルを格納するClassesフォルダには、XMLNode.asがあり、つぎのようなintrinsicクラスが定義されています(抜粋)。 スクリプト001■XMLNode.asファイル内のintrinsicクラス定義
XMLNode.attributesプロパティは、Object型で宣言されています。Flash MX 2004オンラインヘルプで、XML.attributesプロバティがArray型とされているのは誤りです(Macromedia LiveDocs Flash MX 2004のXML.attributesの項に加えられたFrancis Cheng氏による2005年1月19日付コメントを参照)。 |
説明
プロパティ; 指定のXMLまたはXMLNodeインスタンスに設定された属性すべてを格納するオブジェクト[*2]。XMLNode.attributesオブジェクトに対して、属性の名前がプロパティ名、属性値はプロパティ値として保持されます。XMLデータはテキストですので、属性値すなわちプロパティ値は文字列です。
XMLエレメントに設定された属性をすべて取出すには、オブジェクトのプロパティを調べるfor..inステートメントを用います。エレメントに属性がない場合、XMLNode.attributesプロパティは空のオブジェクトを返します。
[*2] Flash MX 2004オンラインヘルプのXML.attributesの項には、「結合配列」と説明されています。原文の"associateve array"は、通常「連想配列」と訳されます。エレメントに対して、インデックス番号でなく、名前を指定して値が取出せるオブジェクトをいいます。ActionScriptでは、Objectインスタンスがこれに当たります。 したがって、XMLNode.attributesプロパティを連想配列と考えること自体は、誤りとはいえません。しかし、Arrayインスタンスの配列と誤解を招きやすく、連想配列と呼ぶ利点はとくに考えられません。 |
例
つぎの例は、XMLインスタンスを作成し、エレメントを取出したうえで、属性を操作します。
// XMLインスタンスの作成 |
Player
Flash Player 5以降。
参考
Flash MX 2004 ActionScript Language Reference: XML.attributes。
_____
作成者: 野中文雄
作成日: 2005年9月7日