Uso dello spazio dei nomi XML

Lo spazio dei nomi di un oggetto (o documento) XML indica il tipo di dati che l'oggetto contiene. Ad esempio, per inviare e consegnare dati XML a un servizio Web che usa il protocollo SOAP, si dichiara lo spazio dei nomi nel tag di apertura di 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>;

Lo spazio dei nomi è caratterizzato da un prefisso, soap, e da un URI che definisce lo spazio dei nomi, http://schemas.xmlsoap.org/soap/envelope/.

ActionScript 3.0 contiene la classe Namespace per le operazioni con gli spazi dei nomi XML. Per l'oggetto XML dell'esempio precedente, è possibile usare la classe Namespace come segue:

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

I seguenti metodi della classe XML permettono di eseguire operazioni con gli spazi dei nomi: addNamespace(), inScopeNamespaces(), localName(), name(), namespace(), namespaceDeclarations(), removeNamespace(), setLocalName(), setName() e setNamespace().

La direttiva default xml namespace permette di assegnare uno spazio dei nomi predefinito agli oggetti XML. Nell'esempio seguente, sia x1 che x2 condividono il medesimo spazio dei nomi predefinito:

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

Flash CS3

 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/main/00000130.html