XML ad alanlarını kullanma

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

XML nesnesindeki (veya belgesindeki) ad alanları, nesnenin içerdiği veri türünü tanımlar. Örneğin, SOAP mesajlaşma protokolünü kullanan bir web hizmetine XML verilerini gönderip teslim ederken, XML'in açma etiketinde ad alanını bildirirsiniz:

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>;

Ad alanı, bir önek ( soap ) ve ad alanını tanımlayan bir URI ( http://schemas.xmlsoap.org/soap/envelope/ ) içerir.

ActionScript 3.0, XML ad alanlarıyla çalışılması için Namespace sınıfını içerir. Önceki örnekte bulunan XML nesnesi için, şu şekilde Namespace sınıfını kullanabilirsiniz:

var soapNS:Namespace = message.namespace("soap"); 
trace(soapNS); // Output: 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 sınıfı, ad alanlarıyla çalışılması için şu yöntemleri içerir: addNamespace() , inScopeNamespaces() , localName() , name() , namespace() , namespaceDeclarations() , removeNamespace() , setLocalName() , setName() ve setNamespace() .

default xml namespace direktifi, XML nesneleri için varsayılan bir ad alanı atamanıza olanak sağlar. Örneğin, aşağıda, hem x1 hem de x2 aynı varsayılan ad alanına sahiptir:

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