Condividi tramite


Definizione di relazioni tramite sql:relationship (schema XDR)

Nota importanteImportante

Questo argomento è incluso come riferimento per le applicazioni legacy. Per questa caratteristica non è previsto alcun progetto di sviluppo in futuro. 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).

Gli elementi in un documento XML possono essere correlati. È possibile nidificare gerarchicamente gli elementi e specificare relazioni ID, IDREF o IDREFS tra gli elementi.

In uno schema XDR, ad esempio, un elemento <Customer> contiene elementi figlio <Order>. L'elemento <Customer> viene mappato a una tabella contenente dati dei clienti, ad esempio la tabella Sales.Customer nel database AdventureWorks2008R2. L'elemento <Order> viene mappato a una tabella contenente dati relativi agli ordini nello stesso database, ad esempio Sales.SalesOrderHeader. Queste tabelle sottostanti, Sales.Customer e Sales.SalesOrderHeader, sono correlate in quanto i clienti effettuano ordini. L'elemento CustomerID nella tabella Sales.SalesOrderHeader è una chiave esterna che fa riferimento alla chiave primaria CustomerID nella tabella Sales.Customer. È possibile stabilire tali relazioni tra elementi dello schema di mapping utilizzando l'annotazione <sql:relationship>.

Nello schema XDR con annotazioni l'annotazione <sql:relationship> viene utilizzata per nidificare gerarchicamente gli elementi dello schema in base alle relazioni di chiave primaria/chiave esterna tra le tabelle sottostanti a cui vengono mappati gli elementi. Nello specificare l'annotazione <sql:relationship>, è necessario identificare gli elementi seguenti:

  • Tabella primaria (Sales.Customer) e tabella esterna (Sales.SalesOrderHeader).

  • Condizione di join necessaria (CustomerID in Sales.SalesOrderHeader è una chiave esterna che fa riferimento alla chiave primaria CustomerID nella tabella Sales.Customer).

Queste informazioni vengono utilizzate per generare la gerarchia appropriata (per ogni elemento <customer>, gli elementi <order> correlati vengono visualizzati come elementi figlio).

Per fornire i nomi di tabella e le necessarie informazioni sull'unione in join, con l'annotazione <sql:relationship> vengono specificati gli attributi seguenti. Tali attributi sono validi solo con l'elemento sql:relationship:

  • key-relation
    Specifica la relazione primaria (tabella).

  • key
    Specifica la chiave primaria di key-relation. Se la chiave primaria è costituita da più colonne, i valori vengono specificati con uno spazio tra l'uno e l'altro. Tra i valori specificati per la chiave a più colonne e la chiave esterna corrispondente, viene applicato un mapping posizionale.

  • foreign-relation
    Specifica la relazione esterna (tabella).

  • foreign-key
    Specifica la chiave esterna in foreign-relation che fa riferimento a key in key-relation. Se la chiave esterna è costituita da più attributi (colonne), i valori di chiave esterna vengono specificati con uno spazio tra l'uno e l'altro. Tra i valori specificati per la chiave a più colonne e la chiave esterna corrispondente, viene applicato un mapping posizionale.

Nota

È necessario verificare che i tipi di dati di Microsoft SQL Server di key e foreign-key siano tali da poter essere convertiti in modo implicito se necessario.

Il tag sql:relationship può essere aggiunto solo a elementi <element> o <attribute>in uno schema con annotazioni. Quando si specifica sql:relationship in un attributo, è necessario che siano definiti un tag sql:relation e un tag sql:field per l'attributo per garantire il recupero di un singolo valore (più attributi dello stesso nome non sono validi in XML). Quando si specifica sql:relationship in un elemento, la relazione può restituire un singolo valore o un set di valori.

Il tag sql:relationship viene utilizzato per specificare una singola relazione logica tra due entità. Gli attributi definiscono le relazioni e i campi utilizzati per definire la relazione logica. È possibile specificare più istanze di sql:relationship all'interno di un elemento o di un attributo nello schema con annotazioni, a indicare una relazione complessa tra l'elemento o l'attributo e il relativo elemento contenuto. Tutte le istanze di sql:relationship vengono utilizzate insieme per definire la relazione complessa.

Quando all'interno di un elemento o un attributo sono specificate più istanze del tag sql:relationship, l'ordine in cui vengono visualizzate costituisce un aspetto significativo.

L'annotazione sql:key-fields deve essere specificata in un elemento contenente un elemento figlio e un tag sql:relationship, definito tra l'elemento e il figlio, che non fornisce la chiave primaria della tabella specificata nell'elemento padre. Per ulteriori informazioni, vedere Identificazione delle colonne chiave mediante sql:key-fields (SQLXML 4.0). Per produrre la nidificazione appropriata nel risultato, è consigliabile specificare sql:key-fields in tutti gli schemi.

