DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 使用 XML 模板 (MSSQL手冊)
使用 XML 模板 (MSSQL手冊)
編輯:XML詳解     

下面是模板的一般形式,顯示了指定 SQL 查詢和 XPath 查詢的方式: 

<ROOT xmlns:sql="urn:schemas-microsoft-com:XML-sql"
       sql:xsl='XSL FileName' >
  <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>

模板中的任何元素都是可選的。元素 <header>、<param>、<query>、<XPath-query> 和特性映射架構在 sql 命名空間中定義。因此,必須在命名空間中聲明 xmlns:sql="urn:schemas-microsoft-com:XML-sql"。可對命名空間任意命名;sql 只是一個別名。

<ROOT>

指定此標記以提供所得到的 XML 文檔的單個頂層元素(也稱為根標記)。<ROOT> 標記可以是任何名稱。

<sql:header>

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

<sql:param>

該元素用於定義在模板內傳遞到查詢的參數。每個 <param> 元素定義一個參數。可以在 <sql:header> 標記中定義多個 <param> 元素。

<sql:query>

該元素用於指定 SQL 查詢。可以在模板中指定多個 <sql:query> 元素。

<sql:xpath-query>

該元素用於指定 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。

 

說明  每個 <sql:query> 或 <sql:XPath-query> 表示單獨的事務。因此,如果在模板中有多個 <sql:query> 或 <sql:XPath-query> 標記,當一個標記失敗時,其它標記將繼續。

如果設置了 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學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved