Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Negli esempi seguenti viene illustrato come vengono specificate le funzioni di conversione esplicite nelle query XPath. Le query XPath in questi esempi vengono specificate sullo schema di mapping contenuto in SampleSchema1.xml. Per informazioni su questo schema di esempio, vedere Schema XSD con annotazioni di esempio per esempi XPath (SQLXML 4.0).
Esempi
Un. Usare la funzione di conversione esplicita number()
La number() funzione converte un argomento in un numero.
Supponendo che il valore di ContactID sia non numerico, la query seguente converte ContactID in un numero e la confronta con il valore 4. La query restituisce quindi tutti gli<> elementi figlio employee del nodo di contesto con l'attributo ContactID con un valore numerico pari a 4:
/child::Contact[number(attribute::ContactID)= 4]
È possibile specificare un collegamento all'asse attribute (@) e, poiché l'asse è l'impostazione child predefinita, può essere omesso dalla query:
/Contact[number(@ContactID) = 4]
In termini relazionali, la query restituisce un dipendente con contactID pari a 4.
Per testare la query XPath sullo schema di mapping
Copiare il codice dello schema di esempio e incollarlo in un file di testo. Salvare il file come SampleSchema1.xml.
Creare il modello seguente (ExplicitConversionA.xml) e salvarlo nella directory in cui è stato salvato SampleSchema1.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Contact[number(@ContactID)=4] </sql:xpath-query> </ROOT>Il percorso della directory specificato per lo schema di mapping (SampleSchema1.xml) è relativo alla directory in cui viene salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:
mapping-schema="C:\MyDir\SampleSchema1.xml"Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.
Per altre informazioni, vedere Uso di ADO per eseguire query SQLXML 4.0.
Il set di risultati per questa esecuzione del modello è:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>
B. Usare la funzione di conversione esplicita string()
La string() funzione converte un argomento in una stringa.
La query seguente converte ContactID in una stringa e la confronta con il valore stringa "4". La query restituisce tutti gli<> elementi figlio employee del nodo di contesto con un ContactID con un valore stringa "4":
/child::Contact[string(attribute::ContactID)="4"]
È possibile specificare un collegamento all'asse attribute (@) e, poiché l'asse è l'impostazione child predefinita, può essere omesso dalla query:
/Contact[string(@ContactID)="4"]
A livello funzionale, questa query restituisce gli stessi risultati della query di esempio precedente, anche se la valutazione viene eseguita su un valore stringa e non sul valore numerico ( ovvero il numero 4).
Per testare la query XPath sullo schema di mapping
Copiare il codice dello schema di esempio e incollarlo in un file di testo. Salvare il file come SampleSchema1.xml.
Creare il modello seguente (ExplicitConversionB.xml) e salvarlo nella directory in cui è stato salvato SampleSchema1.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Contact[string(@ContactID)="4"] </sql:xpath-query> </ROOT>Il percorso della directory specificato per lo schema di mapping (SampleSchema1.xml) è relativo alla directory in cui viene salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:
mapping-schema="C:\MyDir\SampleSchema1.xml"Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.
Per altre informazioni, vedere Uso di ADO per eseguire query SQLXML 4.0.
Di seguito è riportato il set di risultati dell'esecuzione del modello:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>