XPath クエリ内での XPath 変数の指定 (SQLXML 4.0)
適用対象: SQL Server Azure SQL Database
次の例では、XPath クエリに XPath 変数を指定する方法を示します。 これらの例では、SampleSchema1.xml に格納されているマッピング スキーマに対して XPath クエリを指定しています。 このサンプル スキーマの詳細については、「 サンプル XPath Examples (SQLXML 4.0)の注釈付き XSD スキーマを参照してください。
例
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 クエリの実行」を参照してください。
Note
この例では、パラメーターは渡されていません。 このため、パラメーターの既定値が使用されます。