Использование пространств имен XMLFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий В объекте (или документе) XML пространства имен определяют тип данных, содержащихся в объекте. Например, при отправке и доставке XML-данных в веб-службу, использующую протокол передачи сообщений SOAP, в открывающем теге объекта 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>; Пространство имени имеет приставку soap и URI http://schemas.xmlsoap.org/soap/envelope/, определяющий пространство имен. ActionScript 3.0 включает класс Namespace, предназначенный для работы с пространствами имен XML. Для объекта XML из предыдущего примера класс Namespace можно использовать следующим образом: 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 включает следующие методы, предназначенные для работы с пространствами имен: addNamespace(), inScopeNamespaces(), localName(), name(), namespace(), namespaceDeclarations(), removeNamespace(), setLocalName(), setName() и setNamespace(). Директива default xml namespace позволяет присваивать объектам XML пространства имен по умолчанию. Например, в следующем примере как x1, так и x2 имеют одинаковое пространство имен по умолчанию: var ns1:Namespace = new Namespace("http://www.example.com/namespaces/"); default xml namespace = ns1; var x1:XML = <test1 />; var x2:XML = <test2 />; |
|