Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les exemples suivants montrent comment les fonctions de conversion explicites sont spécifiées dans les requêtes XPath. Les requêtes XPath de ces exemples sont spécifiées par rapport au schéma de mappage contenu dans SampleSchema1.xml. Pour plus d’informations sur cet exemple de schéma, consultez Exemple de schéma XSD annoté pour les exemples XPath (SQLXML 4.0).
Exemples
Un. Utiliser la fonction de conversion explicite number()
La number() fonction convertit un argument en nombre.
En supposant que la valeur de ContactID n’est pas numérique, la requête suivante convertit ContactID en nombre et la compare à la valeur 4. La requête retourne ensuite tous les <enfants d’élément Employee> du nœud de contexte avec l’attribut ContactID dont la valeur numérique est 4 :
/child::Contact[number(attribute::ContactID)= 4]
Un raccourci vers l’axe attribute (@) peut être spécifié et, étant donné que l’axe child est la valeur par défaut, il peut être omis à partir de la requête :
/Contact[number(@ContactID) = 4]
En termes relationnels, la requête retourne un employé avec un ContactID de 4.
Pour tester la requête XPath sur le schéma de mappage
Copiez l’exemple de code de schéma et collez-le dans un fichier texte. Enregistrez le fichier en tant que SampleSchema1.xml.
Créez le modèle suivant (ExplicitConversionA.xml) et enregistrez-le dans le répertoire où SampleSchema1.xml a été enregistré.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Contact[number(@ContactID)=4] </sql:xpath-query> </ROOT>Le chemin d’accès au répertoire spécifié pour le schéma de mappage (SampleSchema1.xml) est relatif au répertoire dans lequel le modèle est enregistré. Vous pouvez également spécifier un chemin d'accès absolu, par exemple :
mapping-schema="C:\MyDir\SampleSchema1.xml"Créez et utilisez le script de test SQLXML 4.0 (Sqlxml4test.vbs) pour exécuter le modèle.
Pour plus d'informations, voir Utilisation d'ADO pour exécuter des requêtes SQLXML 4.0.
Le jeu de résultats pour cette exécution de modèle est le suivant :
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>
B. Utiliser la fonction de conversion explicite string()
La string() fonction convertit un argument en chaîne.
La requête suivante convertit ContactID en chaîne et la compare à la valeur de chaîne « 4 ». La requête retourne tous les <enfants d’élément Employee> du nœud de contexte avec un ContactID avec une valeur de chaîne « 4 » :
/child::Contact[string(attribute::ContactID)="4"]
Un raccourci vers l’axe attribute (@) peut être spécifié et, étant donné que l’axe child est la valeur par défaut, il peut être omis à partir de la requête :
/Contact[string(@ContactID)="4"]
Fonctionnellement, cette requête retourne les mêmes résultats que la requête d’exemple précédente, bien que l’évaluation soit effectuée sur une valeur de chaîne et non sur la valeur numérique (autrement dit, le nombre 4).
Pour tester la requête XPath sur le schéma de mappage
Copiez l’exemple de code de schéma et collez-le dans un fichier texte. Enregistrez le fichier en tant que SampleSchema1.xml.
Créez le modèle suivant (ExplicitConversionB.xml) et enregistrez-le dans le répertoire où SampleSchema1.xml a été enregistré.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Contact[string(@ContactID)="4"] </sql:xpath-query> </ROOT>Le chemin d’accès au répertoire spécifié pour le schéma de mappage (SampleSchema1.xml) est relatif au répertoire dans lequel le modèle est enregistré. Vous pouvez également spécifier un chemin d'accès absolu, par exemple :
mapping-schema="C:\MyDir\SampleSchema1.xml"Créez et utilisez le script de test SQLXML 4.0 (Sqlxml4test.vbs) pour exécuter le modèle.
Pour plus d'informations, voir Utilisation d'ADO pour exécuter des requêtes SQLXML 4.0.
Voici le jeu de résultats de l’exécution du modèle :
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>