以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XQuery/XLink/XPointer/ 』  (http://bbs.xml.org.cn/list.asp?boardid=14)
----  XLink与HTML LINK的比较  (http://bbs.xml.org.cn/dispbbs.asp?boardid=14&rootid=&id=7136)


--  作者:teiki
--  发布时间:4/29/2004 10:23:00 PM

--  XLink与HTML LINK的比较
XML的XLink比HTML的超文本链接(我们暂且标记为HTML<a>)功能更加强大。

1、XLink增加了一种类似于HTML<img>功能的文本内容替换。
2、多重链接,HTML<a>只能有一个超文本链接,而Xlink可以有多个链接。
3、链接内容的外部文档化。
4、增加了自动链接功能。
5、实现双向链接。

当然两者在书写上也有很大不同,初学起来,似乎XLink要复杂不少。

比如,一般,HTML文档这样写:
<html>
  ……
     <a href="http://www.xbrl-cn.org/link1.xml">链接文档1</a>
  ……
</html>

可是到了XLink里,就要复杂多了,如下:
<?xml version="1.0"?>
<my:sample>
    ……
    <my:xbrldoc
        xlink:type="simple"
        xlink:href="http://www.xbrl-cn.org/link1.xml">
           链接文档1
       </my:xbrldoc>
    ……
</my:sample>

但其实,XLink正是通过其多个属性,来实现了HTML<a>中所没有实现的功能。


--  作者:teiki
--  发布时间:4/29/2004 10:43:00 PM

--  
XLINK有一个不同于HTML<a>的功能,就是XLink可以用一个外部的文档来定义两个不同文件中的链接。

比如,你想把a.xml文件和一个b.xml文件相链接,可是a.xml文件不是你所能修改的,那怎么实现a.xml文件和b.xml文件链接呢?可以用这么一段XLink:

01: <?xml version="1.0"?>
02: <my:link xlink:type="extended" role="sample" title="extended link sample">
03:   <my:loc type="locator"
         href= "http://www.com/a.xml"
         title= "A文档"
         label= "original"/>
04:   <my:loc type= "locator"
         href="http://www.com/b.xml"
         title="B文档"
         label="linkfile"/>
05:   <my:go type="arc"
         xlink:from="original"
         xlink:to="linkfile"/>
06: </my:link>

当然,只有这个文档还不能实现上面的目的,还必须使浏览器在打开这个文档时,同时打开a.xml文档。


--  作者:teiki
--  发布时间:4/29/2004 11:16:00 PM

--  
假如要实现不同对象对同一文档的不同浏览权限,比如,针对下面的这个XML数据,非授权用户只能浏览目录,而不能浏览全文。该怎么办呢?

doc.xml
----------
<?xml version="1.0" encoding="GB2312"?>
<doc xmlns="http://www.xbrl-cn.org/doc">
  <title>XBRL中文标准全文</title>           <--- 授权用户
  <abstruct id="abstruct">目录</abstruct>   <--- 非授权用户
  <chap1>序言</chap1>
  <para>本标准根据……</para>
  <chap2>第一章</chap2>
  ……
</doc>


我们可以用两个不同的用户文档来定义不同的XLink.

授权用户.xml
---------------------------
<?xml version="1.0" encoding="Gb2312" ?>
<my:link xlink:type="extended" role="sample" title="extended link sample">
  <my:loc type="locator" href="http://www.xbrl-cn.org/a.xml" title="TopPage" label="top"/>
  <my:loc type="locator" href="http://www.xbrl-cn.org/doc.xml" title="目录" label="docfile"/>
  <my:go type="arc" xlink:from="top" xlink:to="docfile"/>
</my:link>

非授权用户.xml
<?xml version="1.0" encoding="Gb2312" ?>
<my:link xlink:type="extended" role="sample" title="extended link sample">
  <my:loc type="locator" href="http://www.xbrl-cn.org/a.xml"
   title="Top Page" label="top"/>
  <my:loc type="locator"
   href="http://www.xbrl-cn.org/doc.xml#abstruct" title="目录"
   label="abstruct" xlink:show="embed" xlink:actuate="onLoad"/>
  <my:go type="arc" xlink:from="top" xlink:to="abstruct"/>
</my:link>
非授权用户文档采用了自动链接“onLoad”和页面内部替换“embed”属性。


--  作者:teiki
--  发布时间:4/29/2004 11:32:00 PM

--  
XLINK目前使用还很少,比较成形的应用实例是XBRL的标准。大家可以参考www.xbrl.org或者中文站点http://www.xbrl-cn.org

主要原因是:
1.目前Web上采用XML的文档还很少
2.利用”emded"属性直接将其他文档上的内容置换到自己的文档页面上,目前还存在着相关的著作权问题。
3.对应Xlink的软件还很少


--  作者:faly
--  发布时间:5/1/2004 9:21:00 AM

--  
好哦
谢谢[teiki]
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
58.594ms