Поделиться через


Использование схем XDR с заметками в запросах (является устаревшим в SQLXML 4.0)

Важное примечаниеВажно!

Этот раздел включен в документацию в качестве справочника по приложениям прежних версий. Дальнейшая разработка этой функции проводиться не будет. Рекомендуется избегать использования данной функции в новых разработках. Вместо этого для создания XML-представлений пользуйтесь схемами XSD с заметками. Дополнительные сведения см. в разделе Введение в схемы XSD с заметками (SQLXML 4.0). Можно преобразовать существующие схемы XDR с заметками в схемы XSD. Дополнительные сведения см. в разделе Преобразование схем XDR с заметками в эквивалентные схемы XSD (SQLXML 4.0).

ПримечаниеПримечание

Чтобы создать рабочие образцы на основе следующих примеров, необходимо выполнить определенные требования. Дополнительные сведения см. в разделе Требования к запуску примеров SQLXML.

Ниже представлены способы, с помощью которых можно задать запросы к схеме с заметками для получения данных из базы данных.

  • Указание запросов XPath к схеме XDR в шаблоне.

    Элемент <sql:xpath-query> позволяет задавать запросы XPath к XML-представлению, определенному схемой с заметками. Схема с заметками, к которой должен быть выполнен запрос XPath, определяется с помощью атрибута mapping-schema элемента <sql:xpath-query> .

    Шаблоны являются допустимыми XML-документами, которые содержат один или несколько запросов. Запросы FOR XML и XPath возвращают фрагмент документа. Шаблоны выполняют роль контейнеров для получаемых в виде результата фрагментов документа (шаблоны позволяют задать один элемент верхнего уровня).

    В примерах, приведенных в этом разделе, шаблоны задают запрос XPath к схеме с заметками для получения данных из базы данных.

  • Встроенные схемы сопоставлений

    Схема с заметками может включаться напрямую в шаблон. Заметка sql:is-mapping-schema используется для указания встроенной схемы с заметками. sql:is-mapping-schema имеет логический тип значения (0 = FALSE, 1 = TRUE). sql:is-mapping-schema указывается в элементе <Schema> шаблона.

    Атрибут sql:id уникально определяет элемент, в котором он содержится. sql:id имеет тип ID и указывается в элементе <Schema>. Затем значение, присвоенное sql:id, используется для ссылки на встроенную схему с заметками с помощью атрибута mapping-schema в <sql:xpath-query>.

    Например, ниже представлен шаблон с заданной встроенной схемой с заметками:

    <ROOT     xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <Schema xmlns="urn:schemas-microsoft-com:xml-data"
    
       sql:id="MyMappingSchema"
       sql:is-mapping-schema="1">
    
        <ElementType name="Person.Person" >
          <AttributeType name="BusinessEntityID" />
          <AttributeType name="FirstName" />
          <AttributeType name="LastName" />
    
          <attribute type="BusinessEntityID" />
          <attribute type="FirstName" />
          <attribute type="LastName" />
        </ElementType>
      </Schema>
    
    <sql:xpath-query mapping-schema="#MyMappingSchema">
      Person.Person[@BusinessEntityID &lt; 4]
    </sql:xpath-query>
    </ROOT>
    

    В целях демонстрации сохраните этот шаблон в файле с именем InlineSchemaTemplate.xml.