蓝派网(www.lan27.com)-精选网络资源,分享和交流! 文章首页站内搜索在线手册广告代码酷站欣赏万年历
您现在的位置: 蓝派网 >> 文章中心 >> 网络编程 >> XML >> 正文

XML链接语言

作者:佚名    文章来源:网络转载    更新时间:2005-11-26 11:49:30

  当前的主流浏览器Netscape Navigator和Internet Explorer 对XLink的支持非常弱,在Netscape Navigator 6.0的预览发行版中可以发现对简单XML链接的支持,但是其支持的部分并不完全符合最新的规范;Internet Explorer 5.5没有提出对XLink的支持。如果要在浏览器中显示链接,可以利用XSLT 将XML链接转化为 HTML链接加以显示。

  XML链接与HTML链接   在HTML中,常用标记表示链接。通过标记,可以从一个文件链接到另一个文件,或者链接到文件 的某一部分。另外,标记<IMG>和<OBJECT>允许图形等对象直接嵌入文件。XML链接完全不同,它没有 专门的链接元素,需要通过指定元素属性来表示链接,只要元素包含xlink:type属性,且取值为 "simple"或"extended",该元素就是链接元素,其中xlink是代表XLink命名空间的前缀,当前版本 的URI是"http://www.w3.org/1999/xlink",根据xlink:type属性的取值,可以将XML链接划分为简 单XML链接和扩展XML链接。简单XML链接的xlink:type固定取值为"simple",扩展XML链接的xlink: type固定取值为"extended"。   简单XML链接

  简单XML链接与HTML链接非常相似,它在链接元素和目标资源间建立链接。下面是一个简单XML链接的元素定义,其中包含xlink前缀的属性都是链接属性,在链接属性外,链接元素还可以有任意属性和任意内容。   <!ELEMENT SimpleLink (#PCDATA)>   <!ATTLIST SimpleLink   xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"   xlink:type (simple) #FIXED "simple"   xlink:href CDATA #REQUIRED   xlink:role CDATA #IMPLIED   xlink:title CDATA #IMPLIED   xlink:show (embed | replace | new) "replace"   xlink:actuate (onLoad | onRequest) "onRequest"   >   xlink:href属性是目标资源的URL,可以是绝对URL、相对URL或文件片段,相对URL必须接收XML Base中指定的绝对路径,XLink处理程序将XML Bae和相对URL合并起来形成目标资源的URL,而文件片段则由XPointer指定。xlink:role和xlink:title是用于描述目标资源的属性,统称为语义属性。xlink:role用于机器阅读,如搜索引擎的爬虫等,而xlink:title用于人工阅读;xlink:show和xlink:actuate用于描述链接激活时的行为,统称为行为属性。xlink:show表示链接激活时的目标资源的显示环境,取值"embed"表示在当前窗口嵌入显示,"replace"表示在当前窗口显示目标资源,替换原来的显示内容,"new"表示新开窗口显示目标资源,xlink:actuate是指链接的激活时机,"onLoad"是指文件加载时直接激活链接资源,"onRequest"是指在文件加载后,用户发出链接激活的命令才激活,如用户点击了链接等。

  利用上面的元素声明,定义元素SimpleLink的实例如下。  <SimpleLink >   xmlns:xlink = "http://www.w3.org/1999/xlink"   xlink:href = "http://www.xlinksample.com/simplelink.xml"> This is a simple xlink!   </SimpleLink>   扩展XML链接

  扩展XML链接可以在多个资源(尤其是只读资源)之间建立多向的链接。扩展XML链接元素的构造,很大程度取决于用户,但通常包括一个资源集合和一个连接集合,连接集合元素表示资源集合元素间的连接。资源集合中可以包括本地资源和远程资源,如果资源是XML链接元素的组成部分,该资源是本地资源;否则就是远程资源,如其他的XML文件或本文件的其它元素。

  下例是一个扩展XML链接的DTD声明,其中ExtendedLink元素是扩展XML链接元素,它包含零到多个Local元素、Remote元素和Arc元素。其中Local元素表示本地资源;Remote元素表示远程资源;Arc元素表示这些资源间的连接,称为链接弧。需要指出的是,这些元素的名称并不重要,真正对链接起作用的并不是元素名称,而是这些元素所具有的XLink属性。  <!ELEMENT ExtendedLink (Local | Remote | Arc)*>   <!ATTLIST ExtendedLink   xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"   xlink:type (extended) #FIXED "extended"   xlink:role CDATA #IMPLIED   xlink:title CDATA #IMPLIED>   <!ELEMENT Local ANY>   <!ATTLIST Local   xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"   xlink:type (resource) #FIXED "resource"   xlink:role CDATA #IMPLIED   xlink:title CDATA #IMPLIED   xlink:label NMTOKEN #IMPLIED>   <!ELEMENT Remote ANY>   <!ATTLIST Remote   xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"   xlink:type (locator) #FIXED "locator"   xlink:href CDATA #REQUIRED   xlink:role CDATA #IMPLIED   xlink:title CDATA #IMPLIED   xlink:label NMTOKEN #IMPLIED>   <!ELEMENT Arc (#PCDATA)>   <!ATTLIST Arc   xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"   xlink:type (arc) #FIXED "arc"   xlink:from NMTOKEN #IMPLIED   xlink:to NMTOKEN #IMPLIED   xlink:arcrole CDATA #IMPLIED   xlink:title CDATA #IMPLIED   xlink:show (embed | replace | new ) "replace"   xlink:actuate (onLoad | onRequest) "onRequest">   从上面我们可以看出,无论是链接元素自身、资源元素还是链接弧元素,都包含了XLink命名空间的属性,另外它们也可以包含其他内容和属性。对于本地资源元素,xlink:type属性固定取值为"resource",远程资源元素的xlink:type属性固定取值为"locator",链接弧的xlink:type属性固定取值为"arc"。其中xlink:role(xlink:arcrole)和xlink:title属性的含义与简单XML链接中相类似,只不过描述的是自己所在的资源元素或链接弧。Remote元素中的xlink:href属性是指远程资源的URL。Local和Remote中的xlink:label是指资源的标识,在Arc元素中的xlink:from和xlink:to属性的取值必须是某个xlink:label的取值,表示从xlink:from标识的资源到xlink:to标识的资源的链接。由于xlink:label并不是唯一标识,所以一个Arc元素可能表示了多个资源间的链接。xlink:from和xlink:to属性都可以省略,表示链接包含的所有资源都参与链接,xlink:from、xlink:to和xlink:label称为遍历属性。

  利用上面的元素声明,定义元素ExtendedLink的实例如下。   <ExtendedLink xmlns:xlink = "http://www.w3.org/1999/xlink">     <Local      xlink:role="department" xlink:title = "系别" xlink:label="department">      计算机系    /Local>     Remote      xlink:href = "http://www.xlinksample.com/teacher.xml"      xlink:role = "teacher" xlink:title = "老师:张三" xlink:label = "teacher">      张三    </Remote>     <Remote      xlink:href = "http://www.xlinksample.com/DataStructure.xml"      xlink:role = "course" xlink:title = "数据结构" xlink:label = "course">      数据结构    </Remote>     <Remote      xlink:href = "http://www.xlinksample.com/OperatingSystem.xml"      xlink:role = "course" xlink:title = "操作系统" xlink:label = "course">       操作系统    </Remote>           教师所属系               教师开课安排       </ExtendedLink>   XML Base

  XML Base是用于指定相对URL的绝对路径,与HTML中的BASE标记功能相似,不同的是,XML Base的指定是通过元素的xml:base属性指定的,前缀xml是用于表示命名空间"http://www.w3.org/XML/1998/namespace"。XML Base的作用范围是包括其所有后代元素的整个元素,除非在后代元素指定了新的XML Base。

[1] [2] 下一页

  • 上一篇文章: 没有了
  • 下一篇文章:
  • 百度搜索: XML链接语言
  •  
    【相关文章:】
    没有相关文章

    发表评论】【打印此文】【关闭窗口】【点击数:
    ★好玩的休闲小游戏★