xsl的運算子

2021-04-12 20:07:56 字數 1827 閱讀 8106

一、運算子與特殊字元

運算子描述

/

選擇子元素,返回左側元素的直接子元素;如果"/"位於最左側表示選擇根結點的直接子元素

//

遞迴下降,不論深度,搜尋指定的元素;如果位於最左側表示從根結點出發遞迴下降搜尋指定元素

.

表示當前元素

*

萬用字元,選擇任意元素,不考慮名字

@

取得屬性值,作為屬性名的字首

@*

萬用字元,選擇任意屬性,不考慮名字

:

名字作用範圍分隔符,將名字作用範圍字首與元素或屬性名分隔開來

!*

在相關節點上應用指定方法

()*

分組,明確指定優先順序

應用過濾樣式

*

下標運算子,用於在集合中指示元素 表

二、邏輯運算子

可選方式

描述and $and$ 或 &&

邏輯與or $or$ 或 ||

邏輯或not() $not$

邏輯非

表三、關係運算子

可選方式

描述= 或 $eq$

相等= 或 $ieq$

相等(不區分大小寫)

!= 或 $ne$

不等$ine$

不等(不區分大小寫)

< 或 $lt$

小於$ilt$

小於(不區分大小寫)

<= 或 $le$

小於等於

$ile$

小於等於(不區分大小寫)

> 或 $gt$

大於$igt$

大於(不區分大小寫)

>= 或 $ge$

大於等於

$ige$

大於等於(不區分大小寫)

$all$

集合運算子,如果集合中所有專案均滿足條件則返回"真"

$any$

集合運算子,如果集合中任意專案滿足條件則返回"真"

|

集合運算子,返回兩個集合的聯合

示例一:

從個人簡歷中尋找具有具有"web開發"技能的人的姓名與e-mail。假設文件結構如下所示:

name

***birthday

skill1

skill2

…skilln……

為從以上結構的個人簡歷中尋找出所有具有web開發"技能的人的姓名與e-mail的xsl文件結構如下:

姓名e-mail

說明:1.[ ] ── 表示選擇條件,只有滿足條件的個人簡歷才被顯示。

2.$any$ ── 由於每個人有多種技能,故加$any$作為字首,以使每個人所有技能都能被比較。

3.skill='web開發' ── 篩選條件。

示例二、

仍上面的xml文件為例,如果欲選擇1977/1/1之前出生的人的姓名、技能與e-mail,相應的xsl文件結構如下(假定生日格式為yyyy/mm/dd):

姓名技能

e-mail

0]">、

說明:1.birthday $lt$ '1977/1/1' ── 搜尋條件,在此處使用"< "會錯誤,故使用"$lt$"表示小於。

2.skill [0] ── 表示選擇skill的第一項。

3.skill [index()>0] ── 表示選擇skill的第二項以後(包括第二項)的專案。

4.xsl:value-of select="." ── 表示選擇當前標記的值。

出處:csdn

跟我學XSL 6 XSL的運算子

符描述 選擇子元素,返回左側元素的直接子元素 如果 位於最左側表示選擇根結點的直接子元素 遞迴下降,不論深度,搜尋指定的元素 如果位於最左側表示從根結點出發遞迴下降搜尋指定元素 表示當前元素 萬用字元,選擇任意元素,不考慮名字 取得屬性值,作為屬性名的字首 萬用字元,選擇任意屬性,不考慮名字 名字作...

(運算子) 運算子

運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...