В ноябре корпорация Microsoft выпустила новую версию объектной библиотеки MS XML Parser (MSXML) 3.0, ставшую ключевым программным компонентом для работы с XML-документами. Она должна заменить версии MSXML 2.0 и MSXML 2.5, поставлявшиеся соответственно в составе Internet Explorer 5.0 и Windows 2000.
Одним из основных элементов технологии платформно-независимого информационного взаимодействия различных приложений является использование объектной модели документов (Document Object Model, DOM), стандарт которой принят комитетом World Wide Web Consortium (W3C). Интерфейс DOM обеспечивает доступ к иерархической структуре, содержимому и стилям документа независимо от платформы и языка программирования.
Следует четко разобраться в соотношениях понятий “DOM-документ” и “XML-документ”: с одной стороны, эти понятия почти тождественны, с другой - качественно отличны. DOM-документ, создаваемый приложением, представляет собой внутренний объект последнего, и в общем случае о его физической реализации никому ничего не известно (так же, как мы работаем с документами Word, ничего не зная о формате их хранения). Содержимое DOM-документа становится доступным для всех остальных приложений путем сохранения его в формате XML-файла. Таким образом, XML-документ является представлением DOC-документа на языке XML.
На примере Visual Basic логика работы с этими документами выглядит следующим образом:
Set xmlDoc = New DOMDocument ‘ создание нового объекта
‘ далее - работа по формированию документа
... xmlDoc.Save “File.xml” ‘ сохранение в виде XML-файла
... xmlDoc.Load “NewFile.xml” ‘ чтение XML-файла
‘ далее выполняется работа с DOM-объектом
Библиотека MSXML предоставляет разработчику приложений механизм создания DOM-документа в виде программного интерфейса взаимодействия с этим документом, а также преобразования его в XML-формат и обратно. При этом ее функции выходят далеко за рамки грамматического разбора документа (parse - выполнять грамматический разбор), обеспечивая широкий спектр операций со структурой и содержимым DOM-документов.
MSXML 3.0 предоставляет новые функции и возможности по сравнению с версией 2.5, как-то:
- полное соответствие W3C-стандартам для технологий Extensible Stylesheet Language Trasformations (XSLT) и XML Path Language (XPath);
- полное соответствие интерфейсу COM/Microsoft ActiveX Simple API for XML, включая также ряд вспомогательных объектов;
- поддержка безопасного HTTP доступа (server-safe HTTP access) со стороны серверных приложений;
- ряд улучшений для поддержки DOM и национальных языков;
- высокая степень адаптации к стандартам W3C XML 1.0 и Namespace 1.0, а также к требованиям тестового набора OASIS (Organization for the Advancement of Structural Infomation Standarts).
Следует обратить внимание на особенности установки и применения MSXML 3.0. Эта версия не заменяет автоматически предыдущую версию MSXML 2.х - оба варианта библиотеки могут работать одновременно с одним приложением. Например, если некоторое VB-приложение работало с MSXML 2.0, используя
Dim xml As DOMDocument
Set xmlDoc = New DOMDocument, то для переключения на работу с MSXML 3.0 нужно заменить ссылку с MSXML 2.0 на версию 3.0. Однако можно использовать ссылки на обе библиотеки одновременно, в этом случае приведенный выше код будет соответствовать MSXML 2.0, а для работы с MSXML 3.0 нужно применять конструкцию:
Dim xml As MSXML2.DOMDocument ‘ “2” указывает на стандарт SAX2
Set xmlDoc = New MSXML2.DOMDocument
После установки MSXML 3.0 все компоненты операционной системы (Windows 9x, Windows NT и Windows 2000), в том числе Internet Explorer, продолжают работать с предыдущей версией MSXML 2.x до тех пор, пока не будет проведена “ручная” замена версий с помощью специальной утилиты XMLINST.EXE.
Загрузить библиотеку MSXML 3.0, набор для разработчика MSXML SDK 3.0 и утилиту XMLINST.EXE можно по адресу: http://msdn.microsoft.com/xml.