跟我學XSL 六

2021-08-29 04:27:31 字數 2466 閱讀 4084

這課學習xsl的函式

一、end()

含義:返回集合中最後乙個元素。

示例:輸出最後乙份簡歷

假定xml檔案格式為:

……< resume >…< /resume >……< resume >…< /resume >……

相應xsl檔案內容為:

< xsl:for-each select="resume[end()]" >……< /xsl:for-each >

或< xsl:templates match="resume[end()]" >……< /xsl:templates >

或二、index()

含義:返回該元素在集合中的位置,返回值是一整數,其中第乙個元素返回0

示例:返回前面三份簡歷

resume[index() $le$ 3]

< x >

< y/ >

< y/ >

< /x >

< x >

< y/ >

< y/ >

< /x >

返回所有< x >中的第乙個< y >

x/y[index()=0] 或x/y[0]

三、nodename()

含義:返回元素的名字,即標記名

示例:選擇任意元素,假如其名字(即標記名)等於「name」

*[nodename()='name'] 或 *[name]

四、number()

含義:將值轉換為數值形式,如果不是數值則返回空,要求引數

示例:年齡(age)小於30歲的人的簡歷(resume)

resume[number(age) $lt$ 30] 或resume[age $lt$ 30]

五、nodetype()

含義:返回結點型別,結果為是數值。以下是返回值列表:

結點型別

結點型別值 結點的字元形式描述

element

1'element'

element attribute

2'attribute'

markup-delimited region of text

3'text'

processing instruction

7'processing_instruction'

comment

8'comment'

document entity

9'document'

六、value()

含義:返回元素或屬性的值

示例:value()是元素或屬性的預設方法,以下表示是等價

name!value()="name"與name="name"

@attr="attribute_value"與@attr="attribute_value"

注:@是屬性字首,@attr表示是屬性attr

七、attribute()

含義:返回所有屬性結點的集合,等價於「@*」

示例:尋找所有的resume元素,滿足條件至少有乙個屬性的值為「abc」

resume[$any$ attribute()='abc']或resume[$any$ @*='abc']

尋找所有的resume元素,滿足條件至少有乙個子元素有乙個屬性的值為「abc」

resume[$any$ */attribute()='abc']或resume[$any$ */@*='abc']

八、comment()

含義:返回所有注釋結點

示例:例如

resume[$any$ comment()='禹希初的簡歷']

表示尋找含有注釋語句

< !--禹希初的簡歷-- >

的元素< resume >

九、cdata()

含義:返回所有cdata型別的結點的集合

示例:例如

resume[$any$ cdata()='禹希初的簡歷']

表示尋找含有下述語句(必須是直接子結點)

< ![cdata[禹希初的簡歷]] >

的元素< resume >

十、node()

含義:返回當前上下文環境中除根結點和屬性結點以外的所有結點的集合,等價於

「* | pi() | comment() | text()」

示例:尋找所有元素resume,其最後乙個結點的名字為"skill"

resume[node()[end()]!nodename()='skill']

尋找所有resume元素的第乙個結點:resume/node()[0]

十一、textnode()

含義:返回所有文字型別的結點的集合//from www.w3sky.com

示例:尋找每乙個p元素的第二個文字結點

p/textnode(1)或p!textnode(1)

十二、text()

含義:返回所有表示文字字串的結點的集合,等價於"cdata()|textnode()";

十三:date()

十四:pi()

跟我學XSL(六)

今天我們學習xsl的各種運算子,滿足編寫更大靈活性的xsl樣式的要求。表 一 運算子與特殊字元 運算子描述選擇子元素,返回左側元素的直接子元素 如果 位於最左側表示選擇根結點的直接子元素 遞迴下降,不論深度,搜尋指定的元素 如果位於最左側表示從根結點出發遞迴下降搜尋指定元素 表示當前元素 萬用字元,...

跟我學XSL(六)

運算子 關係與邏輯運算子,特殊字元等 今天我們學習xsl的各種運算子,滿足編寫更大靈活性的xsl樣式的要求。表一 運算子與特殊字元 運算子 描述 選擇子元素,返回左側元素的直接子元素 如果 位於最左側表示選擇根結點的直接子元素 遞迴下降,不論深度,搜尋指定的元素 如果位於最左側表示從根結點出發遞迴下...

跟我學XSL(三)

經過前幾日的學習,我們學習了xhtml文件的編寫和以及三個xsl元素,已能編寫相當靈活的xsl文件,今天將學習的是xsl模板的編寫。我們都知道,短的文件 程式十分好讀,但當規模增大後,其複雜性也以更快的速度增加。前面我們學了 xsl for each xsl value of 等,可以用它們對xml...