XML-naamruimten gebruiken

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Naamruimten in een XML-object (of XML-document) identificeren het type gegevens dat het object bevat. Bij het verzenden en leveren van XML-gegevens naar een webservice die gebruikmaakt van het SOAP-berichtenprotocol, declareert u bijvoorbeeld de naamruimte in de openingstag van 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>;

De naamruimte heeft een voorvoegsel ( soap ) en een URI die de naamruimte definieert http://schemas.xmlsoap.org/soap/envelope/ ).

ActionScript 3.0 bevat de klasse Namespace voor werken met XML-naamruimten. U kunt de klasse Namespace voor het object XML in het vorige voorbeeld als volgt gebruiken:

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

De klasse XML bevat de volgende methoden voor het werken met naamruimten: addNamespace() , inScopeNamespaces() , localName() , name() , namespace() , namespaceDeclarations() , removeNamespace() , setLocalName() , setName() en setNamespace() .

Met de compileraanwijzing default xml namespace kunt u een standaardnaamruimte toewijzen voor XML-objecten. In het volgende voorbeeld hebben zowel x1 als x2 dezelfde standaardnaamruimte:

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