Compartilhar via


Usando esquemas XDR anotados em consultas (substituídos no SQLXML 4.0)

Observação importanteImportante

Este tópico está incluso como referência para aplicativos herdados. Não será feito nenhum trabalho de desenvolvimento futuro nesse recurso. Evite usá-lo em novos trabalhos de desenvolvimento. Em vez disso, use esquemas XSD anotados para criar exibições XML. Para obter mais informações, consulte Introdução a esquemas XSD anotados (SQLXML 4.0). Você pode converter esquemas XDR anotados existentes em esquemas XSD. Para obter mais informações, consulte Convertendo esquemas XDR anotados a esquemas XSD equivalentes (SQLXML 4.0).

ObservaçãoObservação

Para criar exemplos de funcionamento usando os exemplos a seguir, é necessário atender a determinados requisitos. Para obter mais informações, consulte Requisitos para executar exemplos do SQLXML.

A seguir estão as maneiras como as consultas podem ser especificadas com relação ao esquema anotado para recuperar dados do banco de dados:

  • Especificar as consultas XPath em um modelo com relação ao esquema XDR

    O elemento <sql:xpath-query> permite-lhe especificar uma consulta XPath com relação à exibição XML definida pelo esquema anotado. O esquema anotado com relação ao qual a consulta XPath será executada é identificado usando o atributo mapping-schema do elemento <sql:xpath-query>.

    Os modelos são documentos XML válidos que contêm uma ou mais consultas. As consultas FOR XML e XPath retornam um fragmento de documento. Os modelos atuam como contêineres dos fragmentos de documento resultantes (os modelos oferecem uma maneira de especificar um único elemento de nível superior).

    Os exemplos deste tópico usam modelos para especificar uma consulta XPath com relação a um esquema anotado para recuperar dados do banco de dados.

  • Esquemas de mapeamento embutidos

    Um esquema anotado pode ser incluído diretamente em um modelo. A anotação sql:is-mapping-schema é usada para especificar um esquema anotado embutido. sql:is-mapping-schema assume um valor de tipo booleano (0 = FALSE, 1 = TRUE). sql:is-mapping-schema é especificado no elemento <Schema> no modelo.

    O atributo sql:id identifica exclusivamente o elemento no qual está contido. sql:id é do atributo de tipo de ID e é especificado no elemento <Schema>. O valor atribuído a sql:id é usado para referenciar o esquema anotado embutido que usa o atributo mapping-schema em <sql:xpath-query>.

    Por exemplo, este é um modelo com um esquema anotado embutido especificado:

    <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.Contact" >
          <AttributeType name="ContactID" />
          <AttributeType name="FirstName" />
          <AttributeType name="LastName" />
    
          <attribute type="ContactID" />
          <attribute type="FirstName" />
          <attribute type="LastName" />
        </ElementType>
      </Schema>
    
    <sql:xpath-query mapping-schema="#MyMappingSchema">
      Person.Contact[@ContactID &lt; 4]
    </sql:xpath-query>
    </ROOT>
    

    Para fins ilustrativos, salve esse modelo usando o nome de arquivo InlineSchemaTemplate.xml.

Consulte também

Referência