| パッケージ | トップレベル |
| クラス | public final class Namespace |
| 継承 | Namespace Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
このクラスは、2 つの形式のコンストラクタメソッドを示しています。それぞれの形式が異なるパラメータを受け入れるからです。
XML、XMLList、および QName などのクラス同様、Namespace クラスには、ECMAScript for XML(E4X)仕様(ECMA-357 Edition 2)で定義されている強力な XML 処理規格が実装されています。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
| prefix : String
名前空間の接頭辞です。 | Namespace | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| uri : String
名前空間の URI です。 | Namespace | ||
| メソッド | 定義元 | ||
|---|---|---|---|
Namespace オブジェクトを作成します。 | Namespace | ||
prefixValue パラメータと uriValue パラメータの値に従って Namespace オブジェクトを作成します。 | Namespace | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
Namespace.uri プロパティと同等です。 | Namespace | ||
指定されたオブジェクトの URI 値を返します。 | Namespace | ||
| prefix | プロパティ |
prefix:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
名前空間の接頭辞です。
public function get prefix():String public function set prefix(value:String):void| uri | プロパティ |
uri:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
名前空間の URI です。
public function get uri():String public function set uri(value:String):void| Namespace | () | コンストラクタ |
public function Namespace(uriValue:*)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
Namespace オブジェクトを作成します。新しい Namespace オブジェクトの uri プロパティと prefix プロパティに割り当てられる値は、uriValue パラメータに渡される値の型によって決まります。
prefix プロパティと uri プロパティは空のストリングに設定されます。uri プロパティは QName オブジェクトの uri プロパティに設定されます。メモ : このクラスは、2 つのコンストラクタ項目を示しています。それぞれの形式が異なるパラメータを受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡されるパラメータの型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。
パラメータuriValue:* — 名前空間の URI です。
|
| Namespace | () | コンストラクタ |
public function Namespace(prefixValue:*, uriValue:*)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
prefixValue パラメータと uriValue パラメータの値に従って Namespace オブジェクトを作成します。このコンストラクタには両方のパラメータが必要です。
prefixValue パラメータの値は、次のように prefix プロパティに割り当てられます。
undefined が渡された場合、prefix は undefined に設定されます。isXMLName() 関数で有効として判断される XML 名の場合、この引数はストリングに変換されて prefix プロパティに割り当てられます。prefix プロパティは undefined に設定されます。uriValue パラメータの値は、次のように uri プロパティに割り当てられます。
uri プロパティは QName オブジェクトの uri プロパティの値に設定されます。uriValue パラメータはストリングに変換され、uri プロパティに割り当てられます。メモ : このクラスは、2 つのコンストラクタメソッドを示しています。それぞれの形式が異なるパラメータを受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡される引数の型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。
パラメータprefixValue:* — 名前空間に使用する接頭辞です。
| |
uriValue:* — 名前空間の URI です。
|
| toString | () | メソッド |
AS3 function toString():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
Namespace.uri プロパティと同等です。
String — ストリングとしての名前空間の URI です。
|
| valueOf | () | メソッド |
AS3 function valueOf():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定されたオブジェクトの URI 値を返します。
戻り値String — ストリングとしての名前空間の URI です。
|
myXML という名前の XML 変数を定義し、これを getRSS() () の戻り値に割り当てます。 getRSS() メソッドは、いくつかの名前空間を持つ XML オブジェクトを定義し、この XML オブジェクトを返します。parseRSS() メソッドに myXML を渡し、そのメソッドを呼び出すことで、Array 型の変数を宣言して評価しています。parseRSS() では、デフォルトの XML 名前空間として rss が定義されています。またこの例では item オブジェクト(myXML 内にある)のリストを割り当てて XMLList 変数が定義されています。配列が作成され、myXML.item 内の様々なノードが値として設定されます。 その後、配列が返されます。for ループを使用し、trace() () を 3 回呼び出すことで出力されます。
package {
import flash.display.Sprite;
public class NamespaceExample extends Sprite {
private var rss:Namespace = new Namespace("http://purl.org/rss/1.0/");
private var rdf:Namespace = new Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
private var dc:Namespace = new Namespace("http://purl.org/dc/elements/1.1/");
public function NamespaceExample() {
var myXML:XML = getRSS();
var rssItems:Array = parseRSS(myXML);
var len:uint = rssItems.length;
for (var i:uint; i < len; i++) {
trace(rssItems[i].title);
trace(rssItems[i].creator);
trace(rssItems[i].date);
// Adobe Flash Developer Center
// Adobe
// 2005-08-08
// Flex Developer Center
// Adobe
// 2005-10-16
}
}
private function parseRSS(rssXML:XML):Array {
default xml namespace = rss;
var items:XMLList = rssXML.item;
var arr:Array = new Array();
var len:uint = items.length();
for (var i:uint; i < len; i++) {
arr.push({title:items[i].title, creator:items[i].dc::creator, date:items[i].dc::date});
}
return arr;
}
private function getRSS():XML {
var myXML: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>Adobe 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>;
return myXML;
}
}
}hello() という名前の 3 つのメソッドが別々の名前空間に存在しており、呼び出されたときにそれぞれが異なるストリングを返します。
package {
import flash.display.Sprite;
public class Namespace_2_Example extends Sprite {
public function Namespace_2_Example() {
var vocab:MultilingualVocabulary = new MultilingualVocabulary();
trace(vocab.hello()); // hello
var languages:Array = vocab.getLanguages();
for (var i:uint; i < languages.length; i++) {
var ns:Namespace = languages[i];
if (ns != null) {
trace(ns.toString() + ": " + vocab.ns::hello());
// hello
// MultilingualVocabulary:Hawaiian: aloha
// MultilingualVocabulary:French: bon jour
}
}
}
}
}
class MultilingualVocabulary {
public namespace French;
public namespace Hawaiian;
private var languages:Array;
public function MultilingualVocabulary() {
languages = new Array(Hawaiian, French);
}
public function hello():String {
return "hello";
}
Hawaiian function hello():String {
return "aloha";
}
French function hello():String {
return "bon jour";
}
public function getLanguages():Array {
return languages;
}
}この例は、長方形のボタンについてのマウス状態に対応する名前空間と色を定義します。ボタンを描画するたびに、bgcolor 変数を参照して、適切な色(マウスが置かれていない状態では赤、マウスが上に置かれている状態では黄色、マウスボタンが押されている状態では白)を適用します。変数は、対応する名前空間(out、over、down)に対するものです。
package {
import flash.display.Sprite;
public class Namespace_3_Example extends Sprite {
public function Namespace_3_Example() {
addChild(new StateButton("Press Me."));
}
}
}
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
class StateButton extends Sprite{
private namespace out;
private namespace over;
private namespace down;
private var label:TextField;
private var labelTxt:String;
private var ns:Namespace;
out var bgColor:Number = 0xFF0000;
over var bgColor:Number = 0xFFFF00;
down var bgColor:Number = 0xFFFFFF;
public function StateButton(str:String) {
buttonMode = true;
labelTxt = str;
ns = out;
draw();
addLabel();
addListeners();
}
private function addLabel():void {
label = new TextField();
label.text = labelTxt;
label.width = 50;
label.height = 20;
label.mouseEnabled = false;
addChild(label);
}
private function addListeners():void {
addEventListener(MouseEvent.MOUSE_UP, mouseOverHandler);
addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
}
private function mouseOutHandler(e:Event):void {
ns = out;
draw();
}
private function mouseOverHandler(e:Event):void {
ns = over;
draw();
}
private function mouseDownHandler(e:Event):void {
ns = down;
draw();
}
private function draw():void {
this.graphics.clear();
this.graphics.beginFill(ns::bgColor);
this.graphics.drawRect(0, 0, 60, 20);
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/Namespace.html