亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 0703-0400.htm

?? 介紹了xml相關技術和應用范圍,適合初學者.
?? HTM
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0703-0400 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 7.3.4 位置步</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt9 {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt10 {
	FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋體"
}
.TempOutline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.TempOutline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage0 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage111 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
</STYLE>


<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0 
onload=""><!-- 以下為主體內容 -->
<div align="center">
  <center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
  <TBODY>
  <TR vAlign=top>
    <TD width=41 rowSpan=2></TD>
    <TD vAlign=center width="549" >
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=41 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD width="549" ><!-- 正文內容 -->
      <DIV class=pt10><B>7.3.4 位置步</B></DIV>
  &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>位置步用于表示一個相對于已知位置的位置,這個已知位置可能是一個絕對位置,也可能是一個計算結果,由所處的上下文(context)決定,這個位置稱為上下文節點(context 
      node)。如前所述,位置步的構成包括三個部分: 
      <UL>
        <LI>關鍵字,有且僅有一個,用于表示結果節點與上下文節點在文件樹中的關系; 
        <LI>節點測試,有且僅有一個,用于表示結果節點的類型或擴展名; 
        <LI>謂詞,零到多個,用于限制結果的任意表達式。 </LI></UL>
      <P>位置步首先利用關鍵字和節點測試計算,得到初始結果集,然后依次利用謂詞進行過濾。初始結果集中滿足所有謂詞的就是返回結果。初始結果集中的元素與上下文節點構成關鍵字關系,而且具有節點測試指定的類型或名稱,例如child::sepc表示上下文節點的所有sepc子元素。在對初始結果集進行過濾時,首先用第一個謂詞對初始結果集進行過濾,返回一個結果集,在此基礎上利用第二個謂詞過濾,依次類推,直到得到最后的結果集。 

      <OL>
        <LI><STRONG>關鍵字</STRONG> </LI></OL>
      <P>前面的例子提到了幾個關鍵字child、descendent,其他的關鍵字還有ancestor、self、ancestor-or-self、paren、descendant-or-self、attribute、following、preceding、following-sibling、preceding-sibling等,它們的含義與XPath中的對應關鍵字一樣,請讀者參考4.3.3節,這里不再贅述。這些關鍵字的返回結果總是節點或節點構成的集合,節點的類型可以是元素、屬性、注釋、文本、處理指令等,但不能是命名空間。</P>
      <P>由于位置步總是計算相對于上下文節點的位置,因此需要一個絕對位置,表示第一個位置步的上下文節點。關鍵字的運算取決于上下文節點,如果上下文節點有多個,它將對上下文節點逐一進行計算。XPointer可以利用XPath的絕對位置定位方法進行定位,包括利用"/"表示根節點和用id()表示具有給定ID值的元素。</P>
      <P>關鍵字具有自己的基本節點類型,基本節點類型主要用于節點測試。對于那些可以包含元素的關鍵字,如child、parent等,其基本節點類型為元素類型,在上面提到的12個關鍵字中,除了attribute以外,其他關鍵字的基本節點類型都是元素類型。而關鍵字attribute關鍵字的基本節點類型是屬性類型。 

      <OL start=2>
        <LI><STRONG>節點測試</STRONG> </LI></OL>
      <P>節點測試用于測試節點類型或節點名稱,只有那些滿足節點測試的節點才會保留在初始的結果集中,以待下一步的謂詞過濾。</P>
      <P>在很多情況下,節點測試是一個名稱,此時要求候選節點的類型與關鍵字的基本節點類型相同,并且具有指定的名稱。因此對除attribute以外的關鍵字,如果節點測試是一個名稱,結果將返回一個具有指定名稱的元素集合,而對attribute關鍵字,同樣的節點測試將返回具有指定名稱的屬性。例如:child::sepc返回上下文節點內的所有名為sepc的子節點,如果上下文節點沒有名為sepc的子節點,結果將返回空集;而attribute::href將返回上下文節點的href屬性,類似地,如果上下文節點不包括href屬性,結果也會返回空集。</P>
      <P>其他的節點測試還有: 
      <UL>
        <LI>*; 
        <LI>node(); 
        <LI>comment(); 
        <LI>processing-instruction(); 
        <LI>text(); </LI></UL>
      <P>通配符*表示所有的元素,它不考慮元素的名稱,只要元素與上下文節點滿足關鍵字所指定的關系即可,例如child::*表示上下文節點的所有子節點。通配符*只選擇元素類型。如果你希望選擇所有節點,可以用node()表示。通配符*還可用于名稱內部,用于過濾特定命名空間的元素和屬性。比如:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
      width="100%">child::*:spec<BR>attribute::xlink:*</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>上面的第一個例子表示上下文節點內所有命名空間下名為spec的所有子元素,第二個例子表示上下文節點的所有xlink屬性。</P>
      <P>節點測試node()表示所有類型的節點,包括元素、注釋、文本、處理指令等。node()不接收參數。例如,/self::node()表示文件的根節點。</P>
      <P>節點測試還可以是comment()、text()、processing-instruction(),表示節點的類型是注釋、文本或處理指令,comment()和text()不接收參數,processing-instruction()可以接收參數,如/descendent::processing-instruction( 
      xml-stylesheet 
      )表示文件中以&lt;?xml-stylesheet打頭的處理指令。沒有參數的processing-instruction()表示不對處理指令的名稱作限制。由于注釋、文本和處理指令類型的節點都不包含屬性和元素,因此不能在包含這幾個節點測試的位置步后,添加查找屬性或者元素的位置步。如"/descendent::processing-instruction( 
      xml-stylesheet )/attribute::href"就不是一個合法的位置路徑。 
      <OL>
        <LI type=disc value=3><STRONG>謂詞</STRONG> </LI></OL>
      <P>XPointer位置步可以包括零個或多個謂詞對結果集進行過濾。它將不滿足謂詞條件的候選節點過濾掉,關鍵字和節點測試首先確定候選節點的列表,謂詞在其中選取最后的結果。其實,節點測試可以看成是謂詞的特例。</P>
      <P>一般來說,謂詞應該是一個布爾表達式,它對每個候選節點計算表達式的值,如果返回值為真,則該節點滿足謂詞,從而被保留在結果集中,否則節點將從結果集中刪除。但有時謂詞的計算結果不是一個布爾表達式,返回值可能是字符串、數字、節點集合等。XPointer將返回結果轉換為布爾值以確定候選節點是否滿足謂詞。 

      <UL>
        <LI>非0數字轉換為true,數字0和NaN轉換為false,NaN是"Not a 
        Number"的簡寫,常用于表示被0除或其他非法運算的結果; 
        <LI>非空節點集合轉換為true,否則轉換為false; 
        <LI>非空節點片斷轉換為true,否則轉換為false; 
        <LI>長度不為0的字符串(包含字符串"false")轉換為true,否則轉換為false; </LI></UL>
      <P>XPointer中,最常用和最重要的謂詞是表示位置的謂詞,XPointer包括幾個謂詞函數position()、last()等。position()表示節點在結果列表中的序號,序號從1開始。該函數常與數字連用,中間用關系運算符=、&lt;&gt;、&lt;、&lt;=、&gt;、&gt;=連接,表示結果節點的位置序號與指定數字滿足指定關系運算符。由于position()函數使用非常普遍,XPointer提供了一種簡寫形式,謂詞[position()=n]可以簡寫為[n]。last()表示列表的節點數目,由于last()的結果是個數字,因此它也可與position()函數連用。此外,謂詞中還可以包括位置步,它對謂詞中的位置步進行計算,該位置步的上下文節點是當前的上下文節點。如果返回集合為空,則謂詞計算結果為false,否則為true,甚至還可以用count()對位置步進行計數。下面給出幾個例子:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD align=middle width="50%"><STRONG>位置步</STRONG></TD>
          <TD align=middle width="50%"><STRONG>含 義</STRONG></TD></TR>
        <TR>
          <TD width="50%">xpointer(/descendant::sepc[postion()=2])</TD>
          <TD width="50%">文件中第2個sepc元素</TD></TR>
        <TR>
          <TD width="50%">xpointer(id("_loc")/child::sepc[postion()&gt;=2])</TD>
          <TD width="50%">ID值為"_loc"的元素的第2個及其以后的sepc子元素。</TD></TR>
        <TR>
          <TD 
