Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
De volgende voorbeelden laten zien hoe Booleaanse functies worden gespecificeerd in XPath-queries. De XPath-queries in deze voorbeelden zijn gespecificeerd tegen het mappingschema dat in SampleSchema1.xmlis opgenomen. Voor informatie over dit voorbeeldschema, zie Voorbeeld Geannoteerd XSD-schema voor XPath-voorbeelden (SQLXML 4.0).
Voorbeelden
Eén. Specificeer de not() Booleaanse functie
Deze query geeft alle <Customer-kindelementen> van de contextnode terug die geen Order-kindelementen> hebben<:
/child::Customer[not(child::Order)]
De kindas is de standaard. Daarom kan de query worden gespecificeerd als:
/Customer[not(Order)]
Om de XPath-query te testen tegen het mappingschema
Kopieer de voorbeeldschemacode en plak deze in een tekstbestand. Sla het bestand op als SampleSchema1.xml.
Maak de volgende template aan (BooleanFunctionsA.xml) en sla deze op in de map waar SampleSchema1.xml is opgeslagen.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Customer[not(Order)] </sql:xpath-query> </ROOT>Het directorypad dat voor het mappingschema (SampleSchema1.xml) is gespecificeerd is relatief tot de map waar het sjabloon wordt opgeslagen. Een absoluut pad kan ook worden gespecificeerd, bijvoorbeeld:
mapping-schema="C:\MyDir\SampleSchema1.xml"Maak het SQLXML 4.0 Test Script (Sqlxml4test.vbs) aan en gebruik het om het sjabloon uit te voeren.
Zie ADO gebruiken om SQLXML 4.0-query's uit te voeren voor meer informatie.
Hier is de gedeeltelijke resultaatset van de template-uitvoering:
<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. Specificeer de true() en false() Booleaanse functies
Deze query geeft alle <Customer-elementkinderen> van de contextnode terug die geen Order-kindelementen> hebben<. In relationele termen levert deze query alle klanten op die geen bestellingen hebben geplaatst.
/child::Customer[child::Order=false()]
De kindas is de standaard. Daarom kan de query worden gespecificeerd als:
/Customer[Order=false()]
Deze query is gelijk aan het volgende:
/Customer[not(Order)]
De volgende zoekopdracht geeft alle klanten terug die ten minste één bestelling hebben geplaatst:
/Customer[Order=true()]
Deze vraag is gelijkwaardig aan deze:
/Customer[Order]
Om de XPath-query te testen tegen het mappingschema
Kopieer de voorbeeldschemacode en plak deze in een tekstbestand. Sla het bestand op als SampleSchema1.xml.
Maak de volgende template aan (BooleanFunctionsB.xml) en sla deze op in de map waar SampleSchema1.xml is opgeslagen.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer[Order=false()] </sql:xpath-query> </ROOT>Het directorypad dat voor het mappingschema (SampleSchema1.xml) is gespecificeerd is relatief tot de map waar het sjabloon wordt opgeslagen. Een absoluut pad kan ook worden gespecificeerd, bijvoorbeeld:
mapping-schema="C:\MyDir\SampleSchema1.xml"Maak het SQLXML 4.0 Test Script (Sqlxml4test.vbs) aan en gebruik het om het sjabloon uit te voeren.
Zie ADO gebruiken om SQLXML 4.0-query's uit te voeren voor meer informatie.
Hier is de gedeeltelijke resultaatset van de template-uitvoering:
<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>