К сожалению, это quick hack, который не развивается уже два года. Полностью отсутствует поддержка XML namespaces, что тоже несколько ограничивает применение. Ну и XPath тоже не хватает — так что придётся продолжать пользоваться старым добрым ElementTree в имплементации lxml
Индустрия разработки софта неумолимо скатывается к так называемому «программированию на xml». Причем наблюдается это в совершенно разных техологиях и сферах применения. Иногда конфиги фреймворков с ростом сложности превращаются в задачки по «программированию на xml» (например конфики hibernate до появления в java аннотаций). Иногда авторы сразу затачивают технологию под это (например в ant, maven или в сабже) Тогда как предназначен xml совершенно не для этого.
Не уверен, но думаю, что это обусловлено исторически. В какой-то момент вокруг xml возникла такай эйфория, что его начали пихать куда угодно. И он занял даже те ниши, где он явно не на месте.
забыл добавить смайлик :)
и цитаты:
Из Википедий:
«XML's purpose is to aid information systems in sharing structured data, especially via the Internet, [2] to encode documents, and to serialize data; in the last context, it compares with text-based serialization languages»
«XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями.»
w3.org:
«Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere.»
P4X: удобство E4X в Python