亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产精品夫妻自拍| 中文字幕在线观看一区| 亚洲欧美一区二区视频| 午夜精品久久久久久不卡8050| 久久不见久久见中文字幕免费| 99精品国产热久久91蜜凸| 2023国产精品视频| 天天色综合成人网| 日本精品一级二级| 国产午夜一区二区三区| 日韩国产成人精品| 欧美最猛性xxxxx直播| 国产精品免费网站在线观看| 日韩av一区二区在线影视| 一本一本久久a久久精品综合麻豆| 精品国产麻豆免费人成网站| 日韩精品一二三四| 欧美精品乱码久久久久久| 亚洲欧美aⅴ...| 91丨九色丨尤物| 成人欧美一区二区三区1314 | 国产精品一线二线三线精华| 欧美精品在线视频| 亚洲国产综合色| 欧美在线不卡一区| 国产欧美日韩精品在线| 久久爱另类一区二区小说| 欧美性猛片xxxx免费看久爱| 国产精品久久久久影院色老大| 美脚の诱脚舐め脚责91| 91精品国产一区二区三区| 天天综合天天做天天综合| 51久久夜色精品国产麻豆| 三级影片在线观看欧美日韩一区二区| 日本高清无吗v一区| 亚洲人成网站精品片在线观看| av网站一区二区三区| 亚洲人成亚洲人成在线观看图片| 99国产精品一区| 亚洲影视在线观看| 欧美精品日韩综合在线| 亚洲aaa精品| 欧美久久免费观看| 青青草视频一区| 欧美一区二区三区色| 日韩有码一区二区三区| 欧美三区免费完整视频在线观看| 亚洲欧美日韩国产中文在线| 91麻豆123| 午夜成人免费电影| 国产精品久久久爽爽爽麻豆色哟哟 | 调教+趴+乳夹+国产+精品| 欧美日韩国产bt| 久久激五月天综合精品| 久久久久成人黄色影片| 99国产精品视频免费观看| 亚洲国产一区二区视频| 精品国产第一区二区三区观看体验| 国产精品白丝av| 一区二区在线免费| 精品免费一区二区三区| 国产精品资源网| 一区二区三区欧美久久| 日韩美女一区二区三区四区| 成人aa视频在线观看| 午夜视频一区二区| 国产亚洲欧美日韩在线一区| 在线视频综合导航| 久久国产精品99久久久久久老狼 | 不卡高清视频专区| 秋霞成人午夜伦在线观看| 中文字幕在线免费不卡| 91精品国产手机| gogogo免费视频观看亚洲一| 视频一区中文字幕| 国产精品五月天| 欧美精品欧美精品系列| 99久久婷婷国产综合精品| 免费高清成人在线| 亚洲一区二区五区| 国产精品私人自拍| 日韩欧美国产综合一区 | 国产91色综合久久免费分享| 亚洲午夜影视影院在线观看| 国产欧美精品区一区二区三区| 精品视频在线视频| 成人精品国产一区二区4080| 日韩不卡一二三区| 亚洲一区二区三区四区中文字幕| 欧美激情一区二区三区| 欧美大片在线观看一区| 色94色欧美sute亚洲线路一久| 国产成人精品免费一区二区| 日韩成人免费电影| 午夜成人在线视频| 亚洲一区视频在线| 一区二区三区在线视频免费 | 日韩精品一区二| 欧美日韩小视频| 91黄色激情网站| 99久久精品国产一区二区三区 | 久久精品噜噜噜成人88aⅴ| 午夜久久电影网| 亚洲在线视频一区| 亚洲乱码国产乱码精品精小说 | 天天av天天翘天天综合网色鬼国产 | 在线亚洲一区二区| 91婷婷韩国欧美一区二区| 成人免费看黄yyy456| 老司机午夜精品| 日本强好片久久久久久aaa| 亚洲男人天堂一区| 中文字幕一区av| 国产精品看片你懂得| 中文在线免费一区三区高中清不卡| 国产三级精品视频| 国产农村妇女毛片精品久久麻豆 | 亚洲欧美日韩综合aⅴ视频| 国产欧美一区二区三区在线看蜜臀| 美腿丝袜亚洲综合| 日本三级亚洲精品| 日本aⅴ亚洲精品中文乱码| 亚洲小说春色综合另类电影| 亚洲精品欧美在线| 亚洲日本一区二区| 亚洲天堂久久久久久久| 国产精品久久久久7777按摩| 中文字幕日本乱码精品影院| 亚洲品质自拍视频| 午夜电影一区二区三区| 麻豆精品蜜桃视频网站| 国产成人综合自拍| 91免费国产在线观看| 欧美美女网站色| 欧美tickling网站挠脚心| 久久人人超碰精品| 亚洲日本乱码在线观看| 午夜精品视频在线观看| 国产在线精品不卡| 91免费视频网址| 91麻豆精品91久久久久久清纯| 精品国产一区二区在线观看| 国产亚洲视频系列| 亚洲一区二区三区不卡国产欧美| 麻豆视频观看网址久久| 粉嫩高潮美女一区二区三区| 色综合激情五月| 日韩亚洲欧美高清| ...xxx性欧美| 久久精品国产亚洲5555| 91免费视频网址| 日韩美女视频一区二区在线观看| 国产精品网友自拍| 天堂午夜影视日韩欧美一区二区| 国产成人在线观看| 欧美三级乱人伦电影| 国产午夜精品久久久久久久 | 欧美日韩免费电影| 久久久久久久久久久99999| 一区二区国产视频| 国产精品一区在线观看乱码| 精品视频在线视频| 中文字幕一区二区三区av| 蜜桃传媒麻豆第一区在线观看| 99re在线视频这里只有精品| 日韩精品一区二区三区在线观看 | 欧美一区二区在线免费播放| 国产精品美女久久久久久| 欧美a级一区二区| 色av成人天堂桃色av| 国产精品女上位| 国产精品亚洲成人| 91精品国产色综合久久不卡蜜臀| 国产精品久久久久永久免费观看| 麻豆91精品91久久久的内涵| 欧美性大战久久久久久久| 1区2区3区欧美| 国产一区二区精品久久99| 91麻豆精品国产91久久久久| 亚洲最大成人综合| 成人免费毛片app| 久久久91精品国产一区二区三区| 午夜精彩视频在线观看不卡| 在线免费视频一区二区| 成人欧美一区二区三区1314| 成人性生交大片免费| 国产日韩欧美一区二区三区乱码 | 美女精品自拍一二三四| 在线观看不卡一区| 亚洲精选在线视频| 99久久99久久精品免费看蜜桃| 国产午夜亚洲精品午夜鲁丝片| 精品在线免费观看| 日韩视频免费观看高清完整版在线观看 | 喷白浆一区二区| 日韩视频免费观看高清完整版| 亚洲成av人片| 91精品在线麻豆| 久久精品理论片| 国产日韩精品一区|