Записи с меткой «XML»

Объекты с поддержкой динамических имён свойств с использованием пользовательских пространств имён

06.04.2010

Flex cookbook entry: How to and where store dynamic properties in custom namespaces.

Мне очень нравится в ActionScript 3 тесная интеграция с XML и популяризация пространств имён. Для поддержки свойств в различных пространствах имён даже создан отдельный класс – QName, объединяющий в себе указатель пространства имён и локальное имя. Но, получается что, для использования пространств имён отличных от базовых(AS3 и с пустым указателем) разработчик должен сам реализовать поддержку этих пространств имён, заранее объявив члены класса.

Динамические члены класса в пользовательских пространствах имён не поддерживаются, кроме XML объектов. Чтоб включить такую поддержку необходимо расширить класс flash.utils.Proxy и самому её реализовать. Это и было сделано в классах описываемых в этом посте – они разрешают добавлять в себя динамические члены класса в любых пространствах имён(кроме flash_proxy, в сочетании с зарезервированными локальными именами, методы которых уже реализованы).

(далее…)

Особенность методов XML объектов в ActionScript 3

16.02.2010

Наткнулся на немного неожиданную "особенность" при работе с методами XML объектов. Такое забывать нельзя, поэтому подробности под катом.

(далее…)

Разница в выборке «.*» в XML и во flash.utils.Proxy

08.01.2010

В XML выборка элементов через знак звёздочки говорит о том, что надо выбрать все дочерние узлы, не зависимо от типа узла или пространства имён XML элемента. Класс flash.utils.Proxy даёт нам возможность пользоваться выборками в своих классах. Я обнаружил разницу в поведении и дальше делюсь наблюдениями.

(далее…)

Дополнительные возможности фильтрации с помощью E4X

01.04.2009

Flex cookbook entry: E4X advanced filtering.

При обработке XML данных, не редко, создаются несколько циклов или фильтров. Каждый цикл выполняет свою задачу, но иногда эти циклы можно объединить, а то и вовсе упразднить. Далее, на примерах будет показано как можно максимально загрузить E4X фильтр, чтоб избежать создания новых циклов.

(далее…)

XML события или XMLCover + XMLNotifier = Bindable XML

29.08.2008

Как-то блуждал по блогам и наткнулся на страничку с описанием интересной скрытой возможности XML в ActionScript 3 – метод XML.setNotification(). Этот метод позволяет получать данные об изменениях в XML дереве, за которым установили такое наблюдение. Я воспользовался этим методом и написал ряд классов, которые позволяют получать события об изменениях в XML дереве и использовать биндинг с XML во Flex.

(далее…)

XMLMirror и XMLAccessor

29.06.2008

Недавно один хороший человек предложил сделать сайт на Flash и именно на ActionScript 2. Проект мне понравился тем, что уже практически всё было готово к моей работе, т.е. предоставили FLA файл с дизайном и PDF с описанием как должно всё выглядеть после завершения задания. И, как всегда, оказалось, что работу нужно делать на вчера.
Сайт разбит на разделы отдельными файлами, каждый из них загружается после нажатия кнопки меню. Сайт должен получать все данные с помощью XML сгенерированным со всеми динамическими данными. Вот тут я начал вспоминать DOM XML модель ActionScript 2, которой мне предстоит пользоваться – постоянные поиски нужных узлов, использование ID'шников и XMLNode.firstChild/lastChild/childNodes. В общем, эйфория с E4X закончилась. Тогда я решил написать более удобные интерфейсы для доступа к XML данным. Это не E4X, но намного удобнее (как мне показалось) средств класса XMLNode. (далее…)