亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产一区二三区| 成人免费视频一区| 亚洲欧洲国产专区| 欧美狂野另类xxxxoooo| 成人黄色a**站在线观看| 日韩高清在线一区| 亚洲美女精品一区| 国产亚洲精品资源在线26u| 欧美丰满嫩嫩电影| 在线视频欧美区| 成人国产电影网| 国内精品免费在线观看| 丝袜美腿高跟呻吟高潮一区| 亚洲欧美国产三级| 亚洲国产精品激情在线观看| 欧美大肚乱孕交hd孕妇| 欧美日韩精品一区视频| 色综合天天综合网天天看片| 国产成人av电影在线观看| 麻豆视频观看网址久久| 日日夜夜精品视频免费| 亚洲综合免费观看高清在线观看| 国产精品久久免费看| 久久久噜噜噜久噜久久综合| 精品日本一线二线三线不卡| 欧美精品九九99久久| 欧美日韩一区二区三区四区五区| 91丨porny丨国产| 不卡影院免费观看| 成人av网在线| 成人毛片老司机大片| 福利一区二区在线观看| 国产麻豆精品久久一二三| 激情图片小说一区| 国精品**一区二区三区在线蜜桃 | 狠狠狠色丁香婷婷综合激情| 日韩精品一区第一页| 五月婷婷另类国产| 丝袜美腿成人在线| 日本欧美在线观看| 蜜臀av亚洲一区中文字幕| 欧美96一区二区免费视频| 日本亚洲三级在线| 久久国产三级精品| 国产激情一区二区三区四区| 国产精品综合二区| 成人av动漫在线| 91在线精品一区二区三区| 色综合色狠狠综合色| 色狠狠一区二区三区香蕉| 欧美色窝79yyyycom| 欧美精品久久一区| 久久一夜天堂av一区二区三区| 国产喷白浆一区二区三区| 国产精品久久久久久久久久免费看 | 日本不卡不码高清免费观看| 亚洲a一区二区| 久久精品国产免费| 国产成人免费视频一区| 99精品热视频| 欧美人成免费网站| 日韩美一区二区三区| 国产午夜精品久久久久久久| 成人免费在线播放视频| 亚洲一区二区三区精品在线| 奇米影视一区二区三区| 国产夫妻精品视频| 色先锋aa成人| 欧美一区二区三区精品| 日本一区二区在线不卡| 亚洲黄色小视频| 美国精品在线观看| 99re6这里只有精品视频在线观看| 在线观看亚洲a| 久久奇米777| 亚洲国产一区二区a毛片| 九九国产精品视频| 色视频一区二区| 精品国产乱码久久久久久影片| 国产精品国产三级国产aⅴ入口 | 欧美日本在线播放| 国产欧美日韩另类一区| 亚洲国产欧美另类丝袜| 国产成人免费视频一区| 欧美福利视频一区| 中文字幕在线不卡一区| 人妖欧美一区二区| 99久久99久久免费精品蜜臀| 欧美放荡的少妇| 成人免费在线视频| 激情图区综合网| 欧美猛男男办公室激情| 中文字幕精品一区二区精品绿巨人| 亚洲成a人片在线不卡一二三区| 国产综合色在线| 欧美日韩免费一区二区三区视频| 久久色.com| 日日夜夜精品视频免费| 91日韩精品一区| 久久精品夜夜夜夜久久| 日韩高清在线观看| 91成人国产精品| 国产精品久线在线观看| 精东粉嫩av免费一区二区三区| 91久久精品午夜一区二区| 国产欧美日韩在线| 看片网站欧美日韩| 欧美日韩视频在线第一区| 亚洲欧美日韩国产手机在线| 国产精品66部| 久久欧美中文字幕| 玖玖九九国产精品| 欧美欧美欧美欧美| 午夜欧美大尺度福利影院在线看| hitomi一区二区三区精品| 久久久久久日产精品| 久久精品国产77777蜜臀| 欧美日韩免费视频| 亚洲午夜免费电影| 色悠久久久久综合欧美99| 中日韩av电影| 粉嫩av一区二区三区在线播放| 欧美精品一区二区精品网| 午夜婷婷国产麻豆精品| 欧美性生活影院| 亚洲一区二区偷拍精品| 色噜噜久久综合| 尤物av一区二区| 在线亚洲欧美专区二区| 洋洋成人永久网站入口| 色综合一个色综合| 亚洲精品免费在线播放| 色视频成人在线观看免| 亚洲综合精品自拍| 欧美三级视频在线| 亚洲成人av在线电影| 欧美日韩国产美| 日韩精品1区2区3区| 欧美一区二区三区四区五区| 日韩国产精品久久久久久亚洲| 欧美精品xxxxbbbb| 蜜桃精品视频在线| 精品久久久久av影院| 国产一区二区三区在线看麻豆| 久久影院电视剧免费观看| 国产福利一区二区三区视频在线 | 亚洲蜜臀av乱码久久精品蜜桃| 91在线视频免费91| 亚洲一区二区在线观看视频| 欧美日韩不卡在线| 久久99精品国产麻豆婷婷| 久久婷婷一区二区三区| 播五月开心婷婷综合| 亚洲人成精品久久久久久| 欧美在线你懂得| 日本不卡不码高清免费观看 | 午夜不卡av在线| 欧美成人伊人久久综合网| 国产精品夜夜嗨| 亚洲色图丝袜美腿| 精品视频色一区| 黄一区二区三区| 国产精品成人一区二区三区夜夜夜| 一本久道久久综合中文字幕| 日韩在线播放一区二区| 国产欧美一区二区精品仙草咪| 91影院在线观看| 日韩高清在线一区| 国产精品女主播在线观看| 欧美亚洲免费在线一区| 久久精品国产一区二区三| 亚洲欧洲另类国产综合| 欧美日韩精品一区二区三区四区 | 亚洲一区二区综合| 亚洲精品一区二区三区蜜桃下载 | 欧美一区二区三区影视| 粉嫩av亚洲一区二区图片| 亚洲尤物视频在线| 欧美精品一区二区在线播放| 91蝌蚪porny| 国产综合久久久久影院| 亚洲欧美另类综合偷拍| 日韩精品专区在线| 91天堂素人约啪| 国内一区二区在线| 亚洲第一激情av| 国产精品伦理一区二区| 91精品国产高清一区二区三区蜜臀 | 国模套图日韩精品一区二区| 亚洲午夜一区二区三区| 日本一区二区三区免费乱视频| 欧美日韩精品一区二区天天拍小说 | 亚洲大片精品永久免费| 久久网站热最新地址| 欧美日本一道本在线视频| 成人久久18免费网站麻豆| 麻豆中文一区二区| 午夜影视日本亚洲欧洲精品| 中文文精品字幕一区二区| 91精品国产综合久久久蜜臀粉嫩 |