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.
L’exemple suivant montre comment les opérateurs booléens sont spécifiés dans les requêtes XPath. La requête XPath de cet exemple est spécifiée 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. Spécifier l’opérateur booléen OR
Cette requête XPath retourne les enfants de l’élément <Customer> du nœud de contexte avec la valeur d’attribut CustomerID de 13 ou 31 :
/child::Customer[attribute::CustomerID="13" or attribute::CustomerID="31"]
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 :
/Customer[@CustomerID="13" or @CustomerID="31"]
Dans le prédicat, attribute est l’axe et CustomerID est le test de nœud (TRUE si CustomerID est un nœud d’attribut<>, car le <nœud d’attribut> est le nœud principal de l’axeattribute). Le prédicat filtre les <éléments Customer> et retourne uniquement ceux qui répondent à la condition spécifiée dans le prédicat.
Pour tester les requêtes 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 (BooleanOperatorsA.xml) et enregistrez-le dans le répertoire où SampleSchema1.xml est enregistré.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer[@CustomerID="13" or @CustomerID="31"] </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">
<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />
<Customer CustomerID="31" SalesPersonID="286" TerritoryID="7" AccountNumber="31" CustomerType="S" Orders="Ord-51803 Ord-69427">
<Order SalesOrderID="Ord-51803" SalesPersonID="286" OrderDate="2003-08-01T00:00:00" DueDate="2003-08-13T00:00:00" ShipDate="2003-08-08T00:00:00">
<OrderDetail ProductID="Prod-718" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-838" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />
</Order>
<Order SalesOrderID="Ord-69427" SalesPersonID="286" OrderDate="2004-05-01T00:00:00" DueDate="2004-05-13T00:00:00" ShipDate="2004-05-08T00:00:00">
<OrderDetail ProductID="Prod-835" UnitPrice="440.1742" OrderQty="1" UnitPriceDiscount="0" />
</Order>
</Customer>
</ROOT>