Nota

Nello schema di mapping i valori relazionali, quali il nome della tabella e il nome della colonna, rispettano la distinzione tra maiuscole e minuscole.

Esempi

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

A. Specificare sql:relationship in un elemento <element>

In questo schema XDR con annotazioni sono inclusi gli elementi <Customer> e <Order>. L'elemento <Order> è un elemento figlio dell'elemento <Customer>.

Nello schema l'annotazione sql:relationship viene specificata nell'elemento figlio <Order>. L'annotazione identifica CustomerID nella tabella Sales.SalesOrderHeader come chiave esterna che fa riferimento alla chiave primaria CustomerID nella tabella Sales.Customer. Gli ordini appartenenti a un cliente, pertanto, vengono visualizzati come elementi figlio dell'elemento <Customer>.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Order" sql:relation="Sales.SalesOrderHeader" >
    <AttributeType name="CustomerID" />
    <AttributeType name="SalesOrderID" />
    <AttributeType name="OrderDate" />

    <attribute type="CustomerID" />
    <attribute type="SalesOrderID" />
    <attribute type="OrderDate" />
</ElementType>
<ElementType name="Customer" sql:relation="Sales.Customer" >
    <AttributeType name="CustomerID" />
    <attribute type="CustomerID" />
    <element type="Order" >
             <sql:relationship 
                     key-relation="Sales.Customer"
                    key="CustomerID"
                    foreign-key="CustomerID"
                    foreign-relation="Sales.SalesOrderHeader" />
    </element>
</ElementType>
</Schema>

Nota

Nello schema di mapping i valori relazionali, quali il nome della tabella e il nome della colonna, rispettano la distinzione tra maiuscole e minuscole. Nell'esempio precedente Customers è il valore dell'attributo sql:relation. Il valore dell'attributo key-relation corrispondente deve anch'esso essere Customers.

Per testare una query Xpath di esempio sullo schema

  1. Copiare il codice dello schema precedente e incollarlo in un file di testo. Salvare il file con il nome sql-relationship-xdr.xml.

  2. Copiare il modello seguente e incollarlo in un file di testo. Salvare il file con il nome sql-relationship-xdrT.xml nella stessa directory in cui è stato salvato il file sql-relationship-xdr.xml. La query nel modello seleziona un cliente con CustomerID 1.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="sql-relationship-xdr.xml">
        Customer[@CustomerID="1"]
      </sql:xpath-query>
    </ROOT>
    

    Il percorso di directory specificato per lo schema di mapping (sql-relationship-xdr.xml) è relativo alla directory in cui è salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:

    mapping-schema="C:\SqlXmlTest\sql-relationship-xdr.xml"
    
  3. Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.

    Per ulteriori informazioni, vedere Utilizzo di ADO per eseguire query SQLXML 4.0.

Di seguito è riportato il set di risultati parziale:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Customer CustomerID="1">
    <Order CustomerID="1" SalesOrderID="43860" OrderDate="2005-08-01T00:00:00" /> 
    <Order CustomerID="1" SalesOrderID="44501" OrderDate="2005-11-01T00:00:00" /> 
    <Order CustomerID="1" SalesOrderID="45283" OrderDate="2006-02-01T00:00:00" /> 
    <Order CustomerID="1" SalesOrderID="46042" OrderDate="2006-05-01T00:00:00" /> 
  </Customer>
</ROOT>

B. Specificare sql:relationship in un elemento <attribute> e creare riferimenti del documento tramite ID e IDREFS.

In questo esempio vengono specificati riferimenti del documento locali tramite ID e IDREFS. Lo schema XDR di esempio è costituito da un elemento <Customer> mappato alla tabella Sales.Customer. Questo elemento è costituito da un elemento figlio <Order> mappato alla tabella Sales.SalesOrderHeader.

Nell'esempio sql:relationship è specificato due volte:

  • L'annotazione sql:relationship è specificata nell'elemento figlio <Order>. Gli ordini appartenenti a un cliente, pertanto, verranno visualizzati come elementi figlio dell'elemento <Customer>.

  • L'annotazione sql:relationship viene inoltre specificata nell'attributo OrderIDList dell'elemento <Customer>. Questo attributo viene definito come tipo IDREFS che fa riferimento all'attributo SalesOrderID (attributo di tipo ID) dell'elemento <Order>. sql:relationship è pertanto obbligatoria. In questo caso, l'annotazione sql:relationship consente la visualizzazione di un elenco di ordini appartenenti a un cliente con l'elemento <Customer>.

    Gli attributi specificati come IDREFS possono essere utilizzati per fare riferimento ad attributi di tipo ID, in modo da consentire i collegamenti tra i documenti.

