首頁  >  文章  >  後端開發  >  使用 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>

範本中的任何元素都是可選的。元素 1aa9e5d373740b65a0cc8f0a02150c53、0c68fef83818661b6da588c77ca3985e、708654619547c0a0fe5e1defc275b0b6、57dbe22da5230054e8cffe8ae1f3024c 和特性映射架構在 sql 命名空間中定義。因此,必須在命名空間中宣告 xmlns:sql="urn:schemas-microsoft-com:xml-sql"。可對命名空間任意命名;sql 只是一個別名。

b3e08f117497c93350eaf67fc4b5f7c5

指定此標記以提供所得到的 XML 文件的單一頂層元素(也稱為根標記)。 b3e08f117497c93350eaf67fc4b5f7c5 標記可以是任何名稱。

a7047a4cd2c47b5ef55f8f44976e7bb5

此標記用於保存所有標題值。在目前的實作方案中,只能在此標記中指定 890d0d6974fb473141d6fe1ce33c7b9b 元素。 a7047a4cd2c47b5ef55f8f44976e7bb5 用作包含標記,使您得以定義多個參數。所有的參數定義都在一個位置中,這使得處理參數定義更有效。

890d0d6974fb473141d6fe1ce33c7b9b

此元素用於定義在範本內傳遞到查詢的參數。每個 0c68fef83818661b6da588c77ca3985e 元素定義一個參數。可以在 a7047a4cd2c47b5ef55f8f44976e7bb5 標籤中定義多個 0c68fef83818661b6da588c77ca3985e 元素。

610cd9e9a8df248833435b157c4f03a6

此元素用於指定 SQL 查詢。可以在範本中指定多個 610cd9e9a8df248833435b157c4f03a6 元素。

ce8aaecb80f1b7f3ef757febb0ffa6c4

該元素用於指定 XPath 查詢。因為 XPath 查詢是在具有批次的 XML 資料簡化 (XDR) 架構上執行,所以必須使用 mapping-schema 特性來指定架構檔案名稱。

sql:xsl

此特性用於指定將套用於所得到的 XML 文件的可擴充樣式表語言 (XSL) 樣式表。在指定映射架構檔案時,可以指定相對或絕對路徑。指定的相對路徑是相對於與 template 類型的虛擬名稱關聯的目錄。例如,如果與 template 類型的虛擬名稱相關聯的目錄是 C:\Template,那麼為 sql:xsl 指定的相對路徑 Xyz/MyXSL.xml 將會對應到 C:\Template\Xyz\MyXSL.xml。

mapping-schema

此特性用於識別帶有批註的 XDR 架構。僅在範本中執行 XPath 查詢時才指定該特性。 XPath 查詢在具有核准的 XDR 架構上執行。在指定映射架構檔案時,可以指定相對或絕對路徑。指定的相對路徑是相對於與 template 類型的虛擬名稱關聯的目錄。例如,如果與 template 類型的虛擬名稱關聯的目錄是 C:\Template,則相對路徑(為 mapping-schema 指定的 schema/MSchema.xml)會對應到 C:\Template\Schema\MSchema.xml。

說明  每個 610cd9e9a8df248833435b157c4f03a6 或 ca6c78e2cea03519505bd5cf9d5b0c5e 表示單獨的事務。因此,如果在模板中有多個 610cd9e9a8df248833435b157c4f03a6 或 ca6c78e2cea03519505bd5cf9d5b0c5e 標記,當一個標記失敗時,其它標記將繼續。

如果設定了 contenttype,則 Sqlisapi.dll 將標題資訊傳回瀏覽器。如果沒有設定 contenttype,則 urlmon 使用範本檔案中的第一個字元來確定內容類型。如果範本中的第一個字元是 < 字元或 Unicode 位元組順序標誌 (0xFFFE),則將 text/xml 作為內容類型傳回瀏覽器,且瀏覽器顯示結果。否則,Sqlisapi.dll 不發送用以指導瀏覽器如何顯示結果的內容類型標題資訊;因此,在瀏覽器中將看不到結果。

可以在 URL 範本中指定範本之前,必須使用用於 SQL Server 的 IIS 虛擬目錄管理實用工具建立 template 類型的虛擬名稱。有關更多信息,請參閱使用用於 SQL Server 的 IIS 虛擬目錄管理實用工具。

儲存範本 
範本儲存在與template 類型的虛擬名稱關聯的目錄或它的子目錄中: 

如果範本儲存在與template 類型的虛擬名稱關聯的目錄中,則URL 查詢的形式如下:  

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

如果範本儲存在與template 類型(xyz) 的虛擬名稱關聯的子目錄中,則URL 查詢的形式如下:  

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

對於在URL 中直接指定的XPath 查詢,不支援命名空間。如果希望在XPath 查詢中使用命名空間,則應使用template 

 以上就是使用XML 模板(MSSQL手冊)的內容,更多相關內容請關注PHP中文網(www.php.cn )!


#
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn