ホームページ  >  記事  >  バックエンド開発  >  XML テンプレートの使用 (MSSQL マニュアル)

XML テンプレートの使用 (MSSQL マニュアル)

黄舟
黄舟オリジナル
2017-03-01 16:40:221369ブラウズ

ここでは、SQL クエリと XPath クエリを指定する方法を示す、テンプレートの一般的な形式を示します:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" 
       sql:xsl=&#39;XSL FileName&#39; > 
  <sql:header> 
    <sql:param>..</sql:param> 
    <sql:param>..</sql:param>...n 
  </sql:header> 
  <sql:query> 
    sql statement(s) 
  </sql:query> 
  <sql:xpath-query mapping-schema="SchemaFileName.xml"> 
    XPath query 
  </sql:xpath-query> 
</ROOT>

テンプレート内の要素はすべてオプションです。要素

および属性マッピング スキーマは SQL 名前空間で定義されます。したがって、xmlns:sql="urn:schemas-microsoft-com:xml-sql" を名前空間で宣言する必要があります。名前空間には任意の名前を付けることができます。sql は単なるエイリアスです。

b3e08f117497c93350eaf67fc4b5f7c5

このタグを指定して、結果の XML ドキュメントの単一のトップレベル要素 (ルート タグとも呼ばれます) を提供します。 b3e08f117497c93350eaf67fc4b5f7c5 タグには任意の名前を付けることができます。

a7047a4cd2c47b5ef55f8f44976e7bb5

このタグは、すべてのヘッダー値を保存するために使用されます。現在の実装では、このタグに指定できるのは 890d0d6974fb473141d6fe1ce33c7b9b 要素のみです。 a7047a4cd2c47b5ef55f8f44976e7bb5 は包含タグとして使用され、複数のパラメータを定義できます。すべてのパラメータ定義は 1 か所にあるため、パラメータ定義の処理がより効率的になります。

890d0d6974fb473141d6fe1ce33c7b9b

この要素は、テンプレート内のクエリに渡されるパラメータを定義するために使用されます。各 要素はパラメータを定義します。 a7047a4cd2c47b5ef55f8f44976e7bb5 タグ内には複数の 0c68fef83818661b6da588c77ca3985e 要素を定義できます。

610cd9e9a8df248833435b157c4f03a6

この要素は、SQL クエリを指定するために使用されます。テンプレートには複数の 610cd9e9a8df248833435b157c4f03a6 要素を指定できます。

ce8aaecb80f1b7f3ef757febb0ffa6c4

この要素は、XPath クエリを指定するために使用されます。 XPath クエリは、注釈付き XML データ削減 (XDR) スキーマで実行されるため、スキーマ ファイル名は、mapping-schema 属性を使用して指定する必要があります。

sql:xsl

この属性は、結果の XML ドキュメントに適用される Extensible Stylesheet Language (XSL) スタイルシートを指定するために使用されます。マッピング スキーマ ファイルを指定する場合は、相対パスまたは絶対パスを指定できます。指定された相対パスは、テンプレート タイプの仮想名に関連付けられたディレクトリに対する相対パスです。たとえば、テンプレート タイプの仮想名に関連付けられたディレクトリが C:Template の場合、sql:xsl に指定された相対パス Xyz/MyXSL.xml は C:TemplateXyzMyXSL.xml にマップされます。

mapping-schema

この機能は、アノテーション付き XDR スキーマを識別するために使用されます。この属性は、テンプレートで XPath クエリを実行する場合にのみ指定します。 XPath クエリは、アノテーションが付けられた XDR スキーマに対して実行されます。マッピング スキーマ ファイルを指定する場合は、相対パスまたは絶対パスを指定できます。指定された相対パスは、テンプレート タイプの仮想名に関連付けられたディレクトリに対する相対パスです。たとえば、テンプレート タイプの仮想名に関連付けられたディレクトリが C:Template の場合、相対パス (mapping-schema に指定された schema/MSchema.xml) は C:TemplateSchemaMSchema.xml にマップされます。

説明 各 610cd9e9a8df248833435b157c4f03a6 または ca6c78e2cea03519505bd5cf9d5b0c5e は個別のトランザクションを表します。したがって、テンプレート内に複数の 610cd9e9a8df248833435b157c4f03a6 または ca6c78e2cea03519505bd5cf9d5b0c5e タグがある場合、1 つが失敗しても、他のタグは続行されます。

contenttype が設定されている場合、Sqlisapi.dll はヘッダー情報をブラウザーに返します。 contenttype が設定されていない場合、urlmon はテンプレート ファイルの最初の文字を使用してコンテンツ タイプを決定します。テンプレートの最初の文字が < 文字または Unicode バイト オーダー マーク (0xFFFE) の場合、text/xml がコンテンツ タイプとしてブラウザに返され、ブラウザは結果を表示します。そうしないと、Sqlisapi.dll はブラウザーに結果の表示方法を指示するコンテンツ タイプ ヘッダー情報を送信しないため、結果はブラウザーに表示されません。

URL テンプレートでテンプレートを指定する前に、SQL Server 用 IIS 仮想ディレクトリ管理ユーティリティを使用して、タイプ テンプレートの仮想名を作成する必要があります。詳細については、「SQL Server 用 IIS 仮想ディレクトリ管理ユーティリティの使用」を参照してください。

テンプレートの保存
テンプレートは、テンプレート型の仮想名に関連付けられたディレクトリ、またはそのサブディレクトリの 1 つに保存されます:

テンプレート型の仮想名に関連付けられたディレクトリにテンプレートが保存されている場合、URL クエリは次の形式になります。 :

http://IISServer/nwind/TemplateVirtualName/TemplateFile.xml

テンプレートがテンプレート タイプ (xyz) の仮想名に関連付けられたサブディレクトリに保存されている場合、URL クエリの形式は次のとおりです。

http://IISServer/nwind/TemplateVirtualName/xyz/TemplateFile.xml

URL で直接指定された XPath クエリの場合、ネームスペースはサポートされません。 XPath クエリで名前空間を使用したい場合は、テンプレートを使用する必要があります

上記は、XML テンプレートの使用方法 (MSSQL マニュアル) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) を参照してください。 )!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。