溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用XML模板

發(fā)布時(shí)間:2021-03-12 11:23:24 來源:億速云 閱讀:103 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)怎么使用XML模板,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

顯示了指定 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> 和特性映射架構(gòu)在 sql 命名空間中定義。因此,必須在命名空間中聲明 xmlns:sql="urn:schemas-microsoft-com:xml-sql"??蓪?duì)命名空間任意命名;sql 只是一個(gè)別名。

<ROOT>

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

<sql:header>

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

<sql:param>

該元素用于定義在模板內(nèi)傳遞到查詢的參數(shù)。每個(gè) <param> 元素定義一個(gè)參數(shù)??梢栽?<sql:header> 標(biāo)記中定義多個(gè) <param> 元素。

<sql:query>

該元素用于指定 SQL 查詢。可以在模板中指定多個(gè) <sql:query> 元素。

<sql:xpath-query>

該元素用于指定 XPath 查詢。因?yàn)?XPath 查詢是在帶批注的 XML 數(shù)據(jù)簡(jiǎn)化 (XDR) 架構(gòu)上執(zhí)行,所以必須使用 mapping-schema 特性指定架構(gòu)文件名。

sql:xsl

該特性用于指定將應(yīng)用于所得到的 XML 文檔的可擴(kuò)展樣式表語言 (XSL) 樣式表。在指定映射架構(gòu)文件時(shí),可以指定相對(duì)或絕對(duì)路徑。指定的相對(duì)路徑是相對(duì)于與 template 類型的虛擬名稱關(guān)聯(lián)的目錄。例如,如果與 template 類型的虛擬名稱相關(guān)聯(lián)的目錄是 C:\Template,那么為 sql:xsl 指定的相對(duì)路徑 Xyz/MyXSL.xml 將映射到 C:\Template\Xyz\MyXSL.xml。

mapping-schema

該特性用于標(biāo)識(shí)帶批注的 XDR 架構(gòu)。僅當(dāng)在模板中執(zhí)行 XPath 查詢時(shí)才指定該特性。XPath 查詢?cè)趲⒌?XDR 架構(gòu)上執(zhí)行。在指定映射架構(gòu)文件時(shí),可以指定相對(duì)或絕對(duì)路徑。指定的相對(duì)路徑是相對(duì)于與 template 類型的虛擬名稱關(guān)聯(lián)的目錄。例如,如果與 template 類型的虛擬名稱關(guān)聯(lián)的目錄是 C:\Template,則相對(duì)路徑(為 mapping-schema 指定的 schema/MSchema.xml)映射到 C:\Template\Schema\MSchema.xml。

說明  每個(gè) <sql:query> 或 <sql:XPath-query> 表示單獨(dú)的事務(wù)。因此,如果在模板中有多個(gè) <sql:query> 或 <sql:XPath-query> 標(biāo)記,當(dāng)一個(gè)標(biāo)記失敗時(shí),其它標(biāo)記將繼續(xù)。

如果設(shè)置了 contenttype,則 Sqlisapi.dll 將標(biāo)題信息返回給瀏覽器。如果沒有設(shè)置 contenttype,則 urlmon 使用模板文件中的第一個(gè)字符確定內(nèi)容類型。如果模板中的第一個(gè)字符是 < 字符或 Unicode 字節(jié)順序標(biāo)志 (0xFFFE),則將 text/xml 作為內(nèi)容類型返回給瀏覽器,且瀏覽器顯示結(jié)果。否則,Sqlisapi.dll 不發(fā)送用以指導(dǎo)瀏覽器如何顯示結(jié)果的內(nèi)容類型標(biāo)題信息;因此,在瀏覽器中將看不到結(jié)果。

可以在 URL 模板中指定模板之前,必須使用用于 SQL Server 的 IIS 虛擬目錄管理實(shí)用工具創(chuàng)建 template 類型的虛擬名稱。有關(guān)更多信息,請(qǐng)參見使用用于 SQL Server 的 IIS 虛擬目錄管理實(shí)用工具。

存儲(chǔ)模板
模板存儲(chǔ)在與 template 類型的虛擬名稱關(guān)聯(lián)的目錄或它的一個(gè)子目錄中:

如果模板存儲(chǔ)在與 template 類型的虛擬名稱關(guān)聯(lián)的目錄中,則 URL 查詢的形式如下:  

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

如果模板存儲(chǔ)在與 template 類型 (xyz) 的虛擬名稱關(guān)聯(lián)的子目錄中,則 URL 查詢的形式如下:  

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

對(duì)于在 URL 中直接指定的 XPath 查詢,不支持命名空間。如果希望在 XPath 查詢中使用命名空間,則應(yīng)使用 template

關(guān)于“怎么使用XML模板”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

xml
AI