Реферат “ Поддержка xml. Краткий обзор Oracle xdk” icon

Реферат “ Поддержка xml. Краткий обзор Oracle xdk”


Смотрите также:
Программа курса лекций...
Краткий обзор передач лекций, прочитанных на тк «Культура» в рамках передачи «Академия»...
Краткий обзор передач лекций, прочитанных на тк «Культура» в рамках передачи «Академия»...
План Расширения понятия угла и дуги, их измерение. Тригонометрические функции в Индии...
Oracle Human Capital Management...
Название данной статьи созвучно с названием книги «Крепость веры» Исаака из Тракай...
Реферат настоящая диссертационная работа посвящена исследованию темы...
Реферат краткий исторический обзор использования музыки в практике лечения и коррекции развития...
Билеты к экзамену по курсу...
6 sql 92 + некоторые его расширения 7 Общие вопросы оптимизации...
Дипломная работа студента...
«использование технологий xml и com для решения задач статистической радиофизики»...



Загрузка...
скачать
Министерство общего и профессионального образования РФ

Удмуртский государственный университет

Физический факультет

Кафедра: Высшей математики


Реферат

Поддержка XML. Краткий обзор Oracle XDK”


Выполнил


студент гр. 38-41 Кривоносов Д.В.

Проверил

Вотинцев А.А.




Ижевск 2003г.

Краткий обзор Oracle XDK


Oracle XML Developer's Kit (XDK) доступен для: Java, JavaBeans, C, C++, и PL/SQL, и включает в себя XML Parsers, XSL Processors, XML Class Generator, XML Transviewer Beans, and XML Schema Processor.


^ XML Parsers (Синтаксические анализаторы)

Компанией Oracle реализованы XML Parserы для Java, C, C++, и PL/SQL. Каждый из них - автономный XML компонент, который анализирует XML документ (или автономный DTD) для последующей обработки программным приложением. Данные синтаксические анализаторы поддерживают DOM (Document Object Model) и SAX (Simple API for XML) интерфейсы, XML Namespaces, режимы проверки структуры XML файла и XSL преобразования. Они реализованы на всех платформах Oracle.


^ Поддержка XSL преобразования

Начиная с версии 2, XML анализаторы включают интегрированный XSLT процессор для преобразования данных XML, используя XSL таблицы стилей. Используя XSLT процессор, Вы можете преобразовать документы XML в XML, HTML, или фактически любой другой основанный на тексте формат.




^ Поддержка пространств имен (Namespaces)

Java, C, и C++ анализаторы также поддерживают так называемые XML Namespaces. Namespaces - механизм, предназначенный для того, чтобы избежать коллизий имен элементов (тэгов) или атрибутов в документах XML. Этот механизм предоставляет "универсальные" пространства имен для элеменов и названий атрибутов, чья область видимости не ограничена документом, в котором они содержатся. Такие тэги определены унифицированными идентификаторами ресурса (URIs), такими как . Например, пространство имен может использоваться, чтобы опознавать Oracle элемент данных в отличие от определения элемента данных другой компании. Таким образом, приложение может опознавать элементы и атрибуты, которые непосредственно предназначены для нее. Java, C, и C++ анализаторы поддерживают пространства имен, распознавая универсальные элементы наравне с локальными.


^ Поддержка режима проверки структуры документа

Java, C, и C++ синтаксические анализаторы могут анализировать XML в режиме проверки структуры. При отключении режима проверки, синтаксический анализатор проверяет оформление XML документа и консолидирует данные в виде дерева объектов, которые в последствии могут управляться DOM API. В режиме проверки синтаксический анализатор кроме проверки оформления XML осуществляет проверку корректности данных XML относительно DTD. Проверка корректности подразумевает под собой проверку используемых названий атрибутов и тэгов, проверку корректности осуществления вложенности тэгов и т.д.


DOM API и SAX API

