パッケージトップレベル
クラスpublic final class QName
継承QName Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

QName オブジェクトは、XML エレメントの完全修飾名と属性を表します。各 QName オブジェクトには、ローカル名と名前空間 URI が付けられます。名前空間 URI の値が null の場合、QName オブジェクトはすべての名前空間に一致します。QName コンストラクタは、別の QName オブジェクトのコピーである新しい QName オブジェクトを作成したり、Namespace オブジェクトの uri と QName オブジェクトの localName を持つ新しい QName オブジェクトを作成する場合に使用します。

E4X 固有のメソッドでは、QName オブジェクトとストリングを同じように使用することができます。E4X メソッドは、QName、Namespace、XML、および XMLList の各クラスにあります。これらの E4X メソッドは、ストリングを受け取ると共に、QName オブジェクトを受け取ることもできます。この互換性によって、名前空間のサポートと XML.child() などのメソッドの連携が行われます。

XML、XMLList、Namespace などのクラスと同様、QName クラスには ECMAScript for XML(E4X)仕様(ECMA-357 Edition 2)で定義されている強力な XML 処理規格が実装されています。

完全修飾識別子は QName オブジェクトとして評価されます。名前空間を特定しないで XML エレメントの QName オブジェクトを指定した場合、関連付けられている QName オブジェクトの uri プロパティは、グローバルなデフォルトの名前空間に設定されます。名前空間を特定しないで XML 属性の QName オブジェクトを指定した場合、uri プロパティは空のストリングに設定されます。

例を表示

関連項目

XML
XMLList
Namespace
ECMAScript for XML (E4X) specification (ECMA-357 edition 2)


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  localName : String
[読み取り専用] QName オブジェクトのローカル名です。
QName
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  uri : String
[読み取り専用] QName オブジェクトの URI です。
QName
パブリックメソッド
 メソッド定義元
  
QName(uri:Namespace, localName:QName)
Namespace オブジェクトの URI オブジェクトと QName オブジェクトの localName を持つ QName オブジェクトを作成します。
QName
  
QName(qname:QName)
別の QName オブジェクトのコピーである QName オブジェクトを作成します。
QName
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
URI と QName オブジェクトのローカル名を "::" で区切ったストリングを返します。
QName
  
QName オブジェクトを返します。
QName
プロパティの詳細
localNameプロパティ
localName:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

QName オブジェクトのローカル名です。



実装
    public function get localName():String
uriプロパティ 
uri:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

QName オブジェクトの URI です。



実装
    public function get uri():String
コンストラクタの詳細
QName()コンストラクタ
public function QName(uri:Namespace, localName:QName)

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

Namespace オブジェクトの URI オブジェクトと QName オブジェクトの localName を持つ QName オブジェクトを作成します。いずれかのパラメータが目的のデータ型でない場合、パラメータはストリングに変換され、新しい QName オブジェクトの該当のプロパティに割り当てられます。例えば、両方のパラメータがストリングの場合、uri プロパティが最初のパラメータに設定され、localName プロパティが 2 番目のパラメータに設定された新しい QName オブジェクトが返されます。つまり、他の多くの順列と同様、次の順列がコントラクタで有効な形式となります。

QName (uri:Namespace, localName:String);
QName (uri:String, localName: QName);
QName (uri:String, localName: String);

nulluri パラメータに渡すと、新しい QName オブジェクトの uri プロパティは null に設定されます。

メモ : このクラスは、2 つのコンストラクタ項目を示しています。それぞれの形式が異なるパラメータを受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡されるパラメータの型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。

パラメータ
uri:Namespaceuri 値のコピー元の Namespace オブジェクトです。他のタイプのパラメータはストリングに変換されます。
 
localName:QNamelocalName 値のコピー元の QName オブジェクトです。他のタイプのパラメータはストリングに変換されます。
QName()コンストラクタ 
public function QName(qname:QName)

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

別の QName オブジェクトのコピーである QName オブジェクトを作成します。コンストラクタに渡されたパラメータが QName オブジェクトである場合、QName オブジェクトのコピーが作成されます。パラメータが QName オブジェクトでない場合、パラメータはストリングに変換され、新しい QName インスタンスの localName プロパティに割り当てられます。パラメータが undefined であるか未指定の場合、localName プロパティが空のストリングに設定された新しい QName オブジェクトが作成されます。

メモ : このクラスは、2 つのコンストラクタ項目を示しています。それぞれの形式が異なるパラメータを受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡されるパラメータの型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。

