日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

XPath入門 - XSL教程 - 3

瀏覽:433日期:2022-06-04 14:51:33
什么是XPath
  XPath(可擴展路徑) 是給 XSL 轉(zhuǎn)換[XSLT]和 XPointer [XPointer]的共享功能提供一個共用的句法及語義的結(jié)果。XPath的主要的目是用于對 XML 文檔元件尋址。在支持這個主要目的的同時,它也為字符串,數(shù)字和布爾的操作提供了基本手段。XPath 使用簡明的、非 XML 句法以便於在 URIs 和 XML 屬性值以內(nèi)使用 XPath,XPath 對 XML 文檔的抽象的、邏輯的結(jié)構(gòu)而非它的表面句法進行操作,XPath 的名字源于它在 URL 中用作對 XML 文檔的層次的結(jié)構(gòu)進行導航一個路徑標志。
除了用做尋址外,XPath 也被設(shè)計成以便它有能被用于匹配的一個自然的子集(測試一個節(jié)點是否匹配一個模式);XSLT中描述了 XPath 在這方面的使用。 
  XPath 將一個 XML 文檔建模成為一棵節(jié)點樹,有不同類型的節(jié)點,包括元素節(jié)點,屬性節(jié)點和正文節(jié)點。XPath 定義了一種方法來計算每類的節(jié)點的字串值。一些節(jié)點的類型也有名字。XPath 充分支持 XML 命名空間[XML Names]。這樣,節(jié)點的名字被建模成由一個局城部分和可能為空的命名空間 URI 組成的對;這被稱為擴展名。

XPath返回的類型
  1:節(jié)點集合(無序的、無重復的節(jié)點集合) 
  2:布爾(真或假) 
  3:數(shù)字(一個浮點數(shù)字) 
  4:字符串(UCS 字符的順序) 