API для работы с XML относятся к двум категориям: основанные на событиях и основанные на деревьях. Основанный на событиях API (типа SAX) использует вызовы процедур, чтобы сообщить приложению о событиях, происходящий в процессе синтаксического анализа. Приложение получает информацию об этих событиях посредством настроенных обработчиков событий. Событиями оформляется начало и конец элементов и текстовых блоков. В отличие от API, основанных на деревьях, событийные API обычно не выстраивают в памяти представления документов XML в виде дерева. Поэтому, SAX полезен для приложений, которые не содержат операций манипулирования деревом XML, таких, как операция поиска необходимого элемента. API, основанные на деревьях (типа DOM) формируют в оперативной памяти представление документа XML в виде дерева. Кроме этого данные интерфейсы предоставляют приложению классы и методы для управления и обработки дерева. Вообще, интерфейс DOM наиболее полезен для структурных манипуляций с деревом XML, таких, как сортировка элементов, добавление или удаление элементов и атрибутов, переименование элементов, и т.д. Oracle9i XDK поддерживает и DOM 2.0, и SAX 2.0 спецификации.

Следующей рисунок показывает исходный документ XML и соответствующие ему SAX и DOM представления.


XML Document

SAX Events

DOM Tree



 

   

     MARTIN

   


   

     SCOTT

   


 





start document


start element: EMPLIST


start element: EMP

start element: ENAME

characters: MARTIN

end element: EMP


start element: EMP

start element: ENAME

characters: SCOTT

end element: EMP 

end element: EMPLIST

end document







^ Утилита XML SQL для Java

Утилита SQL XML для Java состоит из набора Java классов, которые:

· Подают запрос к базе данных и результаты представляют в виде документа XML (текст или DOM).

· Записывают данные XML в таблицу базы данных.


^ Представление результатов запроса в виде XML

Как показано на следующем рисунке, Утилита XML SQL может обрабатывать SQL запросы и возвращать результаты как документ XML.





Структура результирующего документа XML основана на внутренней структуре базы данных, к которой производился запрос. Столбцы переходят в элементы верхнего уровня. Скалярные значения преобразуются к текстовым элементам. Объектные типы отображаются в элементы с атрибутами, представленными в качестве вложенных элементов. Коллекции отображаются в списки элементов. Объектные ссылки и ограничения отображаются в XML IDREFs.


Утилита может генерировать или строковое представление документа XML, или представление в виде дерева DOM элементов. Если необходимо по запросу сразу возвратить документ XML, лучше использовать строковое представление. Использование DOM представления необходимо, если Вы собираетесь обрабатывать этот XML программно, например, преобразовывать его, используя XSLT процессор, или использовать методы DOM, для поиска или редактирования XML.


Пример: Представление результатов запроса в виде XML

Запрос:

^ SELECT EMPNO, ENAME FROM EMP WHERE EMPNO = 7654;

генерирует следующий XML документ

 

 

   

    7654 

    MARTIN 

  ROW> 

ROWSET>

Необходимо обратить внимание на формат документа XML. По умолчанию, ROWSET - название элемента, представляющего весь документ XML. ROW - элемент для каждой строки результата запроса. Данные EMPNO и ENAME представлены как элементы, вложенные внутрь ROW. В общем случае, данные представляются как элементы, и атрибуты используются, чтобы, если это необходимо, наложить ограничения на данные. Если в приложении требуется другой набор тэгов, может выполнить необходимое преобразование динамически, при помощи таблицы стилей XSL.


^ Запись XML в таблицу

На следующем рисунке показано взаимодействие с утилитой XML SQL, для записи XML данных в объектно-реляционную таблицу базы данных Oracle.




Запись документа XML в таблицу Oracle сохраняет структуру документа. Названия тэгов переходят в названия столбцов в таблице. Текстовые элементы отображаются в скалярные столбцы, а элементы, содержащие подэлементы отображаются в объектные типы. Наборы элементов переходят в коллекции.


^ Пример: Запись XML в Таблице

Следующий Java код вставляет данные из файла emp.xml в EMP таблицу. Этот пример предполагает, что документ XML уже соответствует структуре EMP таблицы.

import oracle.xml.sql.dml.*;

import java.sql.*;

import oracle.jdbc.driver.*;

import oracle.jdbc.*;

import java.net.*;


public class xmlwritedb

{

  public static void main(String args[]) throws SQLException

  {

    String tabName = "EMP"; // Table into which to insert XML data

    String fileName = "emp.xml"; // XML document filename

    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());


