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