Condividi tramite


Utilizzo di schemi XDR con annotazioni in query (obsoleti in SQLXML 4.0)

Nota importanteImportante

Questo argomento è incluso come riferimento per le applicazioni legacy. Per questa funzionalità non è previsto alcun progetto di sviluppo in futuro, pertanto si consiglia di evitare di utilizzarla in un nuovo progetto di sviluppo. Utilizzare invece gli schemi XSD con annotazioni per creare le viste XML. Per ulteriori informazioni, vedere Introduzione agli schemi XSD con annotazioni (SQLXML 4.0). È possibile convertire gli schemi XDR con annotazioni esistenti in schemi XSD. Per ulteriori informazioni, vedere Conversione di schemi XDR con annotazioni in schemi XSD equivalenti (SQLXML 4.0).

[!NOTA]

Per creare esempi reali utilizzando gli esempi seguenti, è necessario soddisfare alcuni requisiti. Per ulteriori informazioni, vedere Requisiti per l'esecuzione di esempi di SQLXML.

Di seguito viene descritto come specificare query sullo schema con annotazioni per recuperare dati dal database:

  • Specificare query XPath in un modello sullo schema XDR

    L'elemento <sql:xpath-query> consente di specificare una query XPath sulla vista XML definita dallo schema con annotazioni. Lo schema con annotazioni su cui deve essere eseguita la query XPath viene identificato tramite l'attributo mapping-schema dell'elemento <sql:xpath-query>

    I modelli sono documenti XML validi che contengono una o più query. Le query FOR XML e XPath restituiscono un frammento del documento. I modelli fungono da contenitori per i frammenti del documento risultanti e consentono di specificare un singolo elemento di livello principale.

    Negli esempi inclusi in questo argomento vengono utilizzati modelli per specificare una query XPath su uno schema con annotazioni per recuperare dati dal database.

  • Schemi di mapping inline

    Uno schema con annotazioni può essere incluso direttamente in un modello. L'annotazione sql:is-mapping-schema viene utilizzata per specificare uno schema con annotazioni inline. sql:is-mapping-schema accetta un valore di tipo Boolean (0 = FALSE, 1 = TRUE). L'annotazione sql:is-mapping-schema viene specificata nell'elemento <Schema> nel modello.

    L'attributo sql:id identifica in modo univoco l'elemento che lo contiene. sql:id è un attributo di tipo ID ed è specificato nell'elemento <Schema>. Il valore assegnato a sql:id viene quindi utilizzato per fare riferimento allo schema con annotazioni inline tramite l'attributo mapping-schema in <sql:xpath-query>.

    Di seguito, ad esempio, viene specificato un modello con uno schema con annotazioni inline:

    <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>
    

    A titolo esemplificativo, salvare questo modello utilizzando il nome di file InlineSchemaTemplate.xml.

Vedere anche

Riferimento