| 패키지 | 최상위 |
| 클래스 | public final class Namespace |
| 상속 | Namespace Object |
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
이 클래스에는 서로 다른 매개 변수를 받는 두 가지 형태의 생성자 메서드가 있습니다.
이 클래스는 XML, XMLList 및 QName 클래스와 더불어 E4X(ECMAScript for XML) 사양(ECMA-357 버전 2)에 정의된 강력한 XML 처리 표준을 구현합니다.
참고 사항
| 속성 | 다음에 의해 정의됨 | ||
|---|---|---|---|
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
| Object | |
| prefix : String
네임스페이스의 접두어입니다.
| Namespace | ||
![]() | prototype : Object
[static]
클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
| Object | |
| uri : String
네임스페이스의 URI(Uniform Resource Identifier)입니다.
| Namespace | ||
| 메서드 | 다음에 의해 정의됨 | ||
|---|---|---|---|
|
Namespace 객체를 만듭니다.
| Namespace | ||
|
prefixValue 및 uriValue 매개 변수의 값에 따라 Namespace 객체를 만듭니다.
| Namespace | ||
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
| Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
| Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
| Object | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
| Object | |
|
Namespace.uri 속성과 같습니다.
| Namespace | ||
|
지정된 객체의 URI 값을 반환합니다.
| Namespace | ||
| prefix | 속성 |
prefix:String [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
네임스페이스의 접두어입니다.
public function get prefix():String
public function set prefix(value:String):void
| uri | 속성 |
uri:String [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
네임스페이스의 URI(Uniform Resource Identifier)입니다.
public function get uri():String
public function set uri(value:String):void
| Namespace | () | 생성자 |
public function Namespace(uriValue:*)
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
Namespace 객체를 만듭니다. 새 Namespace 객체의 uri 및 prefix 속성에 할당되는 값은 uriValue 매개 변수에 전달된 값의 유형에 따라 다릅니다.
prefix 및 uri 속성이 빈 문자열로 설정됩니다.uri 속성이 QName 객체의 uri 속성으로 설정됩니다.참고: 이 클래스에는 서로 다른 매개 변수를 받는 두 가지 형태의 생성자 항목이 있습니다. 생성자는 전달된 매개 변수의 유형과 개수에 따라 각 항목에서 설명하는 대로 다르게 동작합니다. ActionScript 3.0에서는 메서드 또는 생성자 오버로드가 지원되지 않습니다.
매개 변수uriValue:* — 네임스페이스의 URI(Uniform Resource Identifier)입니다.
|
| Namespace | () | 생성자 |
public function Namespace(prefixValue:*, uriValue:*)
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
prefixValue 및 uriValue 매개 변수의 값에 따라 Namespace 객체를 만듭니다. 이 생성자에는 두 매개 변수가 모두 필요합니다.
prefixValue 매개 변수의 값은 다음과 같이 prefix 속성에 할당됩니다.
undefined가 전달되면 prefix가 undefined로 설정됩니다.isXMLName() 함수로 확인된 유효한 XML 이름이면 문자열로 변환되어 prefix 속성에 할당됩니다.prefix 속성이 undefined로 설정됩니다.uriValue 매개 변수의 값은 다음과 같이 uri 속성에 할당됩니다.
uri 속성이 QName 객체의 uri 속성 값으로 설정됩니다.uriValue 매개 변수가 문자열로 변환되어 uri 속성에 할당됩니다.참고: 이 클래스에는 서로 다른 매개 변수를 받는 두 가지 형태의 생성자 메서드 항목이 있습니다. 생성자는 전달된 인수의 유형과 개수에 따라 각 항목에서 설명하는 대로 다르게 동작합니다. ActionScript 3.0에서는 메서드 또는 생성자 오버로드가 지원되지 않습니다.
매개 변수prefixValue:* — 네임스페이스에 사용할 접두어입니다.
|
|
uriValue:* — 네임스페이스의 URI(Uniform Resource Identifier)입니다.
|
| toString | () | 메서드 |
AS3 function toString():String
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
Namespace.uri 속성과 같습니다.
String — 문자열로 나타낸 네임스페이스의 URI(Uniform Resource Identifier)입니다.
|
| valueOf | () | 메서드 |
AS3 function valueOf():String
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
지정된 객체의 URI 값을 반환합니다.
반환값String — 문자열로 나타낸 네임스페이스의 URI(Uniform Resource Identifier)입니다.
|
myXML이라는 XML 변수를 정의하고 이 변수를 getRSS()의 반환 값에 할당합니다. getRSS() 메서드는 여러 네임스페이스가 포함된 XML 객체를 정의하고 해당 XML 객체를 반환합니다.myXML을 전달하고 parseRSS() 메서드를 호출하여 Array 변수를 선언하고 평가합니다. parseRSS()에서 기본 XML 네임스페이스는 rss로 정의됩니다. 이 예제에서는 item 객체의 목록을 myXML에 할당하여 XMLList 변수를 정의합니다. 배열을 만들고 myXML.item 내의 여러 노드로 배열을 채웁니다. 그런 다음 배열을 반환합니다.for 루프와 세 번의 trace() 호출을 사용하여 배열의 요소를 출력합니다.
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() 메서드가 별도의 네임스페이스에 들어 있으며, 각 메서드를 호출하면 서로 다른 문자열이 반환됩니다.
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;
}
}이 예제에서는 마우스 상태에 따라 반응하는 사각형 버튼의 네임스페이스와 색상을 정의합니다. 버튼을 그릴 때마다 해당 네임스페이스(out, over, down)의 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/flash/9.0_kr/ActionScriptLangRefV3/Namespace.html