КаталогИндекс раздела
НазадОглавлениеВперед


Команда REGISTER XSROBJECT

Регистрирует объект XML в каталоге базы данных. Поддерживаемые объекты: DTD и внешние сущности.

Авторизация

Одна из следующих:

Требует соединения с базой данных

Синтаксис

>>-REGISTER XSROBJECT--системный-ID--+---------------------+------------>
                                     '-PUBLIC--открытый-ID-'
 
>--FROM--URI-содержимого--+-------------------------------+------------->
                          '-AS--реляционный-идентификатор-'
 
>--+-DTD-------------+-------------------------------------------------><
   '-EXTERNAL ENTITY-'
 

Описание

системный-ID

Задает системный ID для объявления XML-объекта.

PUBLIC открытый-ID

Задает необязательный открытый ID для объявления XML-объекта.

FROM URI-содержимого

Задает URI по которому находится содержимое документа XML-схемы. Поддерживается только URI локального файла.

AS реляционный-идентификатор

Задает имя, которое используется для обращения к зарегистрированному XML-объекту. Реляционное имя может быть задано как идентификатор SQL, состоящий из двух частей: реляционной схемы и имени, разделенных точкой, например: "JOHNDOE.EMPLOYEEDTD" Если не задана реляционная схема, используется схема по умолчанию, определенная в специальном регистре CURRENT SCHEMA. Если не задано никакого имени, оно генерируется автоматически..

DTD

Задает, что регистрируемый объект является документом Data Type Definition (DTD).

EXTERNAL ENTITY

Задает, что регистрируемый объект является внешней сущностью.

Примеры

  1. Этот пример XML-документа ссылается не внешнюю сущность:
    <?xml version="1.0" standalone="no" ?>
    <!DOCTYPE copyright [
      <!ELEMENT copyright (#PCDATA)>
      <!ENTITY c SYSTEM "http://www.xmlwriter.net/copyright.xml">
    ]>
    <copyright>&c;</copyright>
    

    Прежде, чем документ сможет быть успешно вставлен в столбец XML, внешняя сущность должна быть зарегистрирована. Следующая команда регистрирует сущность, а содержимое сущности записывается локально в C:\TEMP:

    REGISTER XSROBJECT 'http://www.xmlwriter.net/copyright.xml' FROM 'c:\temp\copyright.xml' EXTERNAL ENTITY
    
  2. Этот пример фрагмента XML-документа ссылается на DTD:
    <!--inform the XML processor
      that an external DTD is referenced-->
    <?xml version="1.0" standalone="no" ?>
    
    <!--define the location of the
      external DTD using a relative URL address-->
    <!DOCTYPE document SYSTEM "http://www.xmlwriter.net/subjects.dtd">
    
    <document>
      <title>Subjects available in Mechanical Engineering.</title>
      <subjectID>2.303</subjectID>
        <subjectname>Fluid Mechanics</subjectname>
    	...
    

    Прежде, чем документ сможет быть успешно вставлен в столбец XML, DTD должно быть зарегистрировано. Следующая команда регистрирует DTD, а определение DTD записывается локально в C:\TEMP, а реляционным идентификатором, связанным с DTD будет "TEST.SUBJECTS":

    REGISTER XSROBJECT 'http://www.xmlwriter.net/subjects.dtd' FROM 'file:///c:/temp/subjects.dtd' AS TEST.SUBJECTS DTD
    
  3. Этот пример XML-документа ссылается на открытую внешнюю сущность:
    <?xml version="1.0" standalone="no" ?>
    <!DOCTYPE copyright [
      <!ELEMENT copyright (#PCDATA)>
      <!ENTITY c PUBLIC "-//W3C//TEXT copyright//EN"
        "http://www.w3.org/xmlspec/copyright.xml">
    ]>
    <copyright>&c;</copyright>
    

    Прежде, чем документ сможет быть успешно вставлен в столбец XML, открытая внешняя сущность должна быть зарегистрирована. Следующая команда регистрирует сущность, а содержимое сущности записывается локально в C:\TEMP:

    REGISTER XSROBJECT 'http://www.w3.org/xmlspec/copyright.xml' PUBLIC '-//W3C//TEXT copyright//EN' FROM 'file:///c:/temp/copyright.xml' EXTERNAL ENTITY
    

НазадОглавлениеВперед
КаталогИндекс раздела