使用 XML 模板 (MSSQL手冊)_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:基于關系型數據庫引擎的"XML"索引技術
      XML(可擴展標記語言)已成為Web應用中數據表示和數據交換的標準,隨著Internet的快速發展,尤其是電子商務,Web服務等應用的廣泛使用,XML類型的數據成為當前主流的數據形式。因此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

      分享:了解WEB頁面工具語言XML(六)展望
      六、XML展望 任何一項新技術的產生都是有其需求背景的,XML的誕生是在HTML遇到不可克服的困難之后。近年來HTML在許多復雜的Web應用中遇到了問題,要徹底解決這些問題,必須用功能強大的XML來替

      來源:模板無憂//所屬分類:Xml教程/更新時間:2009-05-15
      相關Xml教程