Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die folgenden Beispiele zeigen, wie boolesche Funktionen in XPath-Abfragen angegeben werden. Die XPath-Abfragen in diesen Beispielen werden anhand des Zuordnungsschemas angegeben, das in SampleSchema1.xmlenthalten ist. Informationen zu diesem Beispielschema finden Sie unter "Beispiel für XSD-Schema für XPath-Beispiele (SQLXML 4.0)".
Beispiele
Ein. Angeben der booleschen Funktion not()
Diese Abfrage gibt alle <untergeordneten Customer-Elemente> des Kontextknotens zurück, die keine untergeordneten Elemente von Order> aufweisen<:
/child::Customer[not(child::Order)]
Die child Achse ist die Standardeinstellung. Daher kann die Abfrage wie möglich angegeben werden:
/Customer[not(Order)]
So testen Sie die XPath-Abfrage mit dem Zuordnungsschema
Kopieren Sie den Beispielschemacode , und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei als SampleSchema1.xml.
Erstellen Sie die folgende Vorlage (BooleanFunctionsA.xml), und speichern Sie sie im Verzeichnis, in dem SampleSchema1.xml gespeichert wird.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Customer[not(Order)] </sql:xpath-query> </ROOT>Der für das Zuordnungsschema (SampleSchema1.xml) angegebene Verzeichnispfad ist relativ zum Verzeichnis, in dem die Vorlage gespeichert wird. Es kann auch ein absoluter Pfad angegeben werden. Beispiel:
mapping-schema="C:\MyDir\SampleSchema1.xml"Erstellen und verwenden Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs), um die Vorlage auszuführen.
Weitere Informationen finden Sie unter Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen.
Dies ist der partielle Resultset der Vorlagenausführung:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />
<Customer CustomerID="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />
<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />
...
</ROOT>
B. Angeben der funktionen true() und false() boolean
Diese Abfrage gibt alle <untergeordneten Elemente des Kundenelements> des Kontextknotens zurück <, der nicht über untergeordnete Order-Elemente> verfügt. In relationalen Ausdrücken gibt diese Abfrage alle Kunden zurück, die keine Bestellungen getätigt haben.
/child::Customer[child::Order=false()]
Die child Achse ist die Standardeinstellung. Daher kann die Abfrage wie möglich angegeben werden:
/Customer[Order=false()]
Diese Abfrage entspricht Folgendem:
/Customer[not(Order)]
Die folgende Abfrage gibt alle Kunden zurück, die mindestens eine Bestellung aufgegeben haben:
/Customer[Order=true()]
Diese Abfrage entspricht dieser Abfrage:
/Customer[Order]
So testen Sie die XPath-Abfrage mit dem Zuordnungsschema
Kopieren Sie den Beispielschemacode , und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei als SampleSchema1.xml.
Erstellen Sie die folgende Vorlage (BooleanFunctionsB.xml), und speichern Sie sie im Verzeichnis, in dem SampleSchema1.xml gespeichert wird.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer[Order=false()] </sql:xpath-query> </ROOT>Der für das Zuordnungsschema (SampleSchema1.xml) angegebene Verzeichnispfad ist relativ zum Verzeichnis, in dem die Vorlage gespeichert wird. Es kann auch ein absoluter Pfad angegeben werden. Beispiel:
mapping-schema="C:\MyDir\SampleSchema1.xml"Erstellen und verwenden Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs), um die Vorlage auszuführen.
Weitere Informationen finden Sie unter Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen.
Dies ist der partielle Resultset der Vorlagenausführung:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />
<Customer CustomerID="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />
<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />
...
</ROOT>