⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0703-0100.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-0100 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 7.3.1 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=31 rowSpan=2></TD>
    <TD vAlign=center width="535">
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=43 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD width="535" ><!-- 正文内容 -->
      <DIV class=pt10><B>7.3.1 XPointer概述</B></DIV>
     &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>通过前面的介绍可以看到,XLink中xlink:href属性的取值可以是一个文件,也可以引用文件内的某个特定位置。引用文件可使用URL,引用文件的特定部分则要使用XPointer,通常将它加到URL的结尾,更明确地表示目标资源。</P>
      <P>我们知道,HTML中也支持文件内部定位,而且定位方法非常简单,就是在目标文件中插入一个命名锚,然后用链接元素&lt;A&gt;的href属性指定链接的位置即可。下面的例子是在一个文件内部建立链接,类似地,链接也可以建立在不同文件内部。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">……<BR>&lt;A name = "_loc1"&gt;Location 
            1&lt;/A&gt;<BR>…… <BR>&lt;A href = "#_loc1"&gt;Jump to Location 
            1&lt;/A&gt;<BR>……</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>但是,这种机制也存在着一些问题。首先,因为需要在开始文件和目标文件中明确定位,因而必须同时控制这两个文件。如果这两个文件由不同的人控制,或者在不同的站点上,可能会出现其中一个文件发生了修改,但没有及时通知另一个文件的情况,这时很容易出现错误的链接或者链接失效。即使能够同时控制目标文件和开始文件,也不是没有可能只修改了其中一个,但忽略了另一个。因此,命名锚的机制增加了网页维护的负担和出错的机率,只有在目标文件和开始文件是同一个文件时才相对有效一些。另外,链接库提供了资源和链接分离的机制,使文件和链接更易于管理,插入命名锚显然违背了这一原则,目标文件中仅仅为链接而建立的命名锚并没有增加资源的内涵,反而降低了文件的可读性。</P>
      <P>由于XML是结构化的文件,这使得借助文件结构进行内部定位成为可能,此时无须对文件本身进行修改,这就是XPointer。XPointer用于在资源内定位片断(fragement),它支持在XML文件中定位元素、属性、字符串等内部结构,例如,我们可以定位到根元素或者当前元素的第5个子元素,也可以定位到文件中的某一个点或两个点之间的区域。</P>
      <P>XPointer基于XSL转换中的XPath语言,并在其基础上进行了扩展,包括: 
      <UL>
        <LI>可以定位节点、点和区域; 
        <LI>通过字符串匹配定位资源片段; 
        <LI>在URI引用中定位资源片断。 </LI></UL>
      <P>由于XPointer的功能是文件内部定位,因此它可以使用在需要定位的任何地方,例如在可视化的XML编辑器中定位元素、属性等。但人们经常利用XPointer描述XLink链接的目标资源,这也是把XPointer放在本章讨论的原因。</P>
      <P>考察下面的文件片断,它表示了从文件的LINK元素到文件"http://www.xlinksample.com/xpointer.xml"中根元素的链接,其中"xpointer(/child::*[position()=1])"就是用于定位的XPointer。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;LINK<BR>&nbsp; xmlns:xlink = 
            "http://www.w3.org/TR/1999/xlink"<BR>&nbsp; xlink:type = 
            "simple"<BR>&nbsp; xlink:href = 
            "http://www.xlinksample.com/xpointer.xml<BR>&nbsp; 
            #xpointer(/child::*[position()=1]"&gt;<BR>&lt;/LINK&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P> </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 + -