次の例は、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 クエリをテストするには
サンプル スキーマ コードをコピーし、テキスト ファイルに貼り付けます。 ファイルを SampleSchema1.xmlとして保存します。
次のテンプレート (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"
SQLXML 4.0 テスト スクリプト (sqlxml4test.vbs) を作成し、それを使用してテンプレートを実行します。 詳細については、「ADO を使用した SQLXML 4.0 クエリの実行」を参照してください。
注
この例では、パラメーターは渡されません。 そのため、既定のパラメーター値が使用されます。