XML - статьи

         

Использование SQL команд


Простейший способ для загрузки XML данных в XMLType таблицы - использование команды INSERT SQL, как это показано на следующем примере: INSERT INTO customer VALUES(XMLType('<Customer> <NAME>Steve Joes</NAME> <EMAIL>Steve.Joes@example.com</EMAIL> <ADDRESS>Someroad, Somecity, Redwood Shores, CA 94065, U.S.A</ADDRESS> <PHONE>6505723456</PHONE> <DESCRIPTION>Very Important US Customer</DESCRIPTION> </Customer>').CreateSchemaBasedXML( 'http://localhost:8080/public/contact_simple_ann.xsd'));

Используя этот подход, можно сконструировать XMLType экземпляр из XML в VARCHAR2, CLOB или BFILE и опционально использовать функцию XMLType.CreateSchemaBasedXML() для обращения к зарегистрированной схеме.

Не применяя функцию XMLType.CreateSchemaBasedXML(), можно вставить XML в XMLTypes, базированных на XML Schema, aee??ay XML Schema ссылку на корневой элемент XML документа, используя атрибуты размещения XML схемы, среди которых имеются xsi:schemaLocation и xsi:noNamespaceSchemaLocation:

INSERT INTO customer values(XMLType('<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema -instance" xsi:noNamespaceSchemaLocation="http://localhost:8080/public/ contact_simple_ann.xsd"> <NAME>Steve Joes</NAME> <EMAIL>Steve.Joes@example.com</EMAIL> <ADDRESS>Someroad, Somecity, Redwood Shores, CA 94065, U.S.A</ADDRESS> <PHONE>6505723456</PHONE> <DESCRIPTION>Very Important US Customer</DESCRIPTION> </Customer>'));

Атрибут xmlns:xsi=”http://www.w3.org/20041/XMLSchema-instance” объявляет пространство имен для экземпляра XML Schema. Атрибут xsi:noNamespaceSchemaLocation=

”http://localhost:8080/public/contact_simple_ann.xsd” специфицирует URL зарегистрированной XML схемы. В этом примере, если XML документы не обладает пространством имен, используется xsi:noNamespaceSchemaLocation. Если XML документ содержит пространство имен, например, XML схема для XML документа определяет целевое пространство имен как targetNamespace=”http://www.example.com/customer”, тогда необходимо использовать атрибут xsi:schemaLocation, как показано ниже: xsi:schemaLocation= "http://www.example.com/customer http://localhost:8080/ public/contact_simple_ann.xsd"

Атрибут содержит targetNamespace, http://example.com/customer и URL XML схемы http://localhost:8080/public/contact_simple_ann.xsd.



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