パラメータ
qname:QName — コピーする QName オブジェクトです。他のタイプのオブジェクトはストリングに変換され、新しい QName オブジェクトの localName プロパティに割り当てられます。
メソッドの詳細
toString()メソッド
AS3 function toString():String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

URI と QName オブジェクトのローカル名を "::" で区切ったストリングを返します。

形式は QName オブジェクトの uri プロパティによって決まります。

If uri == "" 
  toString returns localName
 else if uri == null
  toString returns *::localName 
 else
  toString returns uri::localName

戻り値
String — ストリングとしての完全修飾名です。
valueOf()メソッド 
AS3 function valueOf():QName

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

QName オブジェクトを返します。

戻り値
QName — QName インスタンスのプリミティブ値です。
例の使用法
QNameExample.as

次の例は、QName インスタンスを作成し、それを使用して XML エレメントを選択する方法を示しています。QName を作成する 2 つの方法を示します。
  1. Namespace インスタンスを作成し、それを QName コンストラクタへの入力として使用する。この方法は、Namespace.prefix プロパティを後で別の目的のために使用する場合に最適です。
  2. QName コンストラクタ内の uri パラメータに対して単純なストリング値を使用して QName インスタンスを作成する。

このコードは次の処理を行います。

  1. rssXML という名前の XML 変数を定義します。
  2. 接頭辞 dc を使用して新しい Namespace オブジェクトを作成します。
  3. その Namespace オブジェクトとローカル名 creator を使用して、新しい QName オブジェクトを作成します。
  4. showDescendants() メソッドを呼び出します。このメソッドは XML.descendants() メソッドを使用して、指定された QName インスタンスに一致する修飾名を持つすべての子孫エレメントを含む XMLList インスタンスを取得します。
  5. for each ループを使用して、リスト内の各エレメントの修飾語とテキスト値を表示します。
  6. uri パラメータとローカル名 date のストリング値を使用して、別の QName オブジェクトを作成します。
  7. showDescendants() メソッドを再び呼び出して、子孫エレメントの名前とテキスト値を表示します。
package
{
    import flash.display.Sprite;
    
    public class QNameExample extends Sprite
    {
        public function QNameExample()
        {
            var rssXML:XML =  <rdf:RDF
              xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
              xmlns="http://purl.org/rss/1.0/"
              xmlns:dc="http://purl.org/dc/elements/1.1/">
              <channel rdf:about="http://www.xml.com/cs/xml/query/q/19">
                <title>Test RSS</title>
                <link>http://www.adobe.com/</link>
                <description>This is a test RSS document.</description>
                <language>en-us</language>
                <items>
                  <rdf:Seq>
                <rdf:li rdf:resource="http://www.adobe.com/devnet/flash/"/>
                <rdf:li rdf:resource="http://www.adobe.com/devnet/flex/"/>
                  </rdf:Seq>
                </items>
              </channel>
              <item rdf:about="http://www.adobe.com/devnet/flash/">
                <title>Flash Developer Center</title>
                <link>http://www.adobe.com/devnet/flash/</link>
                <description>Welcome to the Flash Developer Center</description>
                <dc:creator>Adobe</dc:creator>
                <dc:date>2005-08-08</dc:date>    
              </item>
              <item rdf:about="http://www.adobe.com/devnet/flex/">
                <title>Flex Developer Center</title>
                <link>http://www.adobe.com/devnet/flex/</link>
                <description>Welcome to the Flex Developer Center</description>
                <dc:creator>Adobe</dc:creator>
                <dc:date>2005-10-16</dc:date>    
              </item>
            </rdf:RDF>;
            
            var dcNamespace:Namespace = new Namespace("dc", "http://purl.org/dc/elements/1.1/");
            var creatorQName:QName = new QName(dcNamespace, "creator");
            trace(creatorQName.uri); // http://purl.org/dc/elements/1.1/
            trace(creatorQName.localName); // creator
            
            showDescendants(rssXML, creatorQName);
            
            var dateQName:QName = new QName("http://purl.org/dc/elements/1.1/", "date");
            trace(dateQName.uri); // http://purl.org/dc/elements/1.1/
            trace(dateQName.localName); // date
            
            showDescendants(rssXML, dateQName);
        }
        
        public function showDescendants(xmlData:XML, qualifiedName:QName):void
        {
            var decendantList:XMLList = xmlData.descendants(qualifiedName);
            
            for each (var element:XML in decendantList)
            {
                trace(element.name()); // the fully qualified name, 
                                       // like "http://purl.org/dc/elements/1.1/::creator"
                trace(element); // the simple text value of each element, like "Adobe"
            }                
        }
    }
}




 

 

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

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