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

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

?? 0703-0500.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-0500 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 7.3.5 XPointer擴展</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=57 rowSpan=2></TD>
    <TD vAlign=center width="527">
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=42 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD width="527" ><!-- 正文內容 -->
      <DIV class=pt10><B>7.3.5 XPointer擴展</B></DIV>
     &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>前面介紹的定位方式來源于XPath,它們同時適用于XPath和XPointer,但是XPointer對XPath進行了擴展。其擴展主要包括: 
      <UL>
        <LI>增加了函數here() 和origin()用于進行位置定位; 
        <LI>將XPath的節點(node)擴展為位置(location),位置可以是節點、點和區域; 
        <LI>增加了區域表達式,用于生成區域; 
        <LI>增加函數start-point() 和end-point(),用于定位節點和區域的起始點和結束點; 
        <LI>增加函數string-range(),用于生成字符串; 
        <LI>增加謂詞函數unique(),用于測試XPointer表達式是否只返回一個位置,而不是多個位置或沒有返回位置。 </LI></UL>
      <P><STRONG>定位函數</STRONG></P>
      <P>前面提到,絕對位置的定位可以用根節點,或者指定了ID屬性值的元素,對應的函數為root()和id(),其中root()可以簡寫為"/"。除了這兩個函數外,XPointer還提供兩個函數定位位置,它們是here()和origin()。</P>
      <P>here()函數返回當前元素,即包含當前XPointer的元素,經常用于構造鏈表。下例表示一本名為《XML初學進階》的書,它包括十章,每一章包括指向前一章和后一章的鏈接。為簡短起見,省略了文件的DTD。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;?xml version="1.0" encoding="gb2312" 
            ?&gt;<BR>&lt;BOOK xmlns:xlink = 
            "http://www.w3.org/1999/xlink"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            name = "XML初學進階"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; author = 
            "XML中國論壇"&gt;<BR>&nbsp; &lt;CHAPTER&gt;<BR>&nbsp;&nbsp;&nbsp; 第一章 
            XML基本概念<BR>&nbsp;&nbsp;&nbsp; &lt;LINK xlink:type = "simple" 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:href = "here()/following::CHAPTER 
            [1]"&gt;<BR>&nbsp;&nbsp;&nbsp; 下一章&lt;/LINK&gt;<BR>&nbsp; 
            &lt;/CHAPTER&gt;<BR>&nbsp; &lt;CHAPTER&gt;<BR>&nbsp;&nbsp;&nbsp; 第二章 
            XML基本語法<BR>&nbsp;&nbsp;&nbsp; &lt;LINK xlink:type = "simple" 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:href = "here()/preceding::CHAPTER 
            [1]"&gt;<BR>&nbsp;&nbsp;&nbsp; 
            上一章&lt;/LINK&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;LINK xlink:type = 
            "simple"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:href = "here()/following::CHAPTER 
            [1]"&gt;<BR>&nbsp;&nbsp;&nbsp; 下一章&lt;/LINK&gt;<BR>&nbsp; 
            &lt;/CHAPTER&gt;<BR>&nbsp; ……<BR>&nbsp; 
            &lt;CHAPTER&gt;<BR>&nbsp;&nbsp;&nbsp; 第十章 
            XML應用<BR>&nbsp;&nbsp;&nbsp; &lt;LINK xlink:type = 
            "simple"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:href="here()/preceding::CHAPTER [1]"&gt;<BR>&nbsp;&nbsp;&nbsp; 
            上一章&lt;/LINK&gt;<BR>&nbsp; 
        &lt;/CHAPTER&gt;<BR>&lt;/BOOK&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>關于origin()函數的含義有一些混淆的地方,按照XPointer的當前版本的規范,origin()函數和here()函數基本相同,但origin()函數用于外聯鏈接(out-of-line),表示資源文件中鏈接激活處的元素。但是由于XLink的最新版本規范中已經沒有了外聯鏈接的概念,因此XPointer中的解釋失去了意義,也許可以將外聯鏈接理解為鏈接庫。出現這個問題的原因是XPointer和XLink的規范不同步,XPointer的候選標準推出比XLink候選標準推出早了約一個月,但與XLink相關的部分還按照XLink規范的老版本。希望在兩個規范推出正式標準時不會出現這個問題。</P>
      <P><STRONG>點</STRONG></P>
      <P>前面介紹的位置步都返回XML中的節點,比如:元素、注釋、處理指令等。它們都是XML中的結構數據,但是有時需要定位的不是一個XML結構,而是XML結構數據中的某一部分。比如:在CDATA數據中定位部分數據,或者在日期中定位月份時,就必須用到點(point)進行定位。XPointer中的點表示XML文件中節點和字符前后的位置。</P>
      <P>如果點的包含節點是可以包含子節點的元素或根節點,則該點稱為節點點(node-point)。此時索引是按照節點進行的,索引號0表示所有子節點之前的位置,索引號n表示第n個子節點之后的位置。如果點的包含節點不能包含子節點,此時的點稱為字符點(character-point),此時索引是按照字符進行的,索引號0表示所有字符之前的位置,索引號n表示第n個子字符之后的位置。例如:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
            width="100%">//descendant::sepc[position()=1]/point()[position()=0]</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>表示文件中第一個sepc元素的第一個子節點前的位置。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
            width="100%">//descendant::sepc[position()=1]/child::text()/point()[position()=3]</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>表示文件中第一個sepc元素的文本中第3個字符后的位置。</P>
      <P><STRONG>區域</STRONG></P>
      <P>區域是由起始點(start point)和結束點(end 
      point)定義的一個連續塊,它可以包括起始點和結束點之間的任何XML結構,比如節點、字符串或節點片斷等。起始點和結束點相同的區域是空區域。區域從一個點開始,到另一個點結束。每個點是由位置路徑指定,如果起始點的位置路徑返回位置集合,則起始點為位置集合的第一個點。如果結束點的位置路徑返回位置集合,則結束點為位置集合的最后一個點。</P>
      <P>區域的形式為xpointer(start-point/range-to(end-point)),其中start-point是一個位置路徑,表示區域的起始點,end-point是另一個位置路徑,表示區域的結束點,range-to()是一個函數,其參數是位置路徑,表示整個位置路徑的計算結果是一個區域。例如:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
            width="100%">xpointer(//descendant::sepc[position()=1]/child::text()/point()[position()=0]/range-to 
            (//descendant::sepc[position()=1]/child::text()/point()[position()=5]))</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>表示文件中第一個sepc元素的文本中的前5個字符組成的字符串。</P>
      <P>XPointer提供了start-point() 
      和end-point()函數,用于計算區域或位置集合的起始點和結束點。另外,還提供了兩個區域函數range()和range-inside(),它們都以位置集合作為參數,返回結果也是位置集合。range()函數將位置集合中的每一個位置轉換為一個覆蓋該位置的最小區域,然后構成一個新的位置集合。range-inside()函數將位置集合中的每一個位置轉換為一個覆蓋該位置內容的最小區域,然后構成一個新的位置集合。對于位置集合參數的每一個位置x,如果x是一個區域,則將x直接加入結果集合,否則x將被視為新區域起始點和結束點的包含節點,將起始點和結束點之間的區域加入結果集合。比如對一個元素節點,其起始點在元素的第一個子節點之前,結束點在所有的子節點之后,因此最后的計算結果是該元素的內容。</P>
      <P><STRONG>字符串匹配</STRONG></P>
      <P>嚴格來講,字符串匹配的返回結果是一個字符串區域,因此應該屬于區域的范疇。但是由于字符串匹配比較重要和常用,因此將其列出單獨介紹。</P>
      <P>字符串匹配是通過string-range()函數實現。其基本形式是:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
        width="100%">string-range(location-set,substring,index,length)</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>其中index和length是可選的。string-range()函數在指定的位置集合(由參數表中的location-set指定)中匹配指定的字符串(由參數表中的substring指定),index用于指定返回字符串區域的第一個字符的位置,該位置是相對于匹配位置的起始點,缺省值為1,表示返回字符串區域從匹配的第一個字符開始。length表示返回字符串的長度,缺省為查找字符串的長度。string-range()函數的返回結果是所有匹配字符串區域構成的集合。substring可以是空串,表示上下文節點的文本內容。例如:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
        width="100%">xpointer(string-range(/,"",1,8)[position()=1])</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>表示文件中的文本數據的前8個字符。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
            width="100%">xpointer(string-range(//sepc[position()=1],"date",2,2)</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>表示選擇在文件中第一個sepc元素內出現的所有"date"字符串中的"at"子串。</P>
      <P>最后提醒幾點:字符串匹配是大小寫敏感的;文件中的連續空白字符被視為一個空白字符處理;字符串匹配不考慮標記字符。<BR></P></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一区二区三区免费野_久草精品视频
日本怡春院一区二区| 视频一区二区三区在线| 精品日韩av一区二区| 777a∨成人精品桃花网| 欧美日韩一区成人| 欧美日韩dvd在线观看| 在线精品亚洲一区二区不卡| 91久久精品一区二区三| 在线亚洲免费视频| 欧美日韩视频不卡| 91精品婷婷国产综合久久性色| 欧美人狂配大交3d怪物一区| 欧美美女直播网站| 日韩一区二区高清| 久久精品网站免费观看| 久久久精品中文字幕麻豆发布| 国产色婷婷亚洲99精品小说| 国产精品毛片久久久久久| 综合久久国产九一剧情麻豆| 亚洲一二三四区| 麻豆国产精品777777在线| 精品一区二区三区免费毛片爱| 国产呦萝稀缺另类资源| jlzzjlzz亚洲女人18| 91福利资源站| 欧美一区二区福利在线| 久久九九久久九九| 亚洲美女视频在线| 毛片av中文字幕一区二区| 国产999精品久久| 精品视频一区三区九区| 26uuu色噜噜精品一区二区| 中文字幕一区二区三区在线不卡 | 亚洲你懂的在线视频| 亚欧色一区w666天堂| 国产乱码一区二区三区| 色综合久久久久综合体| 精品美女被调教视频大全网站| 日韩伦理av电影| 国产一区二区三区黄视频 | 日韩精品电影在线观看| 丁香婷婷综合色啪| 91精品国产色综合久久不卡电影 | 91麻豆蜜桃一区二区三区| 欧美一区二区性放荡片| 中文字幕五月欧美| 免费亚洲电影在线| 91福利视频久久久久| 国产日韩欧美一区二区三区乱码| 日韩一区精品字幕| 色婷婷久久一区二区三区麻豆| 久久在线观看免费| 日韩中文字幕亚洲一区二区va在线| av成人老司机| 国产视频一区不卡| 精品亚洲aⅴ乱码一区二区三区| 欧美在线综合视频| 成人欧美一区二区三区小说 | 欧美亚一区二区| 欧美国产综合色视频| 免费成人在线网站| 欧美军同video69gay| 亚洲最新视频在线观看| www.欧美.com| 国产欧美一区二区三区网站| 久久国产精品99精品国产| 欧美日韩1区2区| 亚洲电影在线免费观看| 色天天综合色天天久久| |精品福利一区二区三区| 福利一区在线观看| 久久久天堂av| 国产在线精品免费| 久久久99免费| 国产精品99久| 国产午夜精品一区二区| 国产精品一区二区x88av| 久久久久久久久久久久电影| 国产乱妇无码大片在线观看| 久久午夜免费电影| 国产成人综合视频| 国产精品三级在线观看| 99国产欧美另类久久久精品| 亚洲人午夜精品天堂一二香蕉| 成人激情图片网| 一区二区三区四区视频精品免费 | 欧美一区二区视频网站| 日韩综合小视频| 欧美r级在线观看| 国产高清久久久久| 国产精品国产三级国产aⅴ原创| www..com久久爱| 亚洲丶国产丶欧美一区二区三区| 欧美美女一区二区三区| 蜜桃精品视频在线| 久久久99久久精品欧美| 91丨九色丨蝌蚪丨老版| 亚洲国产日韩一区二区| 日韩一本二本av| 国产99久久久国产精品潘金| 一二三四社区欧美黄| 日韩一区二区电影网| 岛国一区二区三区| 肉色丝袜一区二区| 国产色综合久久| 欧美视频一区在线| 国产sm精品调教视频网站| 亚洲乱码国产乱码精品精98午夜| 欧美日韩mp4| 99久久er热在这里只有精品15| 一区二区三区欧美| 精品国产1区2区3区| 波多野结衣欧美| 久久电影网站中文字幕| 中文字幕不卡在线播放| 制服丝袜亚洲色图| 99视频国产精品| 极品美女销魂一区二区三区免费 | 67194成人在线观看| 国产成人亚洲综合a∨婷婷图片| 一区二区三区成人在线视频| 久久综合色播五月| 日韩一区国产二区欧美三区| 99久久婷婷国产综合精品电影| 日韩中文字幕不卡| 亚洲精品一卡二卡| 中文子幕无线码一区tr| 精品国产91亚洲一区二区三区婷婷 | 一区二区国产视频| 久久久www免费人成精品| 在线不卡一区二区| 日本黄色一区二区| www.欧美日韩| 国产成人精品aa毛片| 麻豆久久久久久| 婷婷开心久久网| 亚洲在线观看免费| 日韩一区在线免费观看| 国产精品亲子伦对白| 久久综合久久久久88| 欧美一区二区精品久久911| 欧美日韩综合不卡| 欧亚洲嫩模精品一区三区| 91在线视频播放| 成人一区二区三区中文字幕| 国产精品中文字幕欧美| 精品一区二区三区免费| 日本午夜精品一区二区三区电影| 亚洲成人免费看| 亚洲风情在线资源站| 亚洲大尺度视频在线观看| 亚洲尤物在线视频观看| 一区二区三区四区高清精品免费观看| 国产精品女主播在线观看| 中文字幕精品三区| 亚洲同性gay激情无套| 亚洲视频免费看| 一个色在线综合| 日本不卡高清视频| 日韩高清在线不卡| 另类小说综合欧美亚洲| 国产一区视频导航| 成人小视频免费在线观看| 不卡的电影网站| 91福利小视频| 日韩欧美成人一区二区| 精品久久久久香蕉网| 欧美极品aⅴ影院| 国产精品美女久久福利网站| 亚洲精品日日夜夜| 天堂一区二区在线| 国产最新精品免费| 99久久精品免费精品国产| 在线免费不卡视频| 日韩午夜在线观看视频| 国产日韩精品久久久| 亚洲欧美视频在线观看视频| 夜夜嗨av一区二区三区网页| 亚洲国产视频一区| 久久精品av麻豆的观看方式| 国产成人亚洲精品青草天美| 色av成人天堂桃色av| 欧美另类videos死尸| 欧美成人午夜电影| 亚洲人成7777| 精彩视频一区二区三区 | 夜夜亚洲天天久久| 精品在线观看免费| 91美女在线视频| 日韩欧美国产三级电影视频| 亚洲三级电影全部在线观看高清| 婷婷综合五月天| 99久久99久久免费精品蜜臀| 日韩欧美国产一区二区三区| 亚洲欧美日韩国产手机在线| 久久精品国产精品亚洲综合| 91在线免费视频观看| 久久综合九色综合久久久精品综合| 一区二区三区在线观看动漫| 高清不卡在线观看av|