曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營(yíng)店坑蒙拐騙欺詐消費(fèi)者
<xsl:value-of select=”ATOMIC_NUMBER”/>
</td>
</tr>
</xsl:template>
如果某個(gè)元素使用一個(gè)以上的特性集合,那么,就將所有集合的所有特性應(yīng)用于該元素。如果一個(gè)以上的特性集合使用不同
的值定義相同的特性,那么就使用較為重要集合的特性。重要性相同的多個(gè)特性集合定義相同的特性,那么此樣式單就會(huì)出
現(xiàn)錯(cuò)誤。
14.9.5 使用xsl:pi 生成處理指令
xsl:pi 元素將指令放在輸出文檔中。處理指令的目標(biāo)由所需的name 特性指定。xsl:pi 元素的內(nèi)容成為處理指令的內(nèi)容。例
如,下面的規(guī)則將PROGRAM 元素用gcc 處理指令代替:
<xsl:template select="PROGRAM">
<xsl:pi name="gcc"> -04</xsl:pi>
</xsl:template>
輸入文檔中的PROGRAM 元素由輸出文檔中的下面的處理指令所代替:
<?gcc -04?>
若這些指令的結(jié)果為純文本,那么xsl:pi 元素的內(nèi)容可包括xsl:value-of 元素和xsl:apply-templates 元素。例如,
<xsl:template select="PROGRAM">
<xsl:pi name="gcc">-04 <xsl:value-of select="NAME"/></xsl:pi>
</xsl:template>
xsl:pi 的最常用的用途之一,就是當(dāng)從XML 生成XML 時(shí),用來插入XML 聲明(盡管XML 聲明在技術(shù)上并不是處理指令)。
例如:
XML 實(shí)用大全
第 502 頁(yè)
<xsl:pi name="xml">version="1.0" standalone="yes"</xsl:pi>
xsl:pi 元素不能包括xsl:element 和在結(jié)果中產(chǎn)生元素和特性的其他指令。此外,它還不能包括在輸出文檔中插入?>的任
何指令和文字文本,因?yàn)檫@會(huì)使處理指令提前結(jié)束。
14.9.6 使用xsl:comment 生成注釋
xsl:comment 元素在輸出文檔中插入注釋。它沒有特性。其內(nèi)容為注釋文本。例如,
<xsl:template select=”ATOM”>
<xsl:comment>There was an atom here once.</xsl:comment>
</xsl:template>
此規(guī)則使用下面的輸出代替ATOM 節(jié)點(diǎn):
<!-There was an atom here once.->
如果xsl:value-of 元素和xsl:apply-templates 元素指令的結(jié)果是純文本的話,那么xsl:comment 元素的內(nèi)容可包括這些
元素。它不能包括xsl:element 以及在結(jié)果中產(chǎn)生元素和特性的其他指令。此外,xsl:comment 還不能包括在注釋中插入雙
連字號(hào)的任何指令或文字文本。這樣在輸出文檔中會(huì)使注釋很難看,這種情況是不允許的。
14.9.7 使用xsl:text 生成文本
xsl:text 元素將其內(nèi)容作為文字文本插入到輸出文檔中。例如,下面的規(guī)則將每個(gè)ATOM 元素用字符串“There was an atom
here once”代替。
<xsl:template select="ATOM">
<xsl:text>There was an atom here once.</xsl:text>
</xsl:template>
xsl:text 元素用得不多,這是因?yàn)樵诙鄶?shù)情況下,鍵入文本更容易。但是,xsl:text 的確有一個(gè)優(yōu)點(diǎn)。它可以準(zhǔn)確地保留
空白。當(dāng)處理詩(shī)句、計(jì)算機(jī)源代碼或空白顯示具有重要意義的其他信息時(shí),使用xsl:text 是很有用的。
XML 實(shí)用大全
第 503 頁(yè)
14.10 使用xsl:copy 復(fù)制當(dāng)前節(jié)點(diǎn)
xsl:copy 元素將源代碼復(fù)制到輸出文檔中。子元素、特性和其他內(nèi)容不會(huì)自動(dòng)復(fù)制。但是,xsl:copy 元素的內(nèi)容也是選擇
要復(fù)制這些內(nèi)容的xsl:template 元素。當(dāng)將文檔從某個(gè)標(biāo)記符號(hào)集轉(zhuǎn)換成相同的或相近的相關(guān)標(biāo)記符號(hào)集時(shí),這種方法通
常是有用的。例如,下面的模板規(guī)則刪除原子的特性和子元素,并用其內(nèi)容值來代替:
<xsl:template match=”ATOM”>
< xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
xsl:copy 使模板具有的用途之一就是恒等轉(zhuǎn)換;也就是說,可將一文檔轉(zhuǎn)換成本身。這種轉(zhuǎn)換與下面類似:
<xsl:templdte match=”*|@*|comment()|pi()|text()”>
< xsl:copy>
<xsl:apply-templates select=”*|@*|comment()|pi()|text()”/>
</xsl:copy>
</xsl:template>
可對(duì)恒等轉(zhuǎn)換進(jìn)行稍微調(diào)節(jié),以產(chǎn)生相似的文檔。例如,清單14-15 是一樣式單,它可去掉文檔中的注釋而文檔的其他部分
不受影響。在恒等轉(zhuǎn)換中,去掉comment()節(jié)點(diǎn)的match 和select 特性值,而保留此節(jié)點(diǎn)的其他部分就可以產(chǎn)生這種結(jié)果。
清單14-15:從文檔中刪除注釋的XSL 樣式單
<?xml version=”1.0”?>
<xsl:stylesheet
xmlns:xsl=”http://www.w3.org/XSL/Transform/1.0”>
<xsl:template match=”* | @* | pi() | text()”>
< xsl:copy>
<xsl:apply-templates select=”* | @* | pi() | text()”/>
</xsl:copy>
</xsl:template>
XML 實(shí)用大全
第 504 頁(yè)
</xsl:stylesheet>
xsl:copy 只復(fù)制源節(jié)點(diǎn)。使用xsl:copy-of,可以復(fù)制其他節(jié)點(diǎn),可能不止一個(gè)。xsl:copy-of 的select 特性選擇要復(fù)制
的節(jié)點(diǎn)。例如,清單14-16 是一樣式單,它使用xsl:copy-of,只復(fù)制有MELTING_POINT 子元素的ATOM 元素,從而將沒有
熔點(diǎn)的元素從周期表中去掉。
清單14-16:只復(fù)制有MELTING_POINT 子元素的ATOM 元素的樣式單
<?xml version=”1.0”?>
<xsl:stylesheet
xmlns:xsl=”http://www.w3.org/XSL/Transform/1.0”>
<xsl:template match=”/PERIODIC_TABLE”>
<PERIODIC_TABLE>
<xsl:apply-templates select=”ATOM”/>
</PERIODIC_TABLE>
</xsl:template>
中國(guó)航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實(shí)用大全(142)