Как упоминалось ранее, группа разработки CORE и XML в подразделении баз данных Oracle разработала все основные компоненты инфраструктуры XML, которые используют группы разработчиков Oracle. Любой продукт, который имеет дело с XML, должен уметь определять, является ли данный XML действительным (valid), т. е. соответствующим заданным определениям типа документа DTD или XML Schema, и правильным (well formed), т. е. его открывающие теги имеют соответствующие им закрывающие теги, расположенные без нарушения порядка вложенности.
Это проверяется с помощью анализатора XML-синтаксиса. Так как группы разработчиков Oracle имеют различные требования и разных клиентов, анализатор XML-синтаксиса и встроенный XSLT-процессор были написаны на четырех разных языках: С, С + + , Java и PL/SQL. Кроме того, существуют разные реализации программы анализа синтаксиса XML, включающие исполняемые программы, вводимые с командной строки, библиотеки и jar файлы. Чтобы упростить визуальную разработку приложения, существует несколько Java-модулей для просмотра, редактирования и преобразования XML. В инструментарий Oracle XDK включена также поддержка W3C XML Schema, DOM Level 2, SAX Level 2 и т. д.
Программа анализа синтаксиса Oracle XML Parser for Java написана на языке Java, и ее можно запускать в виртуальной Java-машине в СУБД OracleSi и Oracle9i. В ней есть опциональная проверка на действительность XML-документов с захватом DTD, полная поддержка наборов символов разных языков, полная поддержка технологий DOM и SAX и интегрированный XSLT-процессор.
Программы XML Parser for С и C++ поставляются для ОС Solaris, Linux, HP-UX и Windows NT.
Они имеют полную поддержку интерфейсов DOM и SAX, полную поддержку международного набора символов и интегрированный XSLT-процессор. Они работают быстрее других С и C++ XML-анализаторов и поставляются вместе с серверным программным обеспечением от Oracle. Анализатор XML Parser for PL/SQL построен на базе Java XML-анализатора, он разрешает взаимодействие API-интерфейсов PL/SQL с интерфейсами XML-анализатора. Он также поставляется вместе с серверным ПО от Oracle.
Чтобы использовать преимущества рекомендаций W3C XML Schema Recommendation и разнообразить XML-документы более богатой информацией из данных разных типов, были разработаны процессоры XML Schema на языках Java, С и C++. Вместо DTD с единственным типом строковых данных для описания элементов и атрибутов теперь в соответствии с рекомендацией W3C, описывающей части XML-документа, для описания этих документов существует довольно широкий набор типов данных, которые используются наряду с пространствами имен и другими конструктивными элементами. Все эти процессоры объявляют XML-документы действительными уже в соответствии с новой формой модели контента, а если документы ей не соответствуют, выдаются предупреждения или сообщения об ошибках.
Программные модули XML TransViewer включают в себя некоторые XML/XSLT- классы. Прежде всего это относится к модулям XSLT Transformer, XSLT DOM Parser, XML Source Viewer/Editor и XML Tree Viewer, которые установлены в инструментальной линейке XML Palette, начиная с версии JDeveloper В этот набор были добавлены также программные модули DBView и DBAccess, что позволяет использовать мощь баз данных Oracle. Однако при этом программистам приложений не приходится писать слишком много кода, чтобы связаться с базой данных, исполнить SQL-запрос, сформатировать результат в виде XML-файла и применить к нему таблицу стилей, хранить и извлекать XML из таблиц больших символьных объектов CLOB в базе данных и в файловой системе.
Кроме того, существуют генераторы классов Java и C+ + , на основе DTD или XML Schema генерирующие код, к которому можно программно обращаться для создания XML-документов, соответствующих данным DTD или XML Schema.
Наконец, сервлет XSQL Servlel представляет собой Java-сервлет, который работает на Web-сервере для создания динамических XML-документов, построенных на базе одного и более SQL-запросов. Он может также опционально с помощью XSLT-процессора преобразовывать результирующий XML-документ в формат, поддерживаемый сервером или клиентом. Для инструкций и преобразований он использует файл описаний.
По существу, XSQL Servlet устанавливает связь с базой данных, снимая все теги до прохождения SQL-оператора в базу данных. Он извлекает строчные данные и внедряет их в XML с помощью тегов, соответствующих колонкам и таблицам базы данных, и применяет к XML опциональную таблицу стилей.