Бесплатно скачать Adobe Flash Player
Flash Ripper RSS Readers

Самые наступаемые грабли при работе с E4X как форматом XML

Майк Мориарти описал, а Андрей Горбатов перевел на русский популярные ошибки разработчиков при использовании E4X и способы их обхода. Признаться, я и сам не раз обламывался в работе с E4X: например, забывал, что в E4X-выражении не обязательно ссылаться на корневой тэг XML-документа. Настолько необязательно, что попросту невозможно. Корневой XML-элемент просто автоматически подразумевается в начале E4X-выражения, и если вы его впишете, то произойдет попытка найти его потомка с таким же именем — ошибка.

На мой взгляд, подавляющее большинство описанных Майком кодерских ошибок вызваны сложностью перестройки мышления при переходе от классической, громоздкой работы с XML к новому, компактному и оптимизированному варианту, предлагаемому нам E4X.

Сам E4X оказывается слишком инновационным. Он еще компактнее, чем XPath. Удивительно, что в спорах об отвержении ECMAScript 4.0 как стандарта для JavaScript никто не вспомнил об E4X, важной части этого стандарта. Есть подозрение, что ему дадут зеленый свет, так как он предлагает более компактный код для работы с XML, что должно понравиться кодерам, и в то же время не кажет видимой угрозы членам комитета TC39.

Не все оказываются готовыми к E4X-оптимизациям. Cлишком многое делается автоматически, слишком хорошо ужимается код — непривычно! Читаем: о самых модных граблях E4X на русском в переводе Андрея Горбатова.

Писал Rost, 21 Август 2008 11:43

Найдены баги:

Хм, у меня с корневым было всегда ок, а вот на грабли под номерами 3-4-5 довольно долго наступал=)

DL1t - 21 Август 2008 12:35

Эх, давненько это было :)
http://gorbatov.blogspot.com/2007/03/e4x.html

Andrey Gorbatov - 21 Август 2008 14:08

Андрей, не поверишь — после казуса с SWFObject прочел твой блог заново от начала до конца, чтобы впредь так не лажаться. И вот — снова облом!

Добавил ссылки на тебя в пост :)

Рост - 21 Август 2008 14:24

Сразу влюбился в E4X, поэтому таких проблем не было. :)

a_[w] - 24 Август 2008 10:39



Это запись из категории 'XML'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-38, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-26, Articles-26, AS3-57, Books-9, Business-3, Cairngorm-3, CI-1, Classes-10, Coding-31, Community-118, Components-19, Contests-30, conventions-1, Cool-Job-10, Debug-21, Design-28, Development-84, ecology-4, EMO-2, Events-17, Extensions-2, FAQ-9, FDS-1, Flash and html-8, Flash Player-38, Flash Updates-12, flash-on-devices-1, Flash-scene-1, flash10-4, FlashLite-2, Flex-49, Flex 2-80, flex4-3, flexcamp-2, Flickr-1, FMS-2, FPUG-61, frameworks-1, Games-20, Good Job!-44, HaXe-16, Health-2, Humor-11, Ideas-14, IV-1, JavaScript-2, Job-30, JSFL-8, Links-2, Linux-3, Maps-1, Math-8, Money-16, music-1, MXML-1, Open Source-16, Optimization-4, parenting-3, Patterns-2, Personalities-27, Philosophy-4, Politics-1, posters-1, Preloading-3, Productivity-10, PureMVC-11, Pv3d-1, Rafpug-5, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-9, Silverlight-7, Sound-3, sport-4, Strategy-122, Tamarin-2, Tools-113, Training-3, Trash-8, URAFPUG-14, Urgent-1, Usability-6, Video-6, VoIP-7, Wallop-1, Wishlist-3, XML-1, Архив всех записей (большой)

За последние месяцы:

Ноя 2008: Ноябрьская встреча RAFPUG 12 — для креативных, В продолжение темы флэш-блогов, весь Ноя

Окт 2008: Ура — вторая лицензия Alternativa3D уезжает в Киев!, Влещь на глагне III IIIIIII?, весь Окт

Сен 2008: Встречайте Open Source Flash Media Server — Mammoth, Срочно нужен толковый Flex-разработчик в Харькове (+Java), весь Сен

Авг 2008: Flex Gangsta Rap Video WTF Bro?, 27 сентября — встреча UAFPUG во Львове и плюшки от Adobe, весь Авг

Июл 2008: Тенденции среди работодателей: Adobe Flex, Adobe AIR, Silverlight, Спорт спасет красоту, которая спасет мир!, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)