XPath クエリ内での XPath 変数の指定 (SQLXML 4.0)

次の例では、XPath クエリに XPath 変数を指定する方法を示します。これらの例では、SampleSchema1.xml に格納されているマッピング スキーマに対して XPath クエリを指定しています。このサンプル スキーマの詳細については、「XPath の例で使用する注釈付き XSD スキーマのサンプル (SQLXML 4.0)」を参照してください。

A. XPath 変数を使用する

サンプル テンプレートは、2 つの XPath クエリで構成されており、各 XPath クエリは 1 つのパラメータをとります。テンプレートでは、これらのパラメータの既定値も指定しています。パラメータ値が指定されない場合は、既定値が使用されます。既定値をとる 2 つのパラメータは、<sql:header> で指定されています。

<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>

マッピング スキーマに対して XPath クエリをテストするには

  1. サンプル スキーマ コードをコピーして、テキスト ファイルに貼り付け、SampleSchema1.xml として保存します。

  2. 次のテンプレート (XPathVariables.xml) を作成し、SampleSchema1.xml を保存したディレクトリに保存します。

    <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>
    

    マッピング スキーマ (SampleSchema1.xml) に指定するディレクトリ パスは、テンプレートを保存するディレクトリに対する相対パスです。次のように、絶対パスを指定することもできます。

    mapping-schema="C:\MyDir\SampleSchema1.xml"
    
  3. SQLXML 4.0 テスト スクリプト (sqlxml4test.vbs) を作成し、それを使用してテンプレートを実行します。詳細については、「ADO を使用した、SQLXML 4.0 クエリの実行」を参照してください。

注意注意

この例では、パラメータは渡されていません。このため、パラメータの既定値が使用されます。