width="50%">xpointer(id("_loc")/ancestor::*[postion()=last()])</TD>
          <TD width="50%">文件中ID值為"_loc"的元素的最外層的包含元素,顯然應該是文件的根元素。</TD></TR>
        <TR>
          <TD width="50%">xpointer(/descendant::attribute[ID="_loc"])</TD>
          <TD width="50%">查找文件中所有值為_loc的ID屬性。</TD></TR>
        <TR>
          <TD width="50%">xpointer(/descendant::customer[child::car])</TD>
          <TD width="50%">文件中包含car子元素的所有customer元素。</TD></TR>
        <TR>
          <TD 
            width="50%">xpointer(/descendant::customer[count(child::car)&gt;1])</TD>
          <TD 
      width="50%">文件中包含兩個以上car子元素的所有customer元素。</TD></TR></TBODY></TABLE></CENTER></DIV></DIV>
      <P></P>
      <P></P></TD></TR></TBODY></TABLE>
  </center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草成人在线观看| 国产精品丝袜91| 日本一区中文字幕| 欧美电影一区二区| 蜜桃视频一区二区| 精品国产欧美一区二区| 国产99一区视频免费| 国产精品久久久久一区| 91老师国产黑色丝袜在线| 一区二区三区资源| 这里只有精品视频在线观看| 久久成人综合网| 久久久精品综合| 成人网在线播放| 亚洲精品国产品国语在线app| 欧美三区在线视频| 久久精品99国产国产精| 国产精品久久一级| 欧美日韩高清影院| 国产传媒久久文化传媒| 亚洲黄网站在线观看| 日韩欧美色综合网站| 成人性生交大片免费看中文| 亚洲码国产岛国毛片在线| 91精品国产一区二区| 国产大陆a不卡| 亚洲国产综合在线| 久久婷婷久久一区二区三区| 色哟哟一区二区三区| 捆绑变态av一区二区三区| 国产精品理论片在线观看| 欧美一区二区三区免费视频| 国产suv精品一区二区6| 五月综合激情网| 国产精品免费人成网站| 欧美日韩黄色影视| 国产精品资源网| 亚洲成va人在线观看| 国产日韩欧美精品电影三级在线| 欧美视频一区二区三区在线观看 | 国产精品久久久久影院色老大| 欧美日韩在线不卡| 国产成人免费av在线| 日韩国产一区二| 亚洲黄色录像片| 久久精品综合网| 精品久久久久久亚洲综合网| 欧美在线|欧美| 91亚洲男人天堂| 国产激情视频一区二区三区欧美| 日韩电影一区二区三区| 偷拍自拍另类欧美| 国产婷婷色一区二区三区| 色综合久久综合中文综合网| 国产黄色精品视频| 免播放器亚洲一区| 亚洲国产欧美在线| 国产精品国产三级国产aⅴ中文| 日韩精品一区国产麻豆| 911精品产国品一二三产区| 91网站最新网址| 国产.精品.日韩.另类.中文.在线.播放 | 亚洲午夜三级在线| 国产精品高潮呻吟| 亚洲国产激情av| 国产三级久久久| 久久婷婷国产综合精品青草| 日韩三级视频在线观看| 91麻豆精品91久久久久同性| 欧美日韩在线亚洲一区蜜芽| 91国产免费观看| 在线免费不卡视频| 在线国产亚洲欧美| 一本大道久久a久久精二百| 99久久久国产精品免费蜜臀| 国产白丝精品91爽爽久久| 国产乱码精品一区二区三区忘忧草| 精品一区二区免费| 国产综合久久久久久久久久久久| 激情久久五月天| 国模无码大尺度一区二区三区| 激情伊人五月天久久综合| 国产毛片精品视频| 国产a精品视频| 91麻豆国产福利在线观看| 91国内精品野花午夜精品| 欧美性大战久久| 91精品国产综合久久精品性色| 欧美精品一二三区| 欧美变态口味重另类| 久久久久久**毛片大全| 国产精品久久久久久久蜜臀| 国产精品国产a级| 亚洲国产视频直播| 日本人妖一区二区| 国产一区二区91| 91在线视频官网| 欧美三级视频在线观看| 日韩一级片在线播放| 国产喂奶挤奶一区二区三区| 亚洲三级在线免费| 亚洲国产精品尤物yw在线观看| 欧美bbbbb| 成人性生交大片免费看中文| 欧美性猛片xxxx免费看久爱| 91精品国产全国免费观看| 久久久www免费人成精品| 国产精品久久久久久久久久久免费看 | 日韩不卡一二三区| 国产又粗又猛又爽又黄91精品| gogogo免费视频观看亚洲一| 欧美视频一区二区| 2019国产精品| 伊人性伊人情综合网| 精品一区二区三区视频| 91色视频在线| 精品电影一区二区三区| 亚洲伦理在线精品| 狠狠色综合日日| 色综合天天综合狠狠| 日韩精品一区二区三区在线 | 日韩一区二区三区视频在线| 久久久夜色精品亚洲| 亚洲大片免费看| 成人综合日日夜夜| 91精品免费在线| 日韩毛片高清在线播放| 青椒成人免费视频| 91久久奴性调教| 久久九九影视网| 日韩和欧美的一区| 日本乱人伦aⅴ精品| 国产亚洲精品aa| 免费在线欧美视频| 欧美日韩一区二区三区四区 | 亚洲精品国产第一综合99久久 | 国产女主播在线一区二区| 日韩精品成人一区二区在线| 99久久er热在这里只有精品66| 26uuu欧美| 日韩av成人高清| 91免费国产视频网站| 国产日产欧美一区二区三区| 久久精品av麻豆的观看方式| 精品视频一区三区九区| 亚洲女人****多毛耸耸8| 国产成人免费高清| 久久久久久麻豆| 久久99精品国产.久久久久久| 欧美日韩电影一区| 亚洲国产aⅴ天堂久久| 一本色道久久加勒比精品| 中文字幕av一区二区三区| 国产麻豆视频一区| 精品国产凹凸成av人网站| 久久精品国产99| 日韩视频在线观看一区二区| 视频一区欧美精品| 91精品欧美福利在线观看 | 日本人妖一区二区| 欧美日韩卡一卡二| 亚洲一区二区av电影| 91网址在线看| 一区二区三区免费网站| 99精品黄色片免费大全| 亚洲同性同志一二三专区| av在线不卡免费看| 亚洲图片你懂的| 欧洲精品一区二区| 亚洲电影第三页| 欧美一区二区三区在线电影 | 亚洲精品国产视频| 在线观看国产精品网站| 亚洲高清不卡在线| 91麻豆精品国产91| 激情综合网最新| 久久久久久99久久久精品网站| 国产精品123| 亚洲欧美日韩国产综合| 一本大道久久a久久综合| 亚洲地区一二三色| 日韩欧美一二区| 国产99久久久国产精品| 日韩久久一区二区| 欧美精品一二三区| 国产一区二区中文字幕| 中文字幕免费观看一区| 色综合网站在线| 日韩国产欧美在线观看| 久久影院电视剧免费观看| www.爱久久.com| 亚洲18色成人| 久久网这里都是精品| 99久久精品免费看国产免费软件| 亚洲高清免费在线| 2017欧美狠狠色| 一本久道中文字幕精品亚洲嫩| 亚洲国产精品影院| 国产亚洲综合av| 欧美在线小视频|