曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營(yíng)店坑蒙拐騙欺詐消費(fèi)者
• 正數(shù)
• 負(fù)數(shù)
• 正零
• 負(fù)零
• 正無窮大
• 負(fù)無窮大
• 不是一個(gè)數(shù)(“N a N”)
運(yùn)算符+、-、*、d i v和m o d可以用于數(shù)值運(yùn)算,括號(hào)將會(huì)影響到數(shù)學(xué)運(yùn)算順序。
由XPa t h提供的最簡(jiǎn)單的函數(shù)是Position( ),它可用來對(duì)正被討論的元素位置進(jìn)行簡(jiǎn)要的評(píng)
估。例如,我們可以利用它僅選擇上下文元素的第一個(gè)< B o o k >子元素,使用下面的謂詞:
我們稍后將會(huì)看到謂語如何適用于XPa t h表達(dá)式。
由于該函數(shù)經(jīng)常被使用,它被隱式地用來表示數(shù)值中或者數(shù)字常量中函數(shù)結(jié)果的位置,所
以上面謂詞可以簡(jiǎn)寫為:
在XPa t h標(biāo)準(zhǔn)中謂詞函數(shù)的全集被分為下面幾類:
• 節(jié)點(diǎn)集合函數(shù)
• 字符串函數(shù)
• 布爾函數(shù)
• 數(shù)值函數(shù)
我們將依次看一下這幾種類型,不過在列出這些函數(shù)之前,我們現(xiàn)復(fù)習(xí)一下它們所需的一
些基本定義。
(1) 定義
許多函數(shù)在當(dāng)前的表達(dá)式評(píng)估上下文環(huán)境中以某種方式執(zhí)行。這個(gè)上下文包括下面幾種上
下文節(jié)點(diǎn)(我們已經(jīng)知道,它是正被評(píng)估的節(jié)點(diǎn),或者如果沒有指定節(jié)點(diǎn)的話是根節(jié)點(diǎn))。
第8章鏈接和查詢使用271 下載
• 上下文大小—上下文中節(jié)點(diǎn)的全部合計(jì),使用上下文節(jié)點(diǎn)及軸來決定。
• 上下文位置—上下文中節(jié)點(diǎn)的當(dāng)前位置,它小于或者等于上下文大小。
• 變量綁定—在變量名字和值之間的映射,這里值為對(duì)象。
• 函數(shù)庫—函數(shù)名字和函數(shù)之間的映射。
• 命名空間聲明—從命名空間前綴到U R I之間的映射。
任何給定節(jié)點(diǎn)有一個(gè)字符串-值,每種類型節(jié)點(diǎn)的字符串-值都存在,可以來自正被討論的節(jié)
點(diǎn)的一部分,或者也可以由它的下一級(jí)的字符串-值生成。
一些類型的節(jié)點(diǎn)有一個(gè)擴(kuò)展名,形式為: M y N a m e s p a c e : M y N a m e。其中M y N a m e s p a c e部分
稱為命名空間- U R I,M y n a m e部分稱為本地部分。
現(xiàn)在讓我們繼續(xù)看一下函數(shù)。
(2) 節(jié)點(diǎn)集合函數(shù)
這些函數(shù)與多個(gè)節(jié)點(diǎn)有關(guān),如表8 - 3所示。
表8 - 3
函數(shù)(返回類型,名和參數(shù)) 說明
number last( ) 返回表達(dá)式評(píng)估上下文的上下文大小
number position( ) 返回表達(dá)式評(píng)估上下文的上下文位置
number count(Node-set) 返回討論節(jié)點(diǎn)集合的節(jié)點(diǎn)數(shù)目
node-set id(object) 返回一個(gè)節(jié)點(diǎn)集合,該集合中節(jié)點(diǎn)的I D屬性和o b j e c t參數(shù)匹
配。object 可以是I D的空格分開的字符串,或者節(jié)點(diǎn)集自身,
這種情況下, I D的集合由那些節(jié)點(diǎn)的字符串-值構(gòu)成
string local-name(node-set?) 返回提供(按文檔順序)的節(jié)點(diǎn)集合中第一個(gè)節(jié)點(diǎn)(或者
上下文節(jié)點(diǎn),如果參數(shù)被忽略的話)的擴(kuò)展名的本地部分。
空節(jié)點(diǎn)集合或者不具備命名空間的節(jié)點(diǎn)將返回空字符串
s t r i n g - n a m e s p a c e - u r i ( n o d e - s e t ? ) 返回提供(按文檔順序)的節(jié)點(diǎn)集合中第一個(gè)節(jié)點(diǎn)(或者上
下文節(jié)點(diǎn),如果參數(shù)被忽略的話)的擴(kuò)展名的命名空間部分。
空節(jié)點(diǎn)集合或者不具備命名空間的節(jié)點(diǎn)將返回空字符串
string name(node-set?) 返回QNa m e,表示提供(按文檔順序)的節(jié)點(diǎn)集合中第一
個(gè)節(jié)點(diǎn)(或者上下文節(jié)點(diǎn),如果參數(shù)被忽略的話)的擴(kuò)展名
(3) 字符串函數(shù)
字符串函數(shù)將對(duì)字符串進(jìn)行操作或者返回字符串(參見表8 - 4)。
表8 - 4
函數(shù)(返回類型,名和參數(shù)) 說明
string string(Object?) 返回指定對(duì)象的stringified 版本,或者當(dāng)沒有指定節(jié)點(diǎn)的時(shí)
候,上下文節(jié)點(diǎn)的字符串-值。如果對(duì)象是一個(gè)節(jié)點(diǎn)集合,那
么將返回該集合中(按文檔順序)第一個(gè)節(jié)點(diǎn)的字符串-值。
數(shù)值返回其字符串表示,布爾值返回t r u e或f a l s e,其他類型的
對(duì)象返回它們本身支持的值
string concat(string,string, string*) 返回參數(shù)的連接結(jié)果
272使用XML 高級(jí)編程
下載
(續(xù))
函數(shù)(返回類型,名和參數(shù)) 說明
boolean starts-with( string, string) 如果第一個(gè)字符串以第二個(gè)字符串開始,返回t r u e,否則返
回f a l s e
boolean contains(string, string) 如果第一個(gè)字符串包含第二個(gè)字符串,返回t r u e,否則返回
f a l s e
string Substring-before(string, string) 如果第一個(gè)字符串包含第二個(gè)字符串,返回第一個(gè)字符串出
現(xiàn)在第二個(gè)字符串之前的部分,否則返回一個(gè)空字符串
string substring-after(string, string) 如果第一個(gè)字符串包含第二個(gè)字符串,返回第一個(gè)字符串出
現(xiàn)在第二個(gè)字符串之后的部分,否則返回一個(gè)空字符串
string substring(string, number, number) 返回字符串的一部分,它以第一個(gè)數(shù)字索引的字符開始,并
由第二個(gè)數(shù)字指定長(zhǎng)度。如果第二個(gè)數(shù)字缺省,返回的字符串
將包含從第一個(gè)數(shù)字索引的字符開始,到原始字符串結(jié)束的部
分。字符將從開始被索引,這里,第一個(gè)字符是字符1
number string-length(string?) 返回指定字符串的字符數(shù)目,如果沒有提供字符串,則返回
上下文節(jié)點(diǎn)的字符串-值的字符數(shù)目
string normalize-space( string?) 去除前后空白空間,或者使用單個(gè)字符來替代空白,如果沒
有指定對(duì)象,則對(duì)上下文節(jié)點(diǎn)的字符串-值進(jìn)行操作
string translate(string, string, string) 根據(jù)第二個(gè)字符串和第三個(gè)字符串來替代所提供的第一個(gè)
字符串中的字符。第一個(gè)字符串中的每個(gè)字符和第二個(gè)字符
串中的字符相比較,如果匹配,將其替換,替換字符位于第
三個(gè)字符串中,它的位置和第二個(gè)字符串中匹配字符的位置
相匹配。如果第三個(gè)字符串中該位置沒有字符(它將會(huì)發(fā)生
在第三個(gè)字符串短于第二個(gè)字符串的時(shí)候),則把字符去掉
即可
(4) 布爾函數(shù)
布爾函數(shù)均返回布爾值(參見表8 - 5)。
表8 - 5
函數(shù)(返回類型,名和參數(shù)) 說明
booelan boolean(Object) 基于提供的對(duì)象返回布爾值,支配這種轉(zhuǎn)換的規(guī)則我們前面
中國(guó)航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級(jí)編程上(95)