次の方法で共有


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

次の例は、XPath クエリで XPath 変数を渡す方法を示しています。 これらの例の XPath クエリは、SampleSchema1.xmlに含まれるマッピング スキーマに対して指定されます。 このサンプル スキーマの詳細については、「 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) を作成し、ディレクトリに保存します。

    <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 クエリの実行」を参照してください。

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