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

📄 0702-0204.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=0702-0204 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 7.2.2.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=44 rowSpan=2></TD>
    <TD vAlign=center width="514">
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=28 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD width="514" ><!-- 正文内容 -->
      <DIV class=pt10><B>7.2.2.4 链接弧</B></DIV>
     &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>链接弧(arc)用于表示扩展XML链接中资源之间的连接关系,它是扩展XML链接元素的子元素,xlink:type属性值为"arc",称之为链接弧元素。在用有向图描述扩展XML链接时,链接弧是连接资源的有向边,不过后面我们将要讲到,一个链接弧元素未必只表示一条有向边。在有向图中,随着结点个数的增加,其边的数目将指数级增加。因此在扩展XML链接中,随着资源的增加,连接的数量也会指数级增加。例如:如果一个扩展XML连接的资源由3个增加到4个,可能的连接数目将从9个上升到16个。</P>
      <P>如果一个链接弧的起始资源在本地,而目标资源是远程的,那么这个链接弧称为出站(outbound)链接弧;反之,如果起始资源是远程的,而目标资源在本地,则称为入站(inbound)链接弧;如果起始资源和目标资源都不在本地,则称为第三方(third-party)链接弧。虽然没有作明确规定,但一般而言,一个链接一般只包含一类链接弧,因此可称为出站链接、入站链接或第三方链接。对HTML链接和简单XML链接而言,由于链接总是从链接元素到href代表的远程资源,因此都属于出站链接。扩展XML链接可以包括三种链接中的任意一种。</P>
      <P>链接弧元素本身必须作为扩展XML链接元素的直接子元素,否则该元素将失去其链接意义。元素中可以包含任何内容,在一般情况下,这些内容不具有链接意义。链接弧元素中的属性可以有遍历属性(xlink:from和xlink:to)、行为属性(xlink:show和xlink:actuate)和语义属性(xlink:arcrole和xlink:title)。</P>
      <P>xlink:from和xlink:to属性用于描述资源之间的连接,资源元素的标识通过其xlink:label属性识别。xlink:from定义了链接弧的起始资源,在有向图中是边的起点,xlink:to定义了链接弧的目标资源,在有向图中是边的终点。遍历属性的取值必须是资源元素(包括本地资源元素和远程资源元素)的xlink:label属性已经定义的值。总之,链接弧表示从xlink:from所代表的资源元素到xlink:to代表的资源元素之间的连接。由于xlink:from、xlink:to和xlink:label属性用于链接的遍历,因此这三个属性常被称为遍历属性(traversal 
      attributes)。</P>
      <P>如果xlink:from和xlink:to的值对资源元素是唯一的,即只有一个资源元素的xlink:label属性具有xlink:from或xlink:to指定的值,那么这个链接弧只包括一个连接,在有向图中表现为一条边。如果xlink:from和xlink:to的值对资源元素不唯一,即有多个资源元素的xlink:label属性具有xlink:from或xlink:to属性值,那么这个链接弧则表示多个连接,在有向图中表现为多条边。例如,下面例子中,扩展XML链接元素EXTLINK包含一个本地资源RESOURCE元素、三个远程资源LOCATOR元素和两个CONNECTION元素,它表示课程、教师和学生的关系。RESOURCE和LOCATOR元素的xlink:label属性依次定义为"DataStructure"、"teacher"和"student",CONNECTION元素的xlink:from和xlink:to的值必须为上述三个值之一。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;EXTLINK&gt;<BR>&nbsp; &lt;RESOURCE xlink:role = 
            "course" xlink:title = "计算机系课程:数据结构" xlink:label = 
            "DataStructure"&gt;<BR>&nbsp; 数据结构<BR>&nbsp; 
            &lt;/RESOURCE&gt;<BR>&nbsp; &lt;LOCATOR xlink:href = "http:// 
            www.xlinksample.com/teacher.xml" xlink:role = "teacher" xlink:title 
            = "老师:张三" xlink:label = "teacher"&gt;&nbsp;&nbsp; <BR>&nbsp; 
            张三<BR>&nbsp; &lt;/LOCATOR&gt;<BR>&nbsp; &lt;LOCATOR xlink:href = 
            "http:// www.xlinksample.com/StudentLi.xml" xlink:role = "student" 
            xlink:title = "学生:李四" xlink:label = "student"&gt;<BR>&nbsp; 
            李四<BR>&nbsp; &lt;/LOCATOR&gt;<BR>&nbsp; &lt;LOCATOR xlink:href = 
            "http:// www.xlinksample.com/StudentWang.xml" xlink:role = "student" 
            xlink:title = "学生:王五" xlink:label = "student"&gt;&nbsp; <BR>&nbsp; 
            王五<BR>&nbsp; &lt;/LOCATOR&gt;<BR>&nbsp; &lt;CONNECTION xlink:from = 
            " teacher" xlink:to = " DataStructure" xlink:arcrole = "course" 
            xlink:title = "老师教授课程"&gt;<BR>&nbsp; 课程的授课老师安排<BR>&nbsp; 
            &lt;/CONNECTION&gt;<BR>&nbsp; &lt;CONNECTION xlink:from = " teacher" 
            xlink:to = "student" xlink:arcrole = "teach" xlink:title = 
            "老师教授学生"&gt;<BR>&nbsp; 学生的授课老师安排<BR>&nbsp; 
            &lt;/CONNECTION&gt;<BR>&lt;/EXTLINK&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>用有向图来表示上面的例子,可以看到第一个CONNECTION元素表示了一条有向边,而第二个CONNECTION元素表示了两条有向边,见下图。</P><FONT 
      face=宋体 size=3>
      <P align=center>
      <IMG 
      src="image/TU000000-0702-0204-01.gif" width="356" height="211"></FONT></P>
      <P>xlink:from和xlink:to属性可以省略,这时表示该扩展XML链接元素包含的所有资源元素均参与到链接中。如果省略了xlink:from属性,那么该链接弧表示从所有资源元素到xlink:to代表的资源元素的连接;类似地,如果省略了xlink:to属性,则表示从xlink:from代表的资源元素到该扩展XML链接元素的所有资源元素的连接。如果xlink:from和xlink:to两个属性同时省去,则表示所有链接元素构成的全连接,其中包括了从每个链接元素到自身的链接。</P>
      <P>链接弧元素的行为属性xlink:show和xlink:actuate的含义及取值与简单XML链接中的相应属性一样。语义属性xlink:arcrole和xlink:title则是用于描述相对于链接弧的起始资源而言,目标资源所具有的性质,我们可以将xlink:arcrole 
      理解为自然语言中的谓语,而链接弧起始资源是自然语言中的主语,目标资源是自然语言中的宾语,这样一个链接弧就可以对应于自然语言中的语句。对于同一个资源而言,它对不同的起始资源有不同的性质,因此一个资源在不同的链接弧中可以定义不同的语义属性。</P>
      <P>最后需要注意的是:链接弧不能重复定义。也就是说,在同一个扩展XML链接中,不能定义多个链接弧元素,它们的xlink:from的值和xlink:to的取值都相同。<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 + -