Korzystanie z przestrzeni nazw XMLFlash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje Przestrzenie nazw w obiekcie XML (lub dokumencie) identyfikują typ danych zawartych w obiekcie. Na przykład w procesie wysyłania i dostarczania danych XML do usługi Web Service za pomocą protokołu SOAP przestrzeń nazw zostaje zadeklarowana w otwierającym znaczniku 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>;
Przestrzeń nazw ma przedrostek, soap, oraz identyfikator URI definiujący przestrzeń nazw, http://schemas.xmlsoap.org/soap/envelope/. ActionScript 3.0 zawiera klasę Namespace służącą do operowania na przestrzeniach nazw XML. Dla obiektu XML z poprzedniego przykładu moglibyśmy zastosować klasę Namespace w następujący sposób: 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";
Klasa XML zawiera następujące metody służące do operowania na przestrzeniach nazw: addNamespace(), inScopeNamespaces(), localName(), name(), namespace(), namespaceDeclarations(), removeNamespace(), setLocalName(), setName() oraz setNamespace(). Dyrektywa default xml namespace umożliwia określenie domyślnej przestrzeni nazw dla obiektów XML. Na przykład w poniższym kodzie obiekty x1 i x2 mają tę samą domyślną przestrzeń nazw: var ns1:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = ns1;
var x1:XML = <test1 />;
var x2:XML = <test2 />;
|
|