Использование схем 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 < 4] </sql:xpath-query> </ROOT>
В целях демонстрации сохраните этот шаблон в файле с именем InlineSchemaTemplate.xml.