地址路徑
地址路徑是Xpath用于定位的一條語句,基本的語法如下:
/ 選擇XML文檔的根結(jié)點 
/* 選擇根結(jié)點的所有子節(jié)點,
*匹配任意子節(jié)點 
/x 選擇根結(jié)點的所有x元素 
//book 選擇根結(jié)點的所有后代節(jié)點中的book元素 
//@id 選擇含有id屬性的子節(jié)點 
para[1] 選擇上下文節(jié)點的第一個 para 孩子
//vendor[@id="id1_2"]/book 選擇符合“屬性id="id1_2"”的所有book元素 
/bib/vendor/book[year>2002] 選擇符合“元素year>"2002"”的所有book元素 
text() 選擇上下文節(jié)點的所有的正文節(jié)點孩子
@name 選擇上下文節(jié)點的 name 屬性
@* 選擇上下文節(jié)點的所有的屬性
*/para 選擇上下文節(jié)點的所有的 para 孫子
/doc/chapter[5]/section[2] 選擇doc的第五個 chapter 的第二個 section
.//para 選擇上下文節(jié)點的 para 元素子孫
para[@type="warning"] 選擇的上下文節(jié)點的所有的有屬性 type 且值為 warning 的 para 孩子
chapter[title="Introduction"] 選擇上下文節(jié)點的 chapter 孩子如果它有一個或多個 title 孩子且字串值為 Introduction
employee[@secretary and @assistant] 選擇上下文節(jié)點的所有既有 secretary 屬性又有 assistant 屬性的 employee 孩子
chpater[title] 選擇的上下文節(jié)點中有一個或一個以上 title 孩子的 chpater 孩子
1:child 是缺省軸。例如,地址路徑 div/para 是 child:iv/child::para 的縮寫。
2:屬性也有縮寫形式: attribute:: 能被縮寫成 @。例如,地址路徑 para[@type="warning"] 為 child::para[attribute::type="warning"] 的縮寫,也就是選擇有 type 屬性且屬性值為 warning 的 para 孩子。
3:// 是 /descendant-or-self::node()/ 的縮寫。例如,//para 是 /descendant-or-self::node()/child::para 的縮寫,因此選擇文檔中所有的 para 元素(即使 para 元素是文檔元素,也會被 //para 所選擇,因為文檔元素是根節(jié)點的孩子); div//para 是 div/descendant-or-self::node()/child::para 的縮寫,因此將選擇 div 孩子的所有 para 子孫
核心函數(shù)庫
節(jié)點集合函數(shù)
last()返回一個數(shù)字,該數(shù)字等于從表達式求值上下文中的上下文大小 
position()函數(shù)返回一個數(shù)字,該數(shù)字等於從表達式求值上下文中的上下文位置
count(node-set)函數(shù)返回在參數(shù)node-set中節(jié)點的個數(shù)
id(object)通過元素的唯一的ID選擇他們
local-name(node-set?)返回一個節(jié)點的擴展名的局域部分
namespace-uri(node-set?)返回依照文檔順序參數(shù)節(jié)點集合中的第一個節(jié)點的擴展名的命名空間 URI,除了元素節(jié)點和屬性節(jié)點外函數(shù) namespace-uri 返回的字符串將為空
name(node-set?)返回一個字符串,字符串包含一個QName,它代表依照文檔順序參數(shù)節(jié)點集合中的第一個節(jié)點的擴展名,除了元素節(jié)點和屬性節(jié)點外,由 name 函數(shù)返回的字符串將與 local-name 函數(shù)返回的字符串一樣
字符串函數(shù)
string(object?)函數(shù)將對象轉(zhuǎn)換成字符.
concat(string, string, string*) 函數(shù)返回它的參數(shù)的聯(lián)結(jié)
starts-with(string, string)如果第一個字符串參數(shù)以第二個字符串參數(shù)起頭,starts-with 函數(shù)返回真,否則,返回假
contains(string, string)如果第一個字符串參數(shù)包含第二個字符串參數(shù),contains 函數(shù)返回真,否則,返回假
substring-before(string, string)函數(shù)返回第一個字符串參數(shù)在第二個參數(shù)首次出現(xiàn)之前的子字符串,或者,如果第一個字符串參數(shù)不包含第二個字符串參數(shù)則返回空字符串。例如,substring-before("1999/04/01","/") 返回 1999
substring-before(string, string)函數(shù)返回第一個字符串參數(shù)在第二個參數(shù)首次出現(xiàn)之前的子字符串,或者,如果第一個字符串參數(shù)不包含第二個字符串參數(shù)則返回空字符串。例如,substring-before("1999/04/01","/") 返回 1999
substring( string , number , number? )函數(shù)返回第一個字符串參數(shù)從第二個參數(shù)所指定的位置開始,以第三個參數(shù)為長度的子字符串。例如, substring("12345",2,3) 返回 "234"。如果沒有第三個參數(shù),則返回從第二個參數(shù)所指定的位置開始直到結(jié)束。例如, substring("12345",2) 返回"2345"
string-length( string? )返回字符串中字符的個數(shù)
normalize-space(string?)函數(shù)返回空白符規(guī)范化 后的參數(shù)字符串,該規(guī)范化是清除領(lǐng)頭及結(jié)尾的空白字以及用一個空白符替換連續(xù)的空白符
translate(string, string, string)函數(shù)返回第一個參數(shù)的字符串,其中有在第二個參數(shù)中出現(xiàn)的字符都被在第三個參數(shù)中相對應位置的字符所替換。例如,translate("bar","abc","ABC") 返回字符串 BAr。如果,第二個參數(shù)里的字符在第三個參數(shù)的相對應位置沒有字符(因為第二個參數(shù)里的字符串比第三個參數(shù)的字符串長),那么,第一個參數(shù)里的那個字符將被移去。例如,translate("--aaa--","abc-","ABC") 返回 "AAA"。如果在第二個參數(shù)里的字符出現(xiàn)超過一次,那么,第一次的出現(xiàn)決定替換的字符。如果第三個參數(shù)里的字符串比第二個參數(shù)的字符串長, 那么,多余的字符將被忽略
布爾函數(shù)
boolean(object)
not(boolean)
true()
false()
lang(string)
數(shù)字函數(shù)
number(object?)函數(shù)參數(shù)依下列各項轉(zhuǎn)換成數(shù)字
sum(node-set)對於在參數(shù)節(jié)點集合的每個節(jié)點,sum 函數(shù)返回節(jié)點字串值轉(zhuǎn)換成數(shù)字后的和
floor(number)函數(shù)返回不大於參數(shù)的整數(shù)的最大數(shù) (最接近于正無窮大)
ceiling(number)函數(shù)返回不小於參數(shù)的整數(shù)的最小數(shù) (最接近于負無窮大)
round(number) 函數(shù)返回最接近于參數(shù)的整數(shù)。如果有兩個這樣的數(shù)字,那么,返回最接近于正無窮大的那個。如果參數(shù)是 NaN,那么返回 NaN。如果參數(shù)是正無窮大,那么返回正無窮大。如果參數(shù)是負無窮大,那么返回負無窮大。如果參數(shù)是正零,那么返回正零。如果參數(shù)是負零,那么返回負零。如果參數(shù)小於零,但大於或等於 -0.5 ,那么返回負零。
參照規(guī)范
XML See See http://www.w3.org/TR/1998/REC-xml-19980210
XML Nameshttp://www.w3.org/TR/REC-xml-names
XSLT See http://www.w3.org/TR/xslt
部分參照XML 路徑語言(XPath) 版本 1.0
標簽: XML/RSS
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久一区| 丝袜美腿亚洲色图| 国产人成精品一区二区三| 亚洲欧洲日韩精品在线| 亚洲日本三级| 91久久久精品国产| 欧美99久久| 国产亚洲在线| 在线精品一区| 97se亚洲| 97久久亚洲| 国产精品久久久久久av公交车| 欧美日韩中出| 欧美国产极品| 日本久久黄色| 少妇精品导航| 亚洲激情欧美| 亚洲ww精品| 国产美女亚洲精品7777| 精品视频一区二区三区四区五区| 精品成人18| 亚洲爱爱视频| 国产色综合网| 欧美日韩视频免费看| 久久影院午夜精品| 九色porny丨国产首页在线| 国产精品日本一区二区不卡视频 | 日本特黄久久久高潮| 欧美日韩亚洲一区| 国产精品极品在线观看| 国内精品亚洲| 国产综合激情| 蜜桃av一区二区| 国产精品手机在线播放| 国产精品原创| 六月婷婷一区| 日本不卡一区二区三区| 免费在线观看一区| 999视频精品| 中文字幕av一区二区三区人 | 麻豆精品少妇| 免费污视频在线一区| 久久国产精品久久久久久电车| 青青伊人久久| 日韩高清成人| 无码日韩精品一区二区免费| 国产一区二区三区亚洲| 国产在线成人| 国产一区 二区| 亚洲综合电影| 午夜久久美女| 国产欧美一区二区色老头| av日韩中文| 鲁大师成人一区二区三区| 国产精品s色| 国产一区日韩欧美| 美女久久99| 国产亚洲精品久久久久婷婷瑜伽| 国产精品一二| 亚洲免费精品| 六月丁香综合在线视频| 亚洲精品中文字幕乱码| 久久av影视| 免费日本视频一区| 日韩理论视频| 日韩在线一二三区| 日本午夜大片a在线观看| 欧美精品三级在线| 欧美日韩四区| аⅴ资源天堂资源库在线| 日韩三级一区| 波多野结衣一区| 精品三级av| 日韩精品亚洲专区| 免费视频国产一区| 美腿丝袜亚洲一区| 亚洲欧美高清| 日韩一区二区三区免费播放| 久久国产精品色av免费看| 宅男噜噜噜66国产日韩在线观看| 青青草国产精品亚洲专区无| 日韩一区二区久久| 97精品国产福利一区二区三区| 日韩久久99| 99视频精品| 色婷婷精品视频| 开心激情综合| 18国产精品| 免费在线观看成人| 亚洲精品电影| 久久视频国产| 成人av三级| 老司机免费视频一区二区三区| 婷婷成人av| 国产精品免费看| 成人啊v在线| а√天堂8资源在线| 精品视频一二| 美日韩一区二区三区| 日韩av一二三| 喷白浆一区二区| 91精品高清| 久久激情婷婷| 欧美一区久久久| 精品福利久久久| 美女视频网站久久| 国产精品入口久久| 国产精品宾馆| 国产极品模特精品一二| 欧美视频久久| 亚洲乱码视频| 蜜桃视频在线观看一区二区| 影音先锋久久| 伊人久久亚洲热| 一区免费视频| 中文亚洲免费| 日韩在线卡一卡二| 久久不射中文字幕| 丝袜美腿一区二区三区| 免费一区二区视频| 一区二区三区国产在线| 丝袜美腿亚洲一区| 日韩一区欧美二区| 亚洲免费成人av在线| 亚洲一二三区视频| 免费观看在线色综合| 在线日韩成人| 日本欧美一区二区在线观看| 欧美一区网站| 欧美精品不卡| 国产一区二区三区四区大秀 | 国产精品伦一区二区| 国产精品久久| 丰满少妇一区| 久久久久国产一区二区| 欧洲激情综合| 在线精品亚洲| 国产欧美久久一区二区三区| 国产精品第一| 国产精品丝袜在线播放| 精品日本视频| 激情国产在线| 欧美日韩国产精品一区二区亚洲| 国产精品美女| 清纯唯美亚洲综合一区| 国产精品久久久久久久久久白浆| 久久精品三级| 日韩精品91| 午夜电影亚洲| 亚洲a级精品| 国产精品美女午夜爽爽| 国产一区二区三区四区二区| 久久视频国产| 亚洲精品日本| 热久久久久久| 91亚洲自偷观看高清| 国产一区二区三区自拍| 最近国产精品视频| 蜜桃久久久久| 国产综合色产| 亚洲97av| 久久精品国产在热久久| 久久精品一区二区不卡| 久久99伊人| 国产精品日韩精品在线播放| 色偷偷偷在线视频播放| 红桃视频国产一区| 国产亚洲精品美女久久| 97人人精品| 午夜久久福利| 国产精品亚洲二区| 99久久精品国产亚洲精品| 亚洲免费观看高清完整版在线观| 精品视频在线一区二区在线| 欧美精品激情| 国产精品久久久久久av公交车| 亚洲伦乱视频| 在线日韩成人| 97在线精品| 亚洲男人在线| 日韩欧美精品| 水蜜桃久久夜色精品一区的特点| 久久精品97| 偷拍精品精品一区二区三区| 亚洲中字黄色| 麻豆久久一区二区| 丝袜美腿亚洲色图| 日本不良网站在线观看| 日本强好片久久久久久aaa| 久久免费黄色| 久久激情五月婷婷| 欧美日中文字幕| 久久的色偷偷| 免费人成黄页网站在线一区二区| 精品中文在线| 免费成人性网站| 欧美日韩免费观看视频| 日本午夜精品视频在线观看| 国产精品88久久久久久| 久久99高清|