パッケージ | トップレベル |
クラス | public final class QName |
継承 | QName Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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
プロパティは空のストリングに設定されます。
詳細
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
localName : String [読み取り専用]
QName オブジェクトのローカル名です。 | QName | ||
uri : String [読み取り専用]
QName オブジェクトの URI です。 | QName |
メソッド | 定義元 | ||
---|---|---|---|
別の QName オブジェクトのコピーである QName オブジェクトを作成します。 | QName | ||
Namespace オブジェクトの URI と QName オブジェクトの localName を持つ QName オブジェクトを作成します。 | QName | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
URI と QName オブジェクトのローカル名を "::" で区切ったストリングを返します。 | QName | ||
QName オブジェクトを返します。 | QName |
localName | プロパティ |
uri | プロパティ |
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 プロパティに割り当てられます。
|
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);
null
を uri
パラメーターに渡すと、新しい QName オブジェクトの uri
プロパティは null
に設定されます。
注意:このクラスは、2 つのコンストラクター項目を示しています。それぞれの形式が異なるパラメーターを受け入れるためです。コンストラクターの動作は、各項目で詳細を示すように、渡されるパラメーターの型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクターのオーバーロードをサポートしていません。
パラメーターuri:Namespace — uri 値のコピー元の Namespace オブジェクトです。他のタイプのパラメーターはストリングに変換されます。
| |
localName:QName — localName 値のコピー元の QName オブジェクトです。他のタイプのパラメーターはストリングに変換されます。
|
toString | () | メソッド |
AS3 function toString():String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
URI と QName オブジェクトのローカル名を "::" で区切ったストリングを返します。
形式は QName オブジェクトの uri
プロパティによって決まります。
If戻り値uri
== ""toString
returnslocalName
else ifuri
== nulltoString
returns *::localName
elsetoString
returnsuri
::localName
String — ストリングとしての完全修飾名です。
|
valueOf | () | メソッド |
- Namespace インスタンスを作成し、それを QName コンストラクターへの入力として使用する。この方法は、
Namespace.prefix
プロパティを後で別の目的のために使用する場合に最適です。 - QName コンストラクター内の
uri
パラメーターに対して単純なストリング値を使用して QName インスタンスを作成する。
このコードは次の処理を行います。
rssXML
という名前の XML 変数を定義します。- 接頭辞
dc
を使用して新しい Namespace オブジェクトを作成します。 - その Namespace オブジェクトとローカル名
creator
を使用して、新しい QName オブジェクトを作成します。 showDescendants()
メソッドを呼び出します。このメソッドはXML.descendants()
メソッドを使用して、指定された QName インスタンスに一致する修飾名を持つすべての子孫エレメントを含む XMLList インスタンスを取得します。for each
ループを使用して、リスト内の各エレメントの修飾語とテキスト値を表示します。uri
パラメーターとローカル名date
のストリング値を使用して、別の QName オブジェクトを作成します。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" } } } }
Tue Jun 12 2018, 10:34 AM Z