XLink

1.XLink的概述
2.XLink链接方式
3.XLink声明命名空间

4.XLink Simple(简单链接)

5.XLink Extended (扩展链接)

6.属性xlink:type /xlink:show /xlink:actuate介绍

7.resource /locator /arc 介绍



1.XLink概述

在2001年6月27日,XLink 被确立为 W3C 推荐标准。
浏览器只在最小限度内支持 XLink 和 XPointer。
   在 Mozilla 0.98+、Netscape 6.02+ 以及 Internet Explorer 6.0 中,均具有对 XLink 某种程度的支持。
XLink定义了一个文档如何链接到另一个文档。
可以在各种平台、应用程序的领域上使用链接; 
XML对HTML链接功能加以扩展,支持更为复杂的链接.


2.XLink链接方式 

1)XLink “简单链接”(Simple Link);

Simple Link的设计目的,就是设计出接近基本HTML的链接功能.其特点就是只有一个链接地址(locator)。 


2)XLink “扩展链接”(Extended Link);

扩展链接是一个联合任意个数目的资源的链接,资源可能是远程和本地的任何组合。


3.XLink声明命名空间:

在XML文档中使用XLink,必须明确XLink的命名空间:
xmlns:xlink="http://www.w3.org/1999/xlink" 



4.XLink Simple(简单链接)


用DTD来设置一个Simple Link:
<!ELEMENT mylink (#PCDATA)>
<!ATTLIST mylink
  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink" 
    xlink:type CDATA #FIXED "simple"
    xlink:href CDATA #REQUIRED
    xlink:show (embed | replace | new) "embed">


XLink实现图像链接

<mylink xmlns:xlink = "http://www.w3.org/1999/xlink"
        xlink:type = "simple" 
        xlink:href = "sunset.jpg"
        xlink:show = “new">
<test>应用xlink实现图像嵌入链接的示例</test>
</mylink>



5.XLink Extended (扩展链接)


声明该标签为扩展链接,其子元素包括Locator-类型元素,arc-类型元素 ,title-类型元素 ,resource-类型元素   


<?xml version="1.0" encoding="utf-8"?>
<书籍 xmlns:xlink= "http://www.w3.org/1999/xlink"
      xlink:type= "extended">
	<简介 
		xlink:type= "resource"
		xlink:href="intro.xml"
 		xlink:role="http://127.0.0.1/xml" 
  		xlink:title= "书籍简介"/>
	<作者 
		xlink:type= "locator"
		xlink:href="http://www.itzcn.net/xml/author/ff.xml"
		xlink:role="http://www.itzcn.net/xml/"
		xlink:title= "作者信息"/>
	<出版社 
		xlink:type= "locator"
		xlink:href="http://www.publish-book.net/publish/qh.xml"
		xlink:role="http://www.publish-book.net/publish/"
		xlink:title= "出版社信息"/>
</书籍>


6.属性xlink:type /xlink:show /xlink:actuate介绍

1)xlink:type:用于指定链接元素的类型,其取值可以是:
  
  simple:表示元素是简单型的链接
  
  extended:表示是扩展链接
  
  locator:表示是远程资源
  
  resource:表示是本地资源
  
  arc:表示是链接资源的弧
  
  title:表示是自然语言的链接描述
  
2)xlink:show用于定义目标内容如何显示给用户,其取值可以是:
  
  new:目标内容以一个单独的上下文显示(在浏览器中,可能是一个新的浏览器窗口)。
  
   replace:目标内容应当取代原始上下文中的内容(在浏览其中这是通常的链接行为)。
  
  embed:这个内容嵌入到文档中的链接位置(代替链接表示本身)。
  
  other:这个链接没有指定被访问的行为。如果是这个值时,那么这个文档就会包含有关这个链接的其他提示,例如其他描述这个链接目的的标记(文档的专用类型)。
  
   none:这个链接没有指定被访问的行为。这是,这个文档不会包含有关如何访问这个链接的其他提示。
  
