Размер
XML-документа существенно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз).
Размер
XML-документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON[2], YAML) и особенно в форматах данных, оптимизированных для конкретного случая использования.
Избыточность
XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных.
XML содержит метаданные (об именах полей, классов, вложенности структур), и одновременно
XML позиционируется как язык взаимодействия открытых систем. При передаче между системами большого количества объектов одного типа (одной структуры), передавать метаданные повторно нет смысла, хотя они содержатся в каждом экземпляре
XML описания.
Для большого количества задач не нужна вся мощь синтаксиса
XML и можно использовать значительно более простые и производительные решения.[7]
Нет общепринятой методологии для моделирования данных в
XML, в то время как для реляционной модели и объектно-ориентированной такие средства разработаны и базируются на реляционной алгебре, системном подходе и системном анализе.
В природе есть множество объектов и явлений, для описания которых разные структуры данных (сетевая, реляционная, иерархическая) являются естественными, и отображение объекта в неестественную для него модель является болезненным для его сути. В случае с реляционной и иерархической моделями определены процедуры декомпозиции, обеспечивающие относительную однозначность, чего нельзя сказать о сетевой модели.[8]
В результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов (различными разработчиками), например, значение может быть записано как атрибут тега или как тело тега и т. д. Например: <a b=«1» c=«1»/> или <a b=«1» c=«1»></a> или <a><b>1</b><c>1</c></a> или <a><c value=«1»/></a> или <a><fields b=«1» c=«1»/></a> и т. д.[9]
Поддержка многих языков в именовании тегов дает возможность назвать, например вес русским словом, в таком случае компьютер никак не сможет установить соответствия этого поля с полем weight в англоязычной версии программы и с полями в версиях модели объекта на множестве других языков.
XML не содержит встроенной в язык поддержки типов данных. В нём нет строгой типизации, то есть понятий «целых чисел», «строк», «дат», «булевых значений» и т. д.
Иерархическая модель данных, предлагаемая
XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами и сетевой моделью данных.
Выражение неиерархических данных (например графов) требует дополнительных усилий
Кристофер Дейт, специалист в области реляционных баз данных, автор классического учебника «An Introduction to Database Systems», отмечал, что «…XML является попыткой заново изобрести иерархические базы данных…»[10] (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных).
Пространства имён
XML сложно использовать и их сложно реализовывать в
XML-парсерах.
Существуют другие, обладающие сходными с
XML возможностями, текстовые форматы данных, которые обладают более высоким удобством чтения человеком (YAML, JSON, SweetXML[11], XF[12]).
Источник: http://ru.wikipedia.org/wiki/XML
По этой причине Qubix использует бинарный протокол AMF для передачи данных во флеш и реляционные базы данных в качестве хранилища информации.