XML 네임스페이스 사용

XML 객체 또는 문서의 네임스페이스는 해당 객체에 포함된 데이터의 유형을 식별합니다. 예를 들어, SOAP 메시징 프로토콜을 사용하는 웹 서비스에 XML 데이터를 전송하는 경우 다음과 같이 XML의 여는 태그에 네임스페이스를 선언합니다.

var message:XML = 
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
        <soap:Body xmlns:w="http://www.test.com/weather/">
            <w:getWeatherResponse> 
                <w:tempurature >78</w:tempurature> 
            </w:getWeatherResponse> 
        </soap:Body> 
    </soap:Envelope>;

이 네임스페이스에는 접두어 soap와 네임스페이스를 정의하는 URI http://schemas.xmlsoap.org/soap/envelope/이 포함되어 있습니다.

ActionScript 3.0에는 XML 네임스페이스를 사용하여 작업할 수 있도록 Namespace 클래스가 포함되어 있습니다. 위의 예제에 제공된 XML 객체의 경우 다음과 같이 Namespace 클래스를 사용할 수 있습니다.

var soapNS:Namespace = message.namespace("soap");
trace(soapNS); // 출력: http://schemas.xmlsoap.org/soap/envelope/

var wNS:Namespace = new Namespace("w", "http://www.test.com/weather/");
message.addNamespace(wNS);
var encodingStyle:XMLList = message.@soapNS::encodingStyle;
var body:XMLList = message.soapNS::Body;

message.soapNS::Body.wNS::GetWeatherResponse.wNS::tempurature = "78";

XML 클래스에는 네임스페이스를 사용하여 작업할 수 있도록 addNamespace(), inScopeNamespaces(), localName(), name(), namespace(), namespaceDeclarations(), removeNamespace(), setLocalName(), setName()setNamespace() 등의 메서드가 포함되어 있습니다.

default xml namespace 지시문을 사용하면 XML 객체의 기본 네임스페이스를 지정할 수 있습니다. 다음 예제 코드에서는 x1x2 둘 다에 동일한 기본 네임스페이스가 지정되어 있습니다.

var ns1:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = ns1;
var x1:XML = <test1 />;
var x2:XML = <test2 />;

Flash CS3

 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/main/00000130.html