Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el ejemplo siguiente se muestra cómo se especifican los operadores booleanos en las consultas XPath. La consulta XPath de este ejemplo se especifica en el esquema de asignación contenido en SampleSchema1.xml. Para obtener información sobre este esquema de ejemplo, vea Ejemplo de esquema XSD anotado para ejemplos de XPath (SQLXML 4.0).
Ejemplos
Un. Especificar el operador booleano OR
Esta consulta XPath devuelve los <elementos secundarios customer> del nodo de contexto con el valor del atributo CustomerID de 13 o 31:
/child::Customer[attribute::CustomerID="13" or attribute::CustomerID="31"]
Se puede especificar un acceso directo al attribute eje (@) y, dado que el child eje es el valor predeterminado, se puede omitir:
/Customer[@CustomerID="13" or @CustomerID="31"]
En el predicado, attribute es el eje y CustomerID es la prueba de nodo (TRUE si CustomerID es un <nodo de atributo> , porque el <nodo de atributo> es el nodo principal del attribute eje). El predicado filtra los <elementos Customer> y devuelve solo los que cumplen la condición especificada en el predicado.
Para probar las consultas XPath en el esquema de asignación
Copie el código de esquema de ejemplo y péguelo en un archivo de texto. Guarde el archivo como SampleSchema1.xml.
Cree la plantilla siguiente (BooleanOperatorsA.xml) y guárdela en el directorio donde se guarda SampleSchema1.xml.
<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>La ruta de acceso del directorio especificada para el esquema de asignación (SampleSchema1.xml) es relativa al directorio donde se guarda la plantilla. También puede especificarse una ruta de acceso absoluta como, por ejemplo:
mapping-schema="C:\MyDir\SampleSchema1.xml"Cree y use el script de prueba SQLXML 4.0 (Sqlxml4test.vbs) para ejecutar la plantilla.
Para obtener más información, consulte Uso de ADO para ejecutar consultas SQLXML 4.0.
Este es el conjunto de resultados de la ejecución de la plantilla:
<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>