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