| パッケージ | トップレベル |
| public final class QName | |
| 継承 | QName Object |
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 プロパティは空のストリングに設定されます。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| localName : String
[read-only]
QName オブジェクトのローカル名です。
| QName | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| uri : String
[read-only]
QName オブジェクトの URI です。
| QName | ||
| メソッド | 定義 | ||
|---|---|---|---|
| QName(qname:QName)
別の QName オブジェクトのコピーである QName オブジェクトを作成します。
| QName | ||
| QName(uri:Namespace, localName:QName)
Namespace オブジェクトの URI オブジェクトと QName オブジェクトの
localName を持つ QName オブジェクトを作成します。 | QName | ||
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
| toString():String
URI と QName オブジェクトのローカル名を "::" で区切ったストリングを返します。
| QName | ||
| valueOf():QName
QName オブジェクトを返します。
| QName | ||
| localName | プロパティ |
| uri | プロパティ |
| QName | () | コンストラクタ |
public 関数 QName(qname:QName)
別の QName オブジェクトのコピーである QName オブジェクトを作成します。コンストラクタに渡されたパラメータが QName オブジェクトである場合、QName オブジェクトのコピーが作成されます。パラメータが QName オブジェクトでない場合、パラメータはストリングに変換され、新しい QName インスタンスの localName プロパティに割り当てられます。パラメータが undefined であるか未指定の場合、localName プロパティが空のストリングに設定された新しい QName オブジェクトが作成されます。
メモ:このクラスは、2 つのコンストラクタ項目を示しています。それぞれの形式が異なるパラメータを受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡されるパラメータの型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。
パラメータqname:QName — コピーする QName オブジェクトです。他のタイプのオブジェクトはストリングに変換され、新しい QName オブジェクトの localName プロパティに割り当てられます。
|
| QName | () | コンストラクタ |
public 関数 QName(uri:Namespace, localName:QName)
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);
uri パラメータに null を渡すと、新しい QName オブジェクトの uri プロパティは null に設定されます。
メモ:このクラスは、2 つのコンストラクタ項目を示しています。それぞれの形式が異なるパラメータを受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡されるパラメータの型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。
パラメータuri:Namespace — uri 値のコピー元の Namespace オブジェクトです。他のタイプのパラメータはストリングに変換されます。
|
|
localName:QName — localName 値のコピー元の QName オブジェクトです。他のタイプのパラメータはストリングに変換されます。
|
| toString | () | メソッド |
AS3 function toString():StringURI と QName オブジェクトのローカル名を "::" で区切ったストリングを返します。
形式は QName オブジェクトの uri プロパティによって決まります。uri == "" の場合、
toString は localName を返します。uri == null の場合、
toString は *::localName を返します。
それ以外の場合、 toString は uri::localName を返します。
String —
ストリングとしての完全修飾名です。
|
| valueOf | () | メソッド |
Namespace.prefix プロパティを後で別の目的のために使用したい場合に
最適です。uri
パラメータに対して単純なストリング値を使用して QName インスタンスを作成する。このコードは次のことを行います。
rssXML という名前の XML 変数を定義します。dc を使用して新しい 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"
}
}
}
}