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

📄 0702-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=0702-0100 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 7.2.1 简单XML Link</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=47 rowSpan=2></TD>
    <TD vAlign=center width="494">
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=45 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD width="494" ><!-- 正文内容 -->
      <DIV class=pt10><B>7.2.1 简单XML Link</B></DIV>
     &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>&nbsp;&nbsp;&nbsp;&nbsp; 简单XML链接与HTML链接非常相似,它在两个资源之间建立关联。这两个资源分别是文件中的链接元素和XLink全局属性href所指向的资源,其中链接元素为本地资源或起始资源,href所指向的资源为远程资源或目标资源。可以用简单XML链接实现HTML链接,下面示例中使用XLink实现HTML中的链接标记&lt;A&gt;。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;!ELEMENT A(#PCDATA)&gt;<BR>&lt;!ATTLIST A 
            <BR>&nbsp; xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink" 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;xlink:type (simple) #FIXED 
            "simple"<BR>&nbsp;&nbsp;&nbsp;&nbsp;xlink:href CDATA 
            #REQUIRED<BR>&nbsp;&nbsp;&nbsp;&nbsp;xlink:role CDATA 
            #IMPLIED<BR>&nbsp;&nbsp;&nbsp;&nbsp;xlink:title CDATA 
            #IMPLIED<BR>&nbsp;&nbsp;&nbsp;&nbsp;xlink:show (embed | replace | 
            new) "replace"<BR>&nbsp;&nbsp;&nbsp;&nbsp;xlink:actuate (onLoad | 
            onRequest) "onRequest"<BR>&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>可以利用上面的DTD声明,我们可以定义元素A的实例:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;A xlink:href = 
            "http://www.xlinksample.com/simplelink.xml"&gt;<BR>This is a simple 
            xlink!<BR>&lt;/A&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>对照HTML中的链接的例子:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;A href = 
            "http://www.xlinksample.com/simplelink.xml"&gt;<BR>This is a simple 
            xlink!<BR>&lt;/A&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>可以发现,两种写法已经非常接近,除了XML中具有xlink前缀表示XLink命名空间,其他都完全一样(这里我们假设命名空间已经在文件首部声明)。同样,它们在浏览器上的表现也应该是一样的。在上例中所链接的资源是元素A和"http://www.xlinksample.com/simplelink.xml"所指向的资源,下面是它的示意图。</P>
      <P align=center><IMG height=283 
      src="image/TU000000-0702-0100-01.gif" width=283></P>
      <P>同样,我们可以使用XLink实现HTML中的&lt;IMG&gt;标记:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;!ELEMENT IMG EMPTY&gt;<BR>&lt;!ATTLIST IMG 
            <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:show 
            CDATA #FIXED "onLoad"<BR>&nbsp; xlink:actuate CDATA #FIXED 
            "embed"<BR>&nbsp; ALT CDATA #IMPLIED<BR>&nbsp; ALIGN CDATA 
            #IMPLIED<BR>&nbsp; HEIGHT CDATA #IMPLIED<BR>&nbsp; WIDTH CDATA 
            #IMPLIED<BR>&nbsp;&nbsp;BORDER CDATA 
      #IMPLIED<BR>&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>当然,HTML中&lt;IMG&gt;标记的属性比上面列出的多一些,但是如果忽略那些不常使用的属性,使用上面的DTD声明定义实例,就可以在XML文件中嵌入图象资源。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;IMG xlink:ref = "imgEmbed.gif" 
        /&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>下面,我们就来分别介绍一下简单链接中所使用到的属性。 
      <OL>
        <LI><STRONG>类型属性</STRONG> </LI></OL>
      <P>类型(xlink:type)属性决定了链接或资源的类型,XLink处理程序根据xlink:type的值决定如何处理链接元素,但是处理程序的动作并不仅仅取决于这一个属性,它还将取决于下面将要提到的行为属性。对XLink而言,xlink:type属性可以在元素的开始标记中定义,也可以在DTD中定义缺省值,但必须使XML分析器分析到链接元素时能够得到属性xlink:type的值。xlink:type属性的取值可以是simple、extended、locator、arc、resource、title和none其中之一。</P>
      <P>对简单XML链接,type属性固定取值为"simple",前面定义的A标记和IMG标记都是简单XML链接的例子。</P>
      <P>如果一个元素的xlink:type属性取值为none,那么该元素就不是一个链接元素,不具有链接意义。如果该元素还具有一些与链接相关的其他属性或子元素,这些属性和内容也将失去其链接意义。例如下例中的NOLINK元素中包括的子元素LINK,虽然指定了xlink:type为simple,但仍然不具有链接意义。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;NOLINK xmlns:xlink = 
            "http://www.w3.org/1999/xlink"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:type="none"&gt;<BR>&nbsp; &lt;LINK xlink:type = "simple" 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:href = 
            "http://www.xlinksample.com/students.xml"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:role = "studentlist" 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:title = 
            "Student List"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            xlink:show = "replace" 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:actuate = 
            "onRequest"&gt;<BR>&nbsp; List of Students<BR>&nbsp; 
            &lt;/LINK&gt;<BR>&lt;/NOLINK&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>一般情况下,可以将简单XML链接元素的DTD定义如下:</P>
      <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;&nbsp;xlink:type (simple) 
            #FIXED "simple"<BR>&nbsp; xlink:href CDATA #REQUIRED<BR>&nbsp; 
            ……<BR>&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>但在某些情况下,元素LINK仅仅在文件某些地方作为链接元素出现,而在其他地方作为普通元素出现。此时,可以将DTD定义为:</P>
      <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;&nbsp;xlink:type (none | 
            simple) #REQUIRED<BR>&nbsp; xlink:href CDATA #REQUIRED<BR>&nbsp; 
            ……<BR>&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>在利用该DTD创建XML文件时,只要在需要链接元素的地方,将xlink:type属性取值为"simple",在其他地方则取值为"none"。如果需要将链接元素改为非链接元素,只要简单地将xlink:type属性的值由"simple"改为"none"即可,反之亦然。 

      <OL start=2>
        <LI><STRONG>寻址属性</STRONG> </LI></OL>
      <P>XML链接元素的寻址属性是指xlink命名空间的href属性,它指定了链接的目标资源。该属性的取值是一个URI,它可以是一个文件或文件中的某一特定位置。XML链接的xlink:href属性与HTML链接的href属性基本相同,如:</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"&gt;<BR>&lt;/LINK&gt;<BR>&lt;LINK 
            xmlns:xlink = 
            "http://www.w3.org/1999/xlink"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xlink:type 
            = "simple"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:href = 
            "students.xml"&gt;<BR>&lt;/LINK&gt;<BR>&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#zhang"&gt;<BR>&lt;/LINK&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>在上面的三个例子中,第一个例子指定了目标资源的绝对位置,第二个例子指定了目标资源的相对位置,第三个例子指定了被链接文件中的某个具有ID属性,且取值为"zhang"的元素。对于第二种情况,XLink处理程序必须能够接收xml:base属性,指定资源相对于哪个位置,然后将xml:base与xlink:href合并得到资源的具体位置。而对于第三种情况中的文件内部定位,则由Xpointer语言定义。关于XPointer和XML 
      Base的详细介绍,请参照本章中的XPointer和XML Base小节。</P>
      <P>另外,简单XML链接的xlink:href属性可以不出现。此时这种链接薹ㄏ笃胀ǖ牧唇右谎

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -