| 패키지 | 최상위 레벨 |
| 클래스 | public final class Namespace |
| 상속 | Namespace Object |
| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
- XML 객체의 네임스페이스 네임스페이스를 식별하는 URI(Uniform Resource Identifier)와 네임스페이스 접두어가 네임스페이스를 통해 연결됩니다. 이 접두어는 XML 객체 내에서 네임스페이스를 참조하는 데 사용되는 문자열입니다. 접두어가 정의되지 않은 경우 XML을 문자열로 변환하면 접두어가 자동으로 생성됩니다.
- 네임스페이스로 메서드 구별 네임스페이스를 통해 이름이 같지만 수행하는 작업이 다른 여러 메서드를 구별할 수 있습니다. 두 메서드의 이름이 같지만 네임스페이스가 다른 경우 각 메서드에서 다른 작업을 수행할 수 있습니다.
- 네임스페이스로 액세스 제어 네임스페이스를 사용하여 클래스의 속성 및 메서드 그룹에 대한 액세스를 제어할 수 있습니다. 속성 및 메서드를 전용 네임스페이스에 배치하면 해당 네임스페이스에 대한 액세스 권한이 없는 코드에서 이러한 속성이나 메서드에 액세스할 수 없습니다. 다른 클래스, 메서드 또는 함수에 네임스페이스를 전달하면 속성 및 메서드 그룹에 대한 액세스 권한을 부여할 수 있습니다.
이 클래스에는 서로 다른 매개 변수를 받는 두 가지 형태의 생성자 메서드가 있습니다.
이 클래스는 XML, XMLList 및 QName 클래스와 더불어 E4X(ECMAScript for XML) 사양(ECMA-357 버전 2)에 정의된 강력한 XML 처리 표준을 구현합니다.
추가 정보
관련 API 요소
| 속성 | 정의 주체 | ||
|---|---|---|---|
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | |
| prefix : String
네임스페이스의 접두어입니다. | Namespace | ||
| uri : String
네임스페이스의 URI(Uniform Resource Identifier)입니다. | Namespace | ||
| 메서드 | 정의 주체 | ||
|---|---|---|---|
prefixValue 및 uriValue 매개 변수의 값에 따라 Namespace 객체를 만듭니다. | Namespace | ||
Namespace 객체를 만듭니다. | Namespace | ||
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
![]() |
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | |
Namespace.uri 속성과 같습니다. | Namespace | ||
지정된 객체의 URI 값을 반환합니다. | Namespace | ||
prefix | 속성 |
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속성에 할당됩니다. - 값이 유효한 XML 이름이 아니면
prefix속성이undefined로 설정됩니다.
uriValue 매개 변수의 값은 다음과 같이 uri 속성에 할당됩니다.
- QName 객체가 전달되면
uri속성이 QName 객체의uri속성 값으로 설정됩니다. - 그렇지 않으면
uriValue매개 변수가 문자열로 변환되어uri속성에 할당됩니다.
참고: 이 클래스에는 서로 다른 매개 변수를 받는 두 가지 형태의 생성자 메서드 항목이 있습니다. 생성자는 전달된 인수의 유형과 개수에 따라 각 항목에서 설명하는 대로 다르게 동작합니다. ActionScript 3.0에서는 메서드 또는 생성자 오버로드가 지원되지 않습니다.
매개 변수prefixValue:* — 네임스페이스에 사용할 접두어입니다.
| |
uriValue:* — 네임스페이스의 URI(Uniform Resource Identifier)입니다.
|
Namespace | () | 생성자 |
public function Namespace(uriValue:*)| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
Namespace 객체를 만듭니다. 새 Namespace 객체의 uri 및 prefix 속성에 할당되는 값은 uriValue 매개 변수에 전달된 값의 유형에 따라 다릅니다.
- 값이 전달되지 않았으면
prefix및uri속성이 빈 문자열로 설정됩니다. - 값이 Namespace 객체이면 객체의 복사본이 만들어집니다.
- 값이 QName 객체이면
uri속성이 QName 객체의uri속성으로 설정됩니다.
참고: 이 클래스에는 서로 다른 매개 변수를 받는 두 가지 형태의 생성자 항목이 있습니다. 생성자는 전달된 매개 변수의 유형과 개수에 따라 각 항목에서 설명하는 대로 다르게 동작합니다. ActionScript 3.0에서는 메서드 또는 생성자 오버로드가 지원되지 않습니다.
매개 변수uriValue:* — 네임스페이스의 URI(Uniform Resource Identifier)입니다.
|
toString | () | 메서드 |
valueOf | () | 메서드 |
- 네임스페이스를 정의하는 고유한 URI를 갖는 세 개의 Namespace 객체를 정의합니다.
- 이 예제에서는
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);
}
}
Tue Jun 12 2018, 03:17 PM Z
상속되는 공용 속성 숨기기
상속되는 공용 속성 표시