    // Initialize a JDBC connection

    Connection conn = 

      DriverManager.getConnection("jdbc:oracle:oci8:scott/tiger@");


    // Insert XML data from file (filename) into 

    // database table (tabName)

    OracleXMLSave save = new OracleXMLSave(conn, tabName);

    URL url = save.createURL(fileName);

    int rowCount = save.insertXML(url);


    System.out.println(" successfully inserted "+rowCount+

                       " rows into "+ tabName);

    conn.close();

  }

}


Заметим, что, если необходимо записать документ XML в таблицу базы данных, но данные XML не согласовываются со структурой таблицы, XML данные должны быть преобразованы перед записью в базу. Для подробного описания методов такого преобразования, см. Exchanging Data Among Applications .


^ XSQL Сервлет (XSQL Servlet)

XSQL Servlet - инструмент, который обрабатывает SQL запросы и выдает результат как XML. Данный процесс реализован как Java сервлет и на вход принимает файл XML, содержащий необходимые запросы SQL. Он использует XML Parser для Java и утилиту XML SQL.

Данный сервлет может выполняться на любом вебсервере, поддерживающим Java сервлеты. Следующий рисунок показывает, как происходит обмен данными между пользователем и сервлетом. Последовательность операций следующая:



1. Пользователь в браузере вводит URL, который интерпретируется и передается XSQL сервлету посредством Java вебсервера. URL содержит название необходимого XSQL файла (.xsql) и, если необходимо, переменные, такие как значения параметров или названия таблицы стилей XSL . В качестве альтернативного варианта может использоваться вызов XSQL сервлета из командной строки, в обход браузера и сервера Java.

2. Сервлет передает XSQL файл Java XML анализатору (parser), который производит синтаксический разбор XML и создает API для доступа к содержанию XML.

3. Страничный процессор сервлета использует API, для передачи XML параметров и операторов SQL (расположенных внутри контейнера) утилите XML SQL . Страничный процессор также передает любые XSL инструкции на XSLT процессор.

4. Утилита XML SQL отправляет запрос соответствующей базе данных Oracle, которая возвращает результаты запроса утилите.

5. Утилита XML SQL возвращает результаты запроса XSLT процессору в виде XML текста. Результат встроен в XML файл в том же самом месте, где располагался контейнер .

6. Если необходимо, результаты запроса и любые другие данные XML преобразуются XSLT Процессором, используя установленную XSL таблицу стилей. Данные могут быть преобразованы в HTML или любой другой формат, определенный таблицей стилей. XSLT Процессор может выборочно применять различные таблицы стилей, основанные на типе клиента, который сделал первоначальный запрос. Эта информация может быть получена на основе переменной HTTP_USER_AGENT, передаваемой посредством протокола HTTP.

7. XSLT Процессор передает законченный документ назад на клиентский браузер для представления пользователю.


^ Пример: XSQL Servlet

Следующий пример - простой XSQL файл, который делает запрос к таблице EMP. Заданное по умолчанию поведение запроса должно возвратить все строки служащих в таблице. Если необходимо, пользователь может конкретизировать исследование, прибавляя параметр find= к URL при запросе XSQL сервлета из браузера. Например, если определить символ 'T', в качестве параметра поиска, запрос возвратит только те строки, чей ENAME содержит символ T. Также, Вы можете сортировать возвращаемые строки, определяя в URL параметр sort= . Например, определяя EMPNO, результат будет отсортирован по номерам служащих.






 

    find="%"

    sort="ENAME"

    null-indicator="yes" >

    SELECT *  FROM EMP

        WHERE ENAME LIKE '%{@find}%'

            ORDER BY {@sort}

  query>


XSQL файл также определяет, как возвращаемый результат должен быть обработан, используя XSL таблицу стилей rowcol.xsl. Вот как выглядит примерная таблица стилей.



 

   

     

              

     




Скачать 101,49 Kb.
оставить комментарий
Кривоносов Д.В
Дата30.04.2012
Размер101,49 Kb.
ТипРеферат, Образовательные материалы
Добавить документ в свой блог или на сайт

отлично
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх