Майк Мориарти описал, а Андрей Горбатов перевел на русский популярные ошибки разработчиков при использовании E4X и способы их обхода. Признаться, я и сам не раз обламывался в работе с E4X: например, забывал, что в E4X-выражении не обязательно ссылаться на корневой тэг XML-документа. Настолько необязательно, что попросту невозможно. Корневой XML-элемент просто автоматически подразумевается в начале E4X-выражения, и если вы его впишете, то произойдет попытка найти его потомка с таким же именем — ошибка.
На мой взгляд, подавляющее большинство описанных Майком кодерских ошибок вызваны сложностью перестройки мышления при переходе от классической, громоздкой работы с XML к новому, компактному и оптимизированному варианту, предлагаемому нам E4X.
Сам E4X оказывается слишком инновационным. Он еще компактнее, чем XPath. Удивительно, что в спорах об отвержении ECMAScript 4.0 как стандарта для JavaScript никто не вспомнил об E4X, важной части этого стандарта. Есть подозрение, что ему дадут зеленый свет, так как он предлагает более компактный код для работы с XML, что должно понравиться кодерам, и в то же время не кажет видимой угрозы членам комитета TC39.
Не все оказываются готовыми к E4X-оптимизациям. Cлишком многое делается автоматически, слишком хорошо ужимается код — непривычно! Читаем: о самых модных граблях E4X на русском в переводе Андрея Горбатова.
Хм, у меня с корневым было всегда ок, а вот на грабли под номерами 3-4-5 довольно долго наступал=)
Эх, давненько это было :) http://gorbatov.blogspot.com/2007/03/e4x.html
Андрей, не поверишь — после казуса с SWFObject прочел твой блог заново от начала до конца, чтобы впредь так не лажаться. И вот — снова облом!
Добавил ссылки на тебя в пост :)
Сразу влюбился в E4X, поэтому таких проблем не было. :)
Предыдущий пост
Следующий пост