Udostępnij za pomocą


Określanie zmiennych XPath w zapytaniach XPath (SQLXML 4.0)

Dotyczy:programu SQL ServerAzure SQL Database

Poniższe przykłady pokazują, jak zmienne XPath są przekazywane w zapytaniach XPath. Zapytania XPath w tych przykładach są określone względem schematu odwzorowania zawartego w SampleSchema1.xml. Aby uzyskać informacje o tym przykładowym schemacie, zobacz Przykładowy annotowany schemat XSD dla przykładów XPath (SQLXML 4.0).

Przykłady

A. Użyj zmiennych XPath

Przykładowy szablon składa się z dwóch zapytań XPath. Każde zapytanie XPath przyjmuje jeden parametr. Szablon określa również domyślne wartości dla tych parametrów. Domyślne wartości są używane, jeśli wartości parametrów nie są określone. W sql:header> określone są dwa parametry o domyślnych wartościach<.

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
  <sql:header>  
     <sql:param name='CustomerID'>1</sql:param>  
     <sql:param name='ContactID'>1</sql:param>   
  </sql:header>  
  <sql:xpath-query mapping-schema="SampleSchema1.xml">  
    Customer[@CustomerID=$CustomerID]   
  </sql:xpath-query >  
  <sql:xpath-query mapping-schema="SampleSchema1.xml">  
   Contact[@ContactID=$ContactID]   
  </sql:xpath-query>  
</ROOT>  
Aby przetestować zapytanie XPath względem schematu mapowania
  1. Skopiuj przykładowy kod schematu i wklej go do pliku tekstowego. Zapisz plik jako SampleSchema1.xml.

  2. Stwórz następujący szablon (XPathVariables.xml) i zapisz go w katalogu, gdzie:

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
      <sql:header>  
         <sql:param name='CustomerID'>1</sql:param>  
         <sql:param name='ContactID'>1</sql:param>   
      </sql:header>  
      <sql:xpath-query mapping-schema="SampleSchema1.xml">  
        Customer[@CustomerID=$CustomerID]   
      </sql:xpath-query >  
      <sql:xpath-query mapping-schema="SampleSchema1.xml">  
       Contact[@ContactID=$ContactID]   
      </sql:xpath-query>  
    </ROOT>  
    

    Ścieżka katalogu określona dla schematu mapowania (SampleSchema1.xml) jest względna względem katalogu, w którym zapisany jest szablon. Można również określić ścieżkę bezwzględną, na przykład:

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. Utworzenie i użycie testowego skryptu SQLXML 4.0 (Sqlxml4test.vbs) do wykonania szablonu. Aby uzyskać więcej informacji, zobacz Using ADO to Execute SQLXML 4.0 Queries (Używanie narzędzia ADO do wykonywania zapytań SQLXML 4.0).

Uwaga / Notatka

W tym przykładzie nie są przekazywane żadne parametry. Dlatego stosuje się domyślne wartości parametrów.