曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營(yíng)店坑蒙拐騙欺詐消費(fèi)者
表14-4 列舉了許多既可以作為參數(shù),也可以作為上下文節(jié)點(diǎn)對(duì)節(jié)點(diǎn)集合進(jìn)行操作的函數(shù)。
表14-4 對(duì)節(jié)點(diǎn)集合進(jìn)行操作的函數(shù)
函數(shù) 返回值類型 返回值
position() 數(shù)值 上下文節(jié)點(diǎn)列表中上下文節(jié)點(diǎn)的位置。列表中的第一個(gè)節(jié)
點(diǎn)其位置為1
last() 數(shù)值 上下文節(jié)點(diǎn)集合中的節(jié)點(diǎn)數(shù)
count(node-set) 數(shù)值 在node-set 參數(shù)指明的節(jié)點(diǎn)集合中的節(jié)點(diǎn)數(shù)
id(string) 節(jié)點(diǎn)集合 節(jié)點(diǎn)集合,其中只有一個(gè)元素(在同一個(gè)文檔的任何位置)
其ID 為string;或者空集合(如果任何元素都沒(méi)有指定
的ID)
idref(node-set) 節(jié)點(diǎn)集合 節(jié)點(diǎn)集合,包括文檔中的某些元素,其ID 屬性為在參數(shù)
node-set 中指明節(jié)點(diǎn)值中的(以空格分開(kāi))記號(hào)之一
key(string name,
string value)
節(jié)點(diǎn)集合 節(jié)點(diǎn)集合,包括文檔中所有具有指定值的關(guān)鍵字的節(jié)點(diǎn)。
關(guān)鍵字是使用頂層xsl:key 元素來(lái)設(shè)置的
keyref(string
name, node set
values)
節(jié)點(diǎn)集合 節(jié)點(diǎn)集合,包括文檔中所有具有某種關(guān)鍵字節(jié)點(diǎn),此關(guān)鍵
字的值與第二個(gè)參數(shù)中的節(jié)點(diǎn)值相同
doc(string URI) 節(jié)點(diǎn)集合 文檔或由URI 引用的文檔部分中的節(jié)點(diǎn)集合;這些節(jié)點(diǎn)從
URI 使用的命名的anchor 標(biāo)記或XPointer 中選擇如果
XML 實(shí)用大全
第 486 頁(yè)
沒(méi)有命名的anchor 標(biāo)記或Xpointer,那么所指文檔的根
元素就存在于節(jié)點(diǎn)集合中。相對(duì)URI 是相對(duì)于輸入文檔中
的當(dāng)前節(jié)點(diǎn)的
docref(node set) 節(jié)點(diǎn)集合 節(jié)點(diǎn)集合,包括由URI 引用的,其值為node set 參數(shù)的
所有節(jié)點(diǎn)
local-part(node
set)
字符串 node set 參數(shù)中第一個(gè)節(jié)點(diǎn)的本地部分(命名域前綴后
面的所有內(nèi)容);當(dāng)不使用任何參數(shù)時(shí)可用于獲取上下文
節(jié)點(diǎn)的本地部分
namespace(node
set)
字符串 節(jié)點(diǎn)集合中第一個(gè)節(jié)點(diǎn)命名域的URI;當(dāng)不使用任何參數(shù)
時(shí),可用于獲得上下文節(jié)點(diǎn)的命名域URI;如果節(jié)點(diǎn)處于
缺省命名域內(nèi),則返回空字符
qname(node set) 字符串 node set 參數(shù)中第一個(gè)節(jié)點(diǎn)的合法名稱(可以為前綴和
本地部分);要獲得上下文節(jié)點(diǎn)的合法名稱,可不使用任
何參數(shù)
generate-id(node
set)
字符串 參數(shù)node set 中第一個(gè)節(jié)點(diǎn)的唯一標(biāo)識(shí)符;不帶參數(shù)使
用時(shí),可生成上下文節(jié)點(diǎn)的ID
第18 章“命名域”將討論命名域URI、前綴和本地部分。
doc()和docref()函數(shù)有點(diǎn)模糊,特別是如果URI 只引用非結(jié)構(gòu)完整的XML 節(jié)點(diǎn)或數(shù)據(jù)片段,就更是如此。細(xì)節(jié)還
要留待XSL 規(guī)范的未來(lái)版本加以澄清。
如果向這些函數(shù)傳遞了一個(gè)錯(cuò)誤類型的參數(shù),那么XSL 試圖將此參數(shù)轉(zhuǎn)變成正確的類型;例如,將數(shù)字12 轉(zhuǎn)變成字符串
“12”。但是,任何參數(shù)都不能轉(zhuǎn)變成節(jié)點(diǎn)集合。
position()函數(shù)可用來(lái)對(duì)元素進(jìn)行計(jì)數(shù)。清單14-13 是一個(gè)樣式單,它使用<xsl:value-of select = "position"/>,將元
素在文檔中的位置作為原子名的名稱的前綴。
清單14-13:按照文檔中的順序?qū)υ舆M(jìn)行編號(hào)的樣式單
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="/PFRIODIC_TABLE">
XML 實(shí)用大全
第 487 頁(yè)
<HTML>
<HEAD><TITLE>The Elements</TITLE></HEAD>
<BODY>
<xsl:apply-templates select="ATOM"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="ATOM">
<P>
<xsl:value-of select="position()"/>.
<xsl:value-of select="NAME"/>
</P>
</xsl:template>
</xsl:stylesheet>
將此樣式單應(yīng)用于清單14-1 時(shí),其輸出結(jié)果如下:
<HTML><HEAD><TITLE>The Elements</TITLE></HEAD><BODY><P>1.
Hydrogen</P><P>2.
Helium</P></BODY></HTML>
14.7.2.2 布爾類型
布爾值為兩個(gè)值之一:true(真)或false(假)。XSL 允許將任何類型的數(shù)據(jù)轉(zhuǎn)變成布爾值。當(dāng)在可望為布爾值的地方使
用了字符串或數(shù)值或節(jié)點(diǎn)集合時(shí),通常就暗示需要這樣做,xsl:if 元素的test 特性中正是這樣情況。根據(jù)下列這些規(guī)則,
也可以使用boolean()函數(shù)來(lái)完成這種變換過(guò)程,此函數(shù)將任何類型(或如果不提供參數(shù)即為上下文節(jié)點(diǎn))的參數(shù)轉(zhuǎn)變成布
爾值:
• 如果數(shù)值為零或NaN(一種特定的符號(hào),意為Not a Number,即不是數(shù)字,用于表示被零除所獲得的結(jié)果以及類似
的非法操作),則此值為false,否則為true
• 空節(jié)點(diǎn)集合為false;所有的其他節(jié)點(diǎn)集合為true
• 空結(jié)果片段為false;所有其他結(jié)果片段都為true
• 零長(zhǎng)度字符串為false;所有其他字符串為true
XML 實(shí)用大全
第 488 頁(yè)
使用下列操作符所獲得的表達(dá)式的結(jié)果也可以得到布爾值:
= 等于號(hào)
< 小于號(hào)(實(shí)際使用<)
> 大于號(hào)
< = 小于等于(實(shí)際使用<=)
> = 大于等于
在特性值中<符號(hào)是非法的。因此,必須用<來(lái)代替,甚至作為小于運(yùn)算符時(shí)也是如此。
這些運(yùn)算符最常用于判斷是否調(diào)用某個(gè)規(guī)則。選擇表達(dá)式不僅含有選擇某些節(jié)點(diǎn)的模式,而且還可以含有判斷條件,從而使
用此判斷條件對(duì)所選的節(jié)點(diǎn)列表進(jìn)一步篩選。例如,from-children(ATOM)選擇當(dāng)前節(jié)點(diǎn)的所有ATOM 子節(jié)點(diǎn)。但是,
from-children(ATOME[position()=1])只選擇當(dāng)前節(jié)點(diǎn)的第一個(gè)ATOM 子節(jié)點(diǎn)。[position()=1]為一判斷語(yǔ)句,它在節(jié)點(diǎn)上
測(cè)試ATOM,返回一個(gè)布爾結(jié)果值,如果當(dāng)前節(jié)點(diǎn)的位置等于1,則返回的結(jié)果為true,否則為false。對(duì)每個(gè)節(jié)點(diǎn)的測(cè)試都
中國(guó)航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實(shí)用大全(137)