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

📄 0701-0000.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=0701-0000 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 7.1 XML链接与HTML链接</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=42 rowSpan=2></TD>
    <TD vAlign=center width="493" >
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=51 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD width="493" ><!-- 正文内容 -->
      <DIV class=pt10><B>7.1 XML链接与HTML链接</B></DIV>
     &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>进行完对于XML的一系列基本介绍之后,让我们来探索一些XML更深层次的技术。完成了后面三章的学习,相信您将跃升为一个XML开发高手。这一章我们首先从XML链接说起。</P>
      <P>说起HTML,大家可能都会对它所提供的超链接功能拍手称快。的确,超链接可以说是鼓起了我们网上冲浪的风帆,它打破了传统的直线形和树形的信息组织结构,根据发散思维的特点,帮助我们利用网状的信息组织,方便地浏览我们感兴趣的内容。</P>
      <P>了解HTML的读者都知道,在HTML中表示链接的标记是&lt;A&gt;,通过标记&lt;A&gt;,可以从一个文件链接到另一个文件,或者链接到文件的某一部分。另外,使用标记&lt;IMG&gt;等可以将图象直接嵌入网页。下面就是一个典型的HTML链接的例子:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;A href = 
            "http://www.xlinksample.com/students.xml"&gt; List of 
          Students&lt;/A&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>HTML链接尽管定义简单,使用方便,但它也存在着明显的局限性。首先,HTML链接是单向的,它只能从链接所在的文件指向另一个文件。也就是说,我们可以通过标记&lt;A&gt;的href属性知道该文件的若干链接目标,但无法知道又有哪些文件链接到该文件,不知道它有哪些链接源。其次,HTML链接只能指向一个文件,在需要指定多个链接的时候,不得不使用多个&lt;A&gt;标记,而由于HTML是非结构化的,这些链接的关系和结构信息无法表现。第三,HTML可以链接到文件内部的某一部分,这通过在目标文件中插入命名锚(named 
      anchor)来实现。但是,如果源文件和目标文件由不同的人员负责,甚至在不同的站点上,两个文件的协作就成为问题。</P>
      <P>XML链接在HTML链接的功能之上又加以扩展,可以支持更为复杂的链接。通过XML链接,不仅可以在XML文件之间建立链接,而且可以建立其他类型数据之间的链接。不仅如此,XML链接还为文件内部定位提供了全新的方式,允许链接的建立者利用文件结构指定文件内部的资源片断。利用简单XML链接,可以轻松地实现HTML中的链接功能;利用扩展XML链接,可以在多个资源之间建立链接,还可以建立多向的链接;利用XPointer在一个XML文件内部的定位功能,可以利用目标文件的结构指定所链接的资源,而无需对目标文件进行任何修改;利用链接库,可以将链接从文件中分离出来,就象用XSL文件把样式转换信息从XML文件中独立出来一样,从而简化链接的管理。</P>
      <P>XML链接规范分为三个部分:XLink语言、XPointer语言和XML 
      Base,我们将分三节分别进行讲述。关于Xlink的讨论基于XLink语言规范2000年7月3日候选标准;有关XPointer的讨论基于XPointer语言规范2000年6月7日候选标准;有关XBase的讨论基于XBase规范2000年6月7日工作草案。当前这几个规范都不是正式标准,因此并不稳定,某些内容会随着规范的发展而变化,建议大家在具体开发时参考一下W3C公布的最新版本,XLink、XPointer和XBase规范的最新版本分别可在http://www.w3.org/TR/xlink、http://www.w3.org/TR/xptr、http://www.w3.org/TR/xmlbase处取得。</P>
      <P>在详细介绍XML链接之前,我们先来看一个XML链接的例子:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;LINK xmlns:xlink = 
            "http://www.w3.org/1999/xlink"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:type = "simple"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:href = 
            "http://www.xlinksample.com/students.xml"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:role = "studentlist" <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:title = "Student List"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:show = "replace"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:actuate = "onRequest"&gt;<BR>List of 
          Students<BR>&lt;/LINK&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>与HTML的链接元素相比较,上面这个例子中的XML链接元素存在以下几点不同: 
      <OL>
        <LI>标记名不同。上例中用的是LINK,而不是HTML中的A。事实上,XML中没有专门用于链接的标记,任意标记名的元素都可以是XML的链接元素,因此例子中的标记名LINK,完全可以换成其他的名字,而不象在HTML中那样一定要用标记&lt;A&gt;。 

        <LI>使用了命名空间。上例中的第一个属性为命名空间声明,且其他属性名都有命名空间前缀。虽然可以使用自己喜欢的任何前缀代表XLink命名空间,但直接使用xlink前缀可以增加文件的可读性,因而我们更推荐这种做法。xlink前缀可以在文件的根元素中定义,也可以在使用xlink前缀的元素中定义。 

        <LI>增加了许多与链接相关的属性。例子中除了第一个属性是命名空间声明和第三个属性与HTML相似以外,其他的属性都是新增加的。由XLink给出的全局属性一共有十个,包括type、href、role、arcrole、title、show、actuate、label、from和to。其中属性type表明了XLink元素的类型,共有六种Xlink元素,即:simple、extended、locator、arc、resource和title,但只有simple、extended 
        两种XLink元素才是真正的XML链接元素,而其他只用于提供各种描述链接的特性信息。处理程序正是根据type的值决定如何处理该XLink元素。需要强调的是,如果XML文件具有文件类型定义DTD,XLink的全局属性必须在DTD中定义。不过,并不是所有的XLink全局属性都必须在DTD中加以声明,可以根据需要进行裁剪,只声明使用到的属性即可。而且,将一个元素声明为链接元素并没有增加对元素的属性和内容的限制,只要元素实例符合DTD声明,仍然可以包括任意属性和内容。上例的DTD声明如下,其中属性ALT和ALIGN都与链接本身无关: 
        </LI></OL>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;!ELEMENT LINK (#PCDATA)&gt;<BR>&lt;!ATTLIST 
            LINK<BR>&nbsp; xmlns:xlink CDATA #FIXED 
            "http://www.w3.org/1999/xlink"<BR>&nbsp; xlink:type (simple) #FIXED 
            "simple"<BR>&nbsp; xlink:href CDATA #REQUIRED<BR>&nbsp; xlink:role 
            CDATA #IMPLIED<BR>&nbsp; xlink:title CDATA #IMPLIED<BR>&nbsp; 
            xlink:show (embed | replace | new) "replace"<BR>&nbsp; xlink:actuate 
            (onLoad | onRequest) "onRequest"<BR>&nbsp; ALT CDATA 
            #IMPLIED<BR>&nbsp; ALIGN CDATA 
      #IMPLIED<BR>&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>当前的主流浏览器Netscape和Internet Explorer对XLink的支持非常弱,在Netscape 
      6.0的预览发行版中可以发现对简单XML链接的支持,但是其支持的部分并不完全符合最新的规范;IE5.5没有提出对XLink的支持。另外,虽然现在有许多关于XLink的研究计划,但能够完整支持XLink的工具和应用还没有出现。<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 + -