Usar esquemas XDR anotados en consultas (obsoleto en SQLXML 4.0)
Importante |
---|
Este tema se incluye como referencia para las aplicaciones heredadas. No se llevará a cabo ningún trabajo de desarrollo de esta característica en el futuro. Evite utilizarla en nuevos trabajos de desarrollo. En su lugar, use esquemas XSD anotados para crear vistas XML. Para obtener más información, vea Introducción a los esquemas XSD anotados (SQLXML 4.0). Puede convertir los esquemas XDR anotados existentes en esquemas XSD. Para obtener más información, vea Convertir esquemas XDR anotados en esquemas XSD equivalentes (SQLXML 4.0). |
Nota
Para crear ejemplos funcionales mediante los ejemplos siguientes, debe cumplir determinados requisitos. Para obtener más información, vea Requisitos para ejecutar los ejemplos de SQLXML.
Éstas son las maneras en las que se pueden especificar las consultas con el esquema anotado para recuperar datos de la base de datos:
Especificar consultas XPath en una plantilla con el esquema XDR
El elemento <sql:xpath-query> le permite especificar una consulta XPath con la vista XML definida por el esquema anotado. El esquema anotado en el que se ejecutará la consulta XPath, se identifica mediante el atributo mapping-schema del elemento <sql:xpath-query> .
Las plantillas son documentos XML válidos que contienen una o más consultas. Las consultas FOR XML y XPath devuelven un fragmento de documento. Las plantillas actúan como contenedores para los fragmento de documento resultantes (las plantillas proporcionan una manera de especificar un elemento único, de nivel superior).
En los ejemplos de este tema se usan plantillas para especificar una consulta XPath en un esquema anotado para recuperar datos de la base de datos.
Esquemas de asignación insertados
Un esquema anotado puede estar incluido directamente en una plantilla. La anotación sql:is-mapping-schema se usa para especificar un esquema anotado insertado. sql:is-mapping-schema toma un valor de tipo booleano (0 = FALSE, 1 = TRUE). Se especifica sql:is-mapping-schema en el elemento <Schema> de la plantilla.
El atributo sql:id identifica de forma única el elemento en el que se contiene. sql:id es del atributo de tipo ID y se especifica en el elemento <Schema>. A continuación, el valor asignado a sql:id se usa para hacer referencia al esquema anotado insertado mediante el atributo mapping-schema en <sql:xpath-query>.
Por ejemplo, ésta es una plantilla con un esquema anotado insertado especificada:
<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>
Con fines meramente ilustrativos, guarde esta plantilla usando el nombre de archivo InlineSchemaTemplate.xml.