3)xlink:actuate属性定义什么时候触发这个链接,其取值如下:
  
  onRequest:用户必须采取动作触发这个链接,这是类似于HTML中超链接的方式,用户必须点击链接文本来激活这个链接。
  
  onLoad:这个链接在载入文档时自动激活。在xlink:show属性为embed时非常有用,而且在它为new时也有一些应用(例如:打开源文档时,会自动打开一个另外的上下文窗口,包含了链接的终点资源)。
  
  other:这个链接没有指定激活链接时的行为。如果actuate属性为这个值时,那么文档就会包含如何激活这个链接的其他提示。
  
  none:这个链接没有指定激活这个链接时的行为。这是,这个文档不回包含如何激活这个链接的其他提示。
  

7.resource /locator /arc 介绍
1)resource元素用于定义本地资源,这个元素包含xlink:type, xlink:role, xlink:title, xlink:label四个属性,其中xlink:type的值是resource。
  
2)locator元素用于定义远程资源,这个元素包含xlink:type, xlink:href, xlink:role, xlink:title, xlink:label五个属性,其中xlink:type的值是locator, 并且href定义了一个用于找到远程资源的URI,注意如果处理器能够理解XPointer引用,那么这个URI就可以包含一个对于XML文档子集的XPointer引用。
  
3)arc元素定义了资源间的链接关系,其属性包括xlink:type, xlink:arcrole, xlink:title, xlink:show, xlink:actuate; xlink:from, xlink:to。其中xlink:type的值是arc,而xlink:from和xlink:to两个属性的值是和resource和locator元素中的xlink:label的值匹配的。
  
4)如果在一个xlink的链接中没有包含任何arc元素,那么xlink就会假设每个locator和resource元素之间都将有一个隐式的arc元素,所以只有显式的定义arc才有意义。
  
5)如果有多个arc元素都定义了相同的起点资源和终点资源,那么只有第一个会被解析,并且这在某些解析其中是不允许的,所以最好不要定义重复的arc元素。
  
6)一个链接应用为了从起点资源找到终点资源,它需要定位起点资源的位子和链接的位置,这对于outbound的arc来说不是个问题,因为起点资源不是链接元素本身就是其子元素,但对于inbound和third-party类型的arc来说,就是一个问题了,为了解决这个问题,xlink提供了一种链接库的机制,就是将所有的链接定义在一起(一般一个链接文档中,这样便于管理链接,而且这个文档必须是XML的),并且提供一种arc,该arc的终点资源就是xlink的链接库,并且show属性必须忽略,但是这个arc的arcrole必须是:http://www.chinaitlab.com/properties/linkbase


8.扩展链接 例子

DTD文件主要内容:
<!ELEMENT EXTLINK (RESOURCE|LOCATOR|CONNECTION)*>
<!ATTLIST EXTLINK
Xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type (extended) #FIXED "extended"
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED>
<!ELEMENT RESOURCE ANY>
<!ATTLIST RESOURCE xlink:type (resource) #FIXED "resource"
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:label NMTOKEN #IMPLIED>
<!ELEMENT LOCATOR ANY>
<!ATTLIST LOCATOR xlink:type (locator) #FIXED "locator"
Xlink:href CDATA #REQUIRED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:label NMTOKEN #IMPLIED>
<!ELEMENT CONNECTION ANY>
<!ATTLIST CONNECTION xlink:type (arc) #FIXED "arc"
xlink:from CDATA #REQUIRED
xlink:to CDATA #REQUIRED
xlink:arcrole CDATA #IMPLIED
xlink:title CDATA #IMPLIED
Xlink:show (embed|replace|new) "replace"
Xlink:actuate (onLoad|onRequest|other|none) "onRequest">




<booklink xlink:type=”extended” xlink:title=”some book reviews”>
<review xlink:type=”locator”
xlink:title=”War and Peace”
xlink:role=”http://www.mysite.com/tolstoy”
xlink:href=”http://www.mysite.com/war_and_peace.htm”
xlink:label=”A”/>
<review xlink:type=”locator”
xlink:title=”Sann’s Way”
xlink:role=”http://www.mysite.com/proust”
xlink:href=”http://www.mysite.com/swanns_way.htm”
xlink:label=”B”/>
…
<arc xlink:type=”arc” xlink:from=”A” xlink:to=”B”
Xlink:acturate=”onRequest” xlink:title=”Next review”/>
…
</booklink> 


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值