Utilización de espacios de nombres XML

Los espacios de nombres de un objeto (o documento) XML identifican el tipo de datos que el objeto contiene. Por ejemplo, al enviar y entregar datos XML a un servicio Web que utiliza el protocolo de mensajería SOAP, se declara el espacio de nombres en la etiqueta inicial de los datos 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>;

El espacio de nombres tiene un prefijo, soap, y un URI que define el espacio de nombres, http://schemas.xmlsoap.org/soap/envelope/.

ActionScript 3.0 incluye la clase Namespace para trabajar con espacios de nombres XML. Para el objeto XML del ejemplo anterior se puede utilizar la clase Namespace de la manera siguiente:

var soapNS:Namespace = message.namespace("soap");
trace(soapNS); // Salida: 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";

La clase XML incluye los siguientes métodos para trabajar con espacios de nombres: addNamespace(), inScopeNamespaces(), localName(), name(), namespace(), namespaceDeclarations(), removeNamespace(), setLocalName(), setName() y setNamespace().

La directiva default xml namespace permite asignar un espacio de nombres predeterminado para objetos XML. Por ejemplo, en el fragmento de código siguiente, x1 y x2 tienen el mismo espacio de nombres predeterminado:

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

Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000130.html