Язык XML - практическое введение

       

Собственный XML Type


XML DB в СУБД Oracle вводит собственный (native - “родной”) XMLType как объектный тип Oracle и новый, определяемый пользователем, тип данных, который позволяет абстрагироваться от используемой модели хранения. Он предлагает вам как CLOB, так и объектно-реляционное представление “разложенного” (по базе данных) XML-документа. Это единственный, совместимый с XML Schema 1.0 тип, который может использовать команды как SQL, так и SQL-XML с расширенной функциональностью, включая использование встроенных в базу данных PL/SQL и Java.

Этот тип данных XML предоставляет следующие возможности для управления структурами хранения XML:

  • XPath for XML extraction and updating (XPath для XML извлечения и обновления): Пользователи могут использовать XPath чтобы изменять элементы или атрибуты XML-документов без выборки всего документа. Поддержка XPath предоставляется в форме методов extract() и existsNode() XMLType и выражений Xpath, которые могут быть использованы для навигации по экземпляру XMLType и для поиска по множеству экземпляров XMLType. Oracle также дал расширение SQL (совместимое с появляющимся стандартом SQL-XML), так что пользователи могут специфицировать элементы для запросов (к базе данных) или создавать их через XPath, а затем использовать SQL-операторы с этими элементами.
  • Virtual DOM (Виртуальная DOM): Одной из проблем обработки DOM-моделей заключается в том, что для оперирования с документом весь этот документ должен быть размещен в оперативной памяти как модель объекта, что приводит к увеличению его размеров во много раз. С большими документами это может быть серьезной проблемой. Но XML DB, однако, позволяет пользователям материализовать DOM-модель “на лету” при обработке запросов (виртуальная ("virtual") или ленивая ("lazy") DOM), при этом, чем делая все сразу; деревья данных загружаются по мере того, как они запрашиваются, предварительно загруженные секции документа отбрасываются, если использование оперативной памяти становится чрезмерным. Эта возможность полностью прозрачна.
  • XSL Transformations for XMLType (XSL транформация в XMLType ): Виртуальная DOM-модель особенно полезна при выполнении XSL-преобразований. Как только XSLT-процесс затребует DOM-модель из входного XML-потока, многие пользователи сталкиваются с тем, что документ слишком велик, чтобы завершить этот процесс. Используя виртуальную DOM, однако, пользователи могут обрабатывать только те данные, которые им нужны, отсылать их, фильтровать и получать результаты. Вы можете использовать оператор XML Transform() или метод transform() с любым XMLType.
  • Schema caching (Кэширование схемы): XML DB удерживает структурную информацию (такую, как тэги элементов, типы данных и расположение структур хранения) в кэше схемы, чтобы минимизировать время доступа и расходы на память хранения. Этот кэш расположен на уровне процесса, чтобы минимизировать сетевой трафик и тем самым улучшить производительность при сохранении целостности данных.

В будущем Oracle предполагает добавить несколько новых возможностей к этому списку, включая дополнительную функциональность базы данных и XML, такие как XQuery, который будет языком специально разработанным для запросов XML-данных в контексте документа, а а не в контексте строк и таблиц SQL. (Прототип языка XQuery доступен для загрузки на OTN.) XQuery подобен SQL в том, что он обладает специфической грамматикой и использует ключевые слова, но в этом случае предикаты и функции базируются на XPath.

Следующие шаги

Посетите и сделайте закладки XML Technology Center сети OTN:

http://otn.oracle.com/tech/
xml/content.html

Скачайте Oracle XDK:

http://otn.oracle.com/tech/xml/
xdk/content.html

Прочитайте техническую статью "Oracle XML DB":

http://otn.oracle.com/tech/xml/
xmldb/pdf/xmldb_92twp.pdf



Содержание раздела