欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
XPath中函數庫

xpath中定義了一組核心函數庫。每個(gè)函數均使用一個(gè)函數原型,該原型給出返回類(lèi)型,函數名字,以及參數的類(lèi)型。如參數類(lèi)型后跟隨一個(gè)問(wèn)號,那么該參數是可選的,否則,該參數是必需的。

xpath中函數分4類(lèi)

  • 節點(diǎn)集函數
  • 字符串函數
  • 布爾函數
  • 數字函數

這些函數在表達式和謂詞中使用。

節點(diǎn)集函數(7個(gè))

  • number last()
  • last() 函數返回一個(gè)數字,該數字等于表達式求值上下文的上下文大?。ㄉ舷挛牡母拍顓⒖记捌?span lang="EN-US">xpath中路徑詳解),即給定上下文中的節點(diǎn)數。
  • number position()
  • 函數返回一個(gè)數字,該數字等于表達式求值上下文的上下文的位置,即節點(diǎn)在上下文中的當前位置。如position()=1判斷處理的節點(diǎn)是否是節點(diǎn)集合中的第一個(gè)節點(diǎn)。
  • number count(node-set)
  • count() 函數返回在參數節點(diǎn)集中節點(diǎn)的數目。count(//employee)
  • node-set id(object)
  • id() 函數根據元素的唯一標識符來(lái)選擇元素,返回一個(gè)節點(diǎn)集。元素的ID類(lèi)型屬性必須在DTD中聲明。
  • string local-name(node-set?)
  • 返回節點(diǎn)集合中依照文檔順序的第一個(gè)節點(diǎn)的擴展名(由節點(diǎn)的本地名和名稱(chēng)空間URI組成)的本地部分。如果參數所指定的節點(diǎn)集為空,或者第一個(gè)節點(diǎn)沒(méi)有擴 展名,則返回一個(gè)空字符串。如果參數被省略,默認參數為僅有一個(gè)上下文節點(diǎn)作為成員的節點(diǎn)集合。也就是說(shuō),如果要得到上下文節點(diǎn)擴展名的本地部分,可以不 傳遞參數調用local-name()函數。
  • string namespace-uri(node-set?)
  • 返回節點(diǎn)集合中依照文檔順序的第一個(gè)節點(diǎn)的擴展名的名稱(chēng)空間URI。如果參數所指定的節點(diǎn)集為空,或者第一個(gè)節點(diǎn)沒(méi)有擴展名,則返回一個(gè)空字符串。如果參 數被省略,默認參數為僅有一個(gè)上下文節點(diǎn)作為成員的節點(diǎn)集合。也就是說(shuō),如果要得到上下文節點(diǎn)擴展名的名稱(chēng)空間URI,可以不傳遞參數調用 namespace-uri()函數。
  • string name(node-set?)
  • 返回節點(diǎn)集合中依照文檔順序的第一個(gè)節點(diǎn)的完整限定名(名稱(chēng)空間前綴和本地部分)。如果參數所指定的節點(diǎn)集為空,或者第一個(gè)節點(diǎn)沒(méi)有擴展名,則返回一個(gè)空 字符串。如果參數被省略,默認參數為僅有一個(gè)上下文節點(diǎn)作為成員的節點(diǎn)集合。也就是說(shuō),如果要得到上下文節點(diǎn)擴展名的完整限定名,可以不傳遞參數調用 name()函數。

字符串函數(10個(gè))

  • string string(objece?)
  • string()函數按照如下規則將對象轉換為字符串。
    • 如果對象object是節點(diǎn)集合,則按照文檔順序返回第一個(gè)節點(diǎn)的字符串值。如果節點(diǎn)集為空,則返回一個(gè)空字符串。
    • 數字按照如下方式轉換成字符串
      • NaNnot a number 不是一個(gè)數字)轉換為字符串NaN
      • 正零轉換為字符串0
      • 負零轉換為字符串0
      • 正無(wú)窮大轉換為Infinity
      • 負無(wú)窮大轉換為-Infinity
      • 如果數字為整數,則被表示為沒(méi)有小數點(diǎn)和前導零的十進(jìn)制格式的數字,如果數字為負整數則在它的前面加一個(gè)負號(-
      • 否則,數字被表示為一個(gè)包含了小數點(diǎn)(小數點(diǎn)前后至少各有一位數字)的十進(jìn)制格式的數字。如果數字是負數,則在它的前面加一個(gè)符號(-
    • 布爾值false轉換為字符串false,true轉換為true
    • 除了四種基本類(lèi)型(節點(diǎn)集、布爾、數字、字符串)的對象外,其他對象按照所屬類(lèi)型的方式轉換為字符串。
    • 如果參數被省略,默認參數為僅有一個(gè)上下文節點(diǎn)作為成員的節點(diǎn)集合。string()函數的并不是用于將數字轉換為字符串,以便呈現給用戶(hù)而使用的。如果要將數字格式化為字符串,可以使用xslt中的format-number()函數或<xsl:number>元素。
  • string concatstring,string,string*)
  • 函數將參數中各個(gè)字符串進(jìn)行連接,返回連接后的字符串。concat('n','a','m','e')=name
  • boolean starts-with(string,string
  • 如果第一個(gè)參數中字符串以第二個(gè)參數中字符串開(kāi)頭則true,否則false。如果第二個(gè)參數為空字符串,則返回true
  • boolean containsstring,string
  • 如果第一個(gè)參數中字符串中包含第二個(gè)參數中字符串則true,否則false。如果第二個(gè)參數為空字符串,則返回true
  • string substring-beforestring,string
  • 返回在第一個(gè)字符串參數中首次出現第二個(gè)字符串參數之前的子串,或第一個(gè)字符串不包含第二個(gè)字符串參數,則返回空字符串。substring-before("1900-0-0","-")=1900 如果第二個(gè)參數是空字符串,則返回空字符串。
  • string substring-after(string,string)
  • 返回在第一個(gè)字符串參數中首次出現第二個(gè)字符串參數之后的子串,或第一個(gè)字符串不包含第二個(gè)字符串參數,則返回空字符串。substring-after("1900-0-0","-")=0-0 如果第二個(gè)參數是空字符串,則返回第一個(gè)字符串。
  • string substring(string ,number,number)
  • 返回第一個(gè)字符串參數從第二個(gè)參數所指定的位置開(kāi)始,以第三個(gè)參數為長(cháng)度的子串。例如 substring("12345",2,3)="234" 如果沒(méi)指定第三個(gè)參數,則返回從第二個(gè)參數所指定的位置開(kāi)始到字符結尾的所有字符串。和程序語(yǔ)言不同的是xpath中字符串的第一個(gè)字符的位置為1,而不是0
  • number string-length(string?)
  • string-length()返回字符串中字符的數目。如果參數被省略,則默認是將上下文節點(diǎn)轉換為字符串,換句話(huà)說(shuō),也就是上下文節點(diǎn)的字符串值
  • string normalize-space(string?)
  • 此函數去除字符串前后出現的空白,以及用一個(gè)單獨的空格替換字符串中連續出現的空白字符,然后返回經(jīng)過(guò)處理后的字符串。如果參數被省略,則默認是將上下文節點(diǎn)轉換為字符串,換句話(huà)說(shuō),也就是上下文節點(diǎn)的字符串值
  • string translatestring,string,string
  • 如果在第一個(gè)字符串中存在著(zhù)第二個(gè)字符串中的字符,則將該字符用第三個(gè)字符串參數中的與第二個(gè)參數中位置順序相同的字符替換,然后返回替換后的字符串。例 如 translate("bar","abc","ABC")=BAr 如果第二個(gè)參數中字符在第三個(gè)參數的對應位置沒(méi)有字符(第二個(gè)參數字符串比第三個(gè)參數字符串長(cháng)),那么第一個(gè)參數里的那個(gè)字符將被刪除。 translate("--abc--","abc-","ABC")=ABC 如果在第二個(gè)字符串參數中,一個(gè)字符出現多次,那么第一個(gè)出現的字符決定替換的字符。如果第三個(gè)字符串參數比第二個(gè)字符串參數長(cháng),那么多余字符將被忽略。

節點(diǎn)測試

節點(diǎn)測試:從指定軸中選擇特定的節點(diǎn)或節點(diǎn)類(lèi)型

節點(diǎn)測試的使用

  • 指定節點(diǎn)的名稱(chēng)
  • 從軸中選擇與指定的名稱(chēng)相同的節點(diǎn)。例如:child::name 表示選擇上下文節點(diǎn)中的名稱(chēng)為name的子節點(diǎn)
  • 使用通配符(*
  • 使用 * 表示軸中所有的節點(diǎn)。child::* 選擇上下文節點(diǎn)的所有子元素節點(diǎn);attribute::* 表示上下文節點(diǎn)的所有屬性。
  • node()
  • 選擇軸中所有類(lèi)型節點(diǎn)
  • text()
  • 選擇軸中所有文本節點(diǎn)
  • comment()
  • 軸中所有的注釋節點(diǎn)
  • processing-instruction()
  • 選擇軸中所有的處理指令節點(diǎn)。processing-instruction()可以帶一個(gè)參數,指定處理指令目標的名稱(chēng)。

謂詞

謂詞為一個(gè)布爾表達式,用于再次過(guò)濾通過(guò)軸和節點(diǎn)測試的節點(diǎn)集。針對節點(diǎn)集中的每一個(gè)節點(diǎn),布爾表達式都將以此節點(diǎn)作為上下文節點(diǎn)來(lái)計算,如果布爾表達式結果為真,則在保留節點(diǎn),否則丟棄此節點(diǎn)。

謂詞以[]和其中的布爾表達式組成

例如 child::employee[position()=1]

首先得到上下文的所有employee子節點(diǎn),然后對employee節點(diǎn)集中的每個(gè)節點(diǎn)計算postion()=1,找到節點(diǎn)集中位置為1的節點(diǎn),位置不為1的所有節點(diǎn)都丟棄。

謂詞的處理過(guò)程是先計算表達式的值,然后將計算的結果轉換為布爾值。如果計算結果為數字,且該數字與上下文位置相等,則結果為真,否則為假。如果計算結果不是數字,那么結果將被轉換為好像調用了boolean()函數后的結果(關(guān)于函數請參考xpath中函數介紹)。因此employee[1]employee[position()=1]是等價(jià)的。

位置路徑其實(shí)是經(jīng)過(guò)三步過(guò)濾最終得到節點(diǎn)集。此節點(diǎn)集包含0個(gè)或n個(gè)節點(diǎn)。

例如 在xslt中 對<xsl:apply-templates>元素的select屬性,可以如下定義其內容

<xsl:apply-templates select="descendant::monthly_pay[attribute::mode='cash']/>

表示上下文節點(diǎn)的后代中,名稱(chēng)為monthly_pay的所有節點(diǎn)中具有屬性mode且屬性mode的值為cash的所有節點(diǎn)。

簡(jiǎn)寫(xiě)語(yǔ)法

路徑表達式中各種軸的名稱(chēng)會(huì )讓路徑看起來(lái)很復雜。為簡(jiǎn)化路徑的書(shū)寫(xiě),xpath為一些常用的軸提供了簡(jiǎn)寫(xiě)語(yǔ)法

簡(jiǎn)寫(xiě)

示例

省略child::

employee/name ==child::employee/child::name

@代替attribute

employee[@sn='e1000']==child::employee[attribute::sn='e1000']

// 代替/descendant-or-self::node()

//employee==/descendant-or-self::node()/child::employeexml文檔中所有名稱(chēng)為employee的節點(diǎn)

(.)代替self::node()

self::node() 當前節點(diǎn)

(..) 代替parent::node()

parent::node() 當前節點(diǎn)的父節點(diǎn)

其他示例:

.//name == self::node()/descendant::node()/child::name 當前節點(diǎn)下的所有名稱(chēng)為name的節點(diǎn)

 

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
XPath 常用函數
Excel常用函數之LEFT函數
字符串函數-放在string.h
MySQL手工注入學(xué)習-1
XML模糊查詢(xún)應用:使用Xpath - 學(xué)IT網(wǎng) xueit.com
使用Xpath對XML進(jìn)行模糊查詢(xún)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久