Нестандартные расширения
Стандарт DOM специально разработан независимым от языка программирования и платформы. В результате этого многие детали практического использования не стандартизированы и требуют доработки в каждой конкретной реализации. Например, так как все языки программирования имеют различные средства работы с файлами, интерфейс вызова DOM-анализатора для создания иерархии документа в Java-библиотеке отличается от написанного для C++. Этот недостаток будет исправлен в DOM 3.0.
М ногие разработчики выпустили расширенные версии базовой модели DOM, включающие возможности, которые отсутствуют в реализации DOM Level 1. XML-анализатор от Microsoft (MSXML), поставляемый с Internet Explorer 5. 0, предоставляет много дополнительных методов сверх тех, что описаны в фактической спецификации DOM. И хотя эти расширения упрощают задачи внутри клиентской программы, приходится платить большей зависимостью от конкретного поставщика. Смотрите главу 16 «Объектная модель документа (DOM)», где приведена дополнительная информация об использовании объектной модели документов.
С другой стороны, стандарт SAX не был формально утвержден ни одним стандартизирующим органом. Члены списка рассылки XML-DEV сформулировали его как альтернативу DOM для приложений, в которых неприемлемо или недостаточно эффективно построение дерева документа в памяти. Кроме различных вариаций, требуемых для согласования модели обратных вызовов с различными программными средами, многие реализации SAX предоставляют расширенный доступ к информации XML-документа, недоступной через базовый интерфейс. За более подробной информацией по Simple API for XML обратитесь к главе 17 «SAX».
|