曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營(yíng)店坑蒙拐騙欺詐消費(fèi)者
<fo:sequence-specifier-single page-master-name="only"/>
</fo:sequence-specification>
<fo:flow>
<xsl:apply-templates select="//ATOM"/>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<xsl:template match="ATOM">
<fo:block font-size="20pt" font-family="serif">
<xsl:value-of select="NAME"/>
</fo:block>
</xsl:template>
</xsl:stylesheet>
XML 實(shí)用大全
第 619 頁(yè)
更確切地說(shuō),下面這些元素存在于http://www.w3.org/XSL/Transform/1.0 命名域中而且是XSL 指令:
• stylesheet
• template
• apply-templates
• value-of
下面這些元素存在于http://www.w3.org/XSL/Format/l.0 命名域中,是XSL 格式化對(duì)象和輸出部分:
• root
• layout-master-set
• simple-page-master
• region-body
• sequence-specification
• sequence-specifier-single
• page-sequence
• block
下面四個(gè)帶有xsl 前綴的元素使限定名具有以該前綴開(kāi)始的:
• xsl:stylesheet
• xsl:template
• xsl:apply-templates
• xsl:value-of
但是,它們的完整名稱使用URL,而不是前綴:
• http://www.w3.org/XSL/Transform/l.0:stylesheet
• http://www.w3.org/XSL/Transform/l.0:template
• http://www.w3.org/XSL/Transform/l.0:apply-templates
• http://www.w3.org/XSL/Transform/l.0:value-of
實(shí)際上,由于URL 經(jīng)常包含如~、%和/這樣的一些在XML 名稱中不合法的字符,所以作為別名的這種較短的限定名只用于文
檔內(nèi)部。但是,限定名的確使文檔更易于鍵入和閱讀。
“XML 中的命名域”是正式的W3C 標(biāo)準(zhǔn)。W3C 認(rèn)為它相當(dāng)完善,只是可能存在不太重要的錯(cuò)誤和說(shuō)明。但是,
在W3C 所有的XML 規(guī)范中,正是這個(gè)命名域才最有爭(zhēng)議。許多人非常強(qiáng)烈地覺(jué)得,這個(gè)標(biāo)準(zhǔn)有基本原理上的缺
陷。主要的缺陷是命名域?qū)嶋H上與DTD 和合法性不兼容。而我對(duì)此并沒(méi)有強(qiáng)烈的某種看法,但我的確有這樣的疑
問(wèn):當(dāng)人們沒(méi)有達(dá)成一致意見(jiàn)時(shí),發(fā)行一個(gè)標(biāo)準(zhǔn)是否明智。命名域是許多XML 相關(guān)規(guī)范(如XSL 和XHTML)的至關(guān)重要
的部分,所以需要人們理解。但很多開(kāi)發(fā)者和讀者都在他們的工作中忽略此規(guī)范。
XML 實(shí)用大全
第 620 頁(yè)
18.2 命名域句法
命名域高于XML 1.0 規(guī)范。XML 1.0 處理程序?qū)γ蛞粺o(wú)所知,但仍能閱讀使用命名域的文檔,并且不會(huì)發(fā)現(xiàn)任何錯(cuò)誤。
使用命名域的文檔不破壞現(xiàn)有的XML 分析程序(至少不進(jìn)行合法性檢查的分析程序是如此);用戶不必等待臭名昭著的、不
準(zhǔn)時(shí)的軟件公司來(lái)發(fā)行昂貴的升級(jí)版才使用命名域。
18.2.1 命名域的定義
在使用命名域的有效元素上應(yīng)用xmlns:prefix 特性來(lái)定義命名域。prefix 由真正的用于命名域的前綴來(lái)代替。特性值為命
名域的URI。例如,xsl:stylesheet 標(biāo)記將前綴xsl 與URI http//www.w3.org/XSL/Transform/1.0 聯(lián)系在一起。
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
然后,xsl 前綴就可以加到xsl:stylesheet 元素內(nèi)的本地元素和特性名中,以便將它們標(biāo)識(shí)為屬于
http//www.w3.org/XSL/Transform/1.0 命名域。前綴通過(guò)冒號(hào)與本地名分開(kāi)。清單14-2 為用于周期表的基本的XSL 樣式單,
它最初出現(xiàn)在第14 章“XSL 變換”中,此清單演示了在stylesheet、template 和apply-tempates 上使用xsl 前綴的方法。
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="PERIODIC_TABLE">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="ATOM">
<P>
<xsl:apply-templates/>
</P>
</xsl:template>
</xsl:stylesheet>
XML 實(shí)用大全
第 621 頁(yè)
定義命名域的URI 純粹是形式上的,其唯一目的就是成組、并明確文檔中的元素和特性。它無(wú)需指向任何對(duì)象,特別在無(wú)法
確保URI 位置上的文檔描述了此文檔中使用的句法;或者有用于該目的的任何文檔存在于該URI 位置。正如已說(shuō)明過(guò)的,如
果有一個(gè)用于特定XML 應(yīng)用程序的URI,那么此URI 就可以用于定義命名域。
命名域前綴可以是任何合法的XML 名稱(不能包含冒號(hào))。回顧第6 章的“結(jié)構(gòu)整潔的XML 文檔”,合法的XML 名必須以一
個(gè)字母或下劃線(_)開(kāi)頭。名稱中的后面的字符可以包括字母、數(shù)字、下劃線、連字號(hào)和句點(diǎn)。但不能包括空白。
有兩個(gè)前綴明確地不允許使用:xml 和xmlns。xml 前綴是定義為用來(lái)引用http://www.w3.org/XML/1998/namespace
的。xmlns 前綴用于將元素綁定到命名域上,所以不可用于綁定目標(biāo)的前綴。
在XML 名稱中,除了不允許有冒號(hào)字符外(不包括用于分隔前綴和本地名的冒號(hào)),命名域?qū)?biāo)準(zhǔn)的XML 句法沒(méi)有直接的影
響。使用命名域的文檔必須也是結(jié)構(gòu)整潔的,以便對(duì)命名域一無(wú)所知的處理程序可閱讀此文檔。如果文檔需要檢查合法性,
那么它無(wú)需明確地考慮命名域就肯定能夠獲得通過(guò)。對(duì)于XML 處理程序,使用命名域的文檔只不過(guò)是樣子古怪的文檔,在此
文檔中有些元素和特性名可能有一個(gè)冒號(hào)。
命名域的確存在著合法性的問(wèn)題。如果編寫(xiě)的DTD 沒(méi)有命名域前綴,那么必須使用命名域前綴來(lái)重新編寫(xiě)DTD,
才能用于對(duì)使用該前綴的文檔進(jìn)行合法性檢查。例如,考慮下面的元素聲明:
中國(guó)航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實(shí)用大全(175)