Poiché i numeri non sono valori ID validi (devono essere token di nome), è stato utilizzato sql:id-prefix per rendere OrderID un valore stringa. Per ulteriori informazioni, vedere Creazione di attributi di tipo ID, IDREF e IDREFS validi tramite sql:id-prefix (schema XDR).

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <ElementType name="Order" sql:relation="Sales.SalesOrderHeader" >
    <AttributeType name="SalesOrderID" dt:type="id" sql:id-prefix="Ord-" />
    <AttributeType name="OrderDate" />
 
    <attribute type="SalesOrderID" />
    <attribute type="OrderDate" />
  </ElementType>

  <ElementType name="Customer" sql:relation="Sales.Customer">
    <AttributeType name="CustomerID"  />

    <attribute type="CustomerID" />
    <AttributeType name="OrderIDList" dt:type="idrefs" 
                                      sql:id-prefix="Ord-"/>
    <attribute type="OrderIDList" sql:relation="Sales.SalesOrderHeader" 
                                  sql:field="SalesOrderID">
                 <sql:relationship
                      key-relation="Sales.Customer"
                      key="CustomerID"
                      foreign-relation="Sales.SalesOrderHeader"
                      foreign-key="CustomerID" />
    </attribute>
    <element type="Order">
                 <sql:relationship key-relation="Sales.Customer"
                      key="CustomerID"
                      foreign-relation="Sales.SalesOrderHeader"
                      foreign-key="CustomerID" />
    </element>
  </ElementType>
</Schema>

Per testare una query Xpath di esempio sullo schema

  1. Copiare il codice dello schema precedente e incollarlo in un file di testo. Salvare il file con il nome idIdref-xdr.xml.

  2. Copiare il modello seguente e incollarlo in un file di testo. Salvare il file con il nome idIdref-xdrT.xml nella stessa directory in cui è stato salvato idIdref-xdr.xml. La query nel modello seleziona un cliente con CustomerID 1.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="idIdref-xdr.xml">
        Customer[@CustomerID="1"]
      </sql:xpath-query>
    </ROOT>
    

    Il percorso di directory specificato per lo schema di mapping (idIdref-xdr.xml) è relativo alla directory in cui è salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:

    mapping-schema="C:\SqlXmlTest\idIdref-xdr.xml"
    
  3. Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.

    Per ulteriori informazioni, vedere Utilizzo di ADO per eseguire query SQLXML 4.0.

Di seguito viene fornito il set di risultati:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Customer CustomerID="1" 
            OrderIDList="Ord-43860 Ord-44501 Ord-45283 Ord-46042">
    <Order SalesOrderID="Ord-43860" OrderDate="2005-08-01T00:00:00" /> 
    <Order SalesOrderID="Ord-44501" OrderDate="2005-11-01T00:00:00" /> 
    <Order SalesOrderID="Ord-45283" OrderDate="2006-02-01T00:00:00" /> 
    <Order SalesOrderID="Ord-46042" OrderDate="2006-05-01T00:00:00" /> 
  </Customer>
</ROOT>

C. Specificare sql:relationship in più elementi

In questo esempio lo schema XDR con annotazioni è costituito dagli elementi <Customer>, <Order> e <OD>.

L'elemento <Order> è un elemento figlio dell'elemento <Customer>. Poiché l'annotazione sql:relationship è specificata nell'elemento figlio <Order>, gli ordini appartenenti a un cliente vengono visualizzati come elementi figlio di <Customer>.

L'elemento <Order> include l'elemento figlio <OD>. Poiché l'annotazione sql:relationship è specificata nell'elemento figlio <OD>, i dettagli relativi agli ordini appartenenti a un ordine vengono visualizzati come elementi figlio dell'elemento <Order>.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<ElementType name="OD" sql:relation="Sales.SalesOrderDetail" >
    <AttributeType name="SalesOrderID" />
    <AttributeType name="ProductID" />

    <attribute type="SalesOrderID" />
    <attribute type="ProductID" />
</ElementType>

<ElementType name="Order" sql:relation="Sales.SalesOrderHeader" >
    <AttributeType name="CustomerID" />
    <AttributeType name="SalesOrderID" />
    <AttributeType name="OrderDate" />

    <attribute type="CustomerID" />
    <attribute type="SalesOrderID" />
    <attribute type="OrderDate" />
    <element type="OD" >
             <sql:relationship 
                   key-relation="Sales.SalesOrderHeader"
                   key="SalesOrderID"
                   foreign-key="SalesOrderID"
                   foreign-relation="Sales.SalesOrderDetail" />
    </element>
</ElementType>

<ElementType name="Customer" sql:relation="Sales.Customer" >
    <AttributeType name="CustomerID" />

    <attribute type="CustomerID" />
    <element type="Order" >
      <sql:relationship 
                key-relation="Sales.Customer"
                key="CustomerID"
                foreign-key="CustomerID"
                foreign-relation="Sales.SalesOrderHeader" />
    </element>
</ElementType>
</Schema>

Per testare una query Xpath di esempio sullo schema

  1. Copiare il codice dello schema precedente e incollarlo in un file di testo. Salvare il file con il nome sql-relationship-multi-xdr.xml.

  2. Copiare il modello seguente e incollarlo in un file di testo. Salvare il file con il nome sql-relationship-multi-xdrT.xml nella stessa directory in cui è stato salvato il file sql-relationship-multi-xdr.xml. La query nel modello restituisce informazioni sugli ordini per un cliente con CustomerID 1 e SalesOrderID 43860.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="sql-relationship-multi-xdr.xml">
        /Customer[@CustomerID="1"]/Order[@SalesOrderID=43860]
      </sql:xpath-query>
    </ROOT>
    

    Il percorso di directory specificato per lo schema di mapping (sql-relationship-multi-xdr.xml) è relativo alla directory in cui è salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:

    mapping-schema="C:\SqlXmlTest\sql-relationship-multi-xdr.xml"
    
  3. Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.

    Per ulteriori informazioni, vedere Utilizzo di ADO per eseguire query SQLXML 4.0.

Set di risultati:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Order CustomerID="1" SalesOrderID="43860" OrderDate="2005-08-01T00:00:00">
    <OD SalesOrderID="43860" ProductID="761" /> 
    <OD SalesOrderID="43860" ProductID="770" /> 
    <OD SalesOrderID="43860" ProductID="758" /> 
    <OD SalesOrderID="43860" ProductID="765" /> 
    <OD SalesOrderID="43860" ProductID="732" /> 
    <OD SalesOrderID="43860" ProductID="762" /> 
    <OD SalesOrderID="43860" ProductID="738" /> 
    <OD SalesOrderID="43860" ProductID="768" /> 
    <OD SalesOrderID="43860" ProductID="753" /> 
    <OD SalesOrderID="43860" ProductID="729" /> 
    <OD SalesOrderID="43860" ProductID="763" /> 
    <OD SalesOrderID="43860" ProductID="756" /> 
  </Order>
</ROOT>

D. Specificare relazioni indirette

In questo esempio lo schema XDR con annotazioni è costituito dagli elementi <Customer> e <OD>. La relazione tra questi elementi è indiretta (la tabella Sales.Customer è correlata alla tabella Sales.SalesOrderDetail tramite la tabella Sales.SalesOrderHeader). Per correlare un cliente ai dettagli relativi agli ordini, viene specificata prima la cartella Sales.Customer e quindi la cartella Sales.SalesOrderHeader. Viene quindi specificata la relazione tra le tabelle Sales.SalesOrderHeader e Sales.SalesOrderDetail.

Lo schema è il seguente:

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="OD" sql:relation="Sales.SalesOrderDetail" >
    <AttributeType name="SalesOrderID" />
    <AttributeType name="ProductID" />
    <AttributeType name="UnitPrice" />

    <attribute type="SalesOrderID" />
    <attribute type="ProductID" />
    <attribute type="UnitPrice" />
</ElementType>
<ElementType name="Customer" sql:relation="Sales.Customer" >
    <AttributeType name="CustomerID" />
    <attribute type="CustomerID" />
    <element type="OD" >
             <sql:relationship 
                    key-relation="Sales.Customer"
                    key="CustomerID"
                    foreign-relation="Sales.SalesOrderHeader"
                    foreign-key="CustomerID"/>
             <sql:relationship 
                    key-relation="Sales.SalesOrderHeader"
                    key="SalesOrderID"
                    foreign-relation="Sales.SalesOrderDetail" 
                    foreign-key="SalesOrderID" />
    </element>
</ElementType>
</Schema>

Per testare una query Xpath di esempio sullo schema

  1. Copiare il codice dello schema precedente e incollarlo in un file di testo. Salvare il file con il nome indirect-relationship-xdr.xml.

  2. Copiare il modello seguente e incollarlo in un file di testo. Salvare il file con il nome indirect-relationship-xdrT.xml nella stessa directory in cui è stato salvato il file indirect-relationship-xdr.xml. La query nel modello restituisce informazioni sull'ordine per un cliente con CustomerID 1.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
    <sql:xpath-query mapping-schema="indirect-relationship-xdr.xml" >
    /Customer[@CustomerID="1"]
    </sql:xpath-query>
    </ROOT>
    

    Il percorso di directory specificato per lo schema di mapping (indirect-relationship-xdr.xml) è relativo alla directory in cui è salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:

    mapping-schema="C:\SqlXmlTest\indirect-relationship-xdr.xml"
    
  3. Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.

    Per ulteriori informazioni, vedere Utilizzo di ADO per eseguire query SQLXML 4.0.

Di seguito è riportato il risultato parziale:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Customer CustomerID="1">
    <OD SalesOrderID="43860" ProductID="761" UnitPrice="503.3507" /> 
    <OD SalesOrderID="43860" ProductID="770" UnitPrice="503.3507" /> 
    <OD SalesOrderID="43860" ProductID="758" UnitPrice="1049.7528" /> 
    <OD SalesOrderID="43860" ProductID="765" UnitPrice="503.3507" /> 
    ...
  </Customer>
  </ROOT>

E. Specificare relazioni di join con più chiavi

Nello specificare un join utilizzando sql:relationship, è possibile specificare un join che interessa due o più colonne. In questo caso, i nomi di colonna per key e foreign-key sono elencati utilizzando un spazio.

Nell'esempio si presuppone che queste due tabelle si trovino in un database temporaneo (ad esempio tempdb):

  • dbo.Cust (fname, lname)

  • dbo.Ord (OrderID, fname, lname)

Le colonne fname e lname formano la chiave primaria della tabella Cust. OrderID è la chiave primaria della tabella Ord. Le colonne fname e lname nella tabella Ord sono chiavi esterne che fanno riferimento alla chiave primaria costituita da fname e lname della tabella Cust.

Questo schema è costituito dagli elementi <Cust> e <Ord>. Viene utilizzata l'annotazione sql:relationship per unire in join tali elementi.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Ord" sql:relation="Ord" >
    <AttributeType name="OrderID" />

    <attribute type="OrderID" />
</ElementType>

<ElementType name="Cust" sql:relation="Cust" >
    <AttributeType name="fname" />
    <AttributeType name="lname" />
    <attribute type="fname" />
    <attribute type="lname" />
    <element type="Ord" >
             <sql:relationship 
                    key-relation="Cust"
                    key="fname lname"
                    foreign-relation="Ord"
                    foreign-key="fname lname"/>
    </element>
</ElementType>
</Schema>

Per testare una query XPath di esempio sullo schema

  1. Creare le due tabelle: Cust e Ord.

    USE tempdb
    CREATE TABLE dbo.Cust(
           fname  varchar(20), 
           lname   varchar(20)
           )
    CREATE TABLE dbo.Ord (
           OrderID int primary key, 
           fname  varchar(20), 
           lname   varchar(20)
           )
    GO
    
  2. Aggiungere i dati di esempio seguenti:

    INSERT INTO Cust values ('Nancy', 'Davolio')
    INSERT INTO Cust values('Andrew', 'Fuller')
    INSERT INTO Ord values (1,'Nancy', 'Davolio')
    INSERT INTO Ord values (2,'Nancy', 'Davolio')
    INSERT INTO Ord values (3,'Andrew', 'Fuller')
    
  3. Copiare il codice dello schema precedente e incollarlo in un file di testo. Salvare il file con il nome multikey-join-xdr.xml.

  4. Copiare il modello seguente e incollarlo in un file di testo. Salvare il file con il nome multikey-join-xdrT.xml nella stessa directory in cui è stato salvato il file multikey-join-xdr.xml. La query nel modello restituisce le informazioni sui clienti.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
      <sql:xpath-query mapping-schema="multikey-join-xdr.xml" >
        /Cust
      </sql:xpath-query>
    </ROOT>
    

    Il percorso di directory specificato per lo schema di mapping (multikey-join-xdr.xml) è relativo alla directory nella quale viene salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:

    mapping-schema="C:\SqlXmlTest\multikey-join-xdr.xml"
    
  5. Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.

    Per ulteriori informazioni, vedere Utilizzo di ADO per eseguire query SQLXML 4.0.

Di seguito è riportato il risultato parziale:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> 
  <Cust fname="Andrew" lname="Fuller"> 
    <Ord OrderID="3" /> 
  </Cust> 
  <Cust fname="Nancy" lname="Davolio"> 
    <Ord OrderID="1" /> 
    <Ord OrderID="2" /> 
  </Cust> 
</ROOT>

Vedere anche

Riferimento