XML的语法、结构以及相关的一些技术
发布时间:2007-10-23 07:27:00
XML有很多相关的技术,将这些技术结合起来,才能充分发挥XML的强大功能。这些技术包括:Xlink与Xpointer(设置XML的超链接)、DOM(Document Object Model:文件对象模型,存取、操作文件的内容)、Namespaces(解决不同元素有相同名称的问题)、XHTML(下一代的HTML)等。
■Xlink与Xpointer
在XML的规范中,我们看到它并没有规定有关文件链接的问题。为了使XML文件也能够有类似HTML文件超链接的功能,W3C制定了Xlink和Xpionter两种规范,其中Xlink是规定XML文件之间的链接规范(和HTML中的外链接相似),Xpointer是规定XML文件中不同位置之间的链接规范(类似HTML中的内链接)。
1.Xlink:Xlink所设定的链接分为Simple Link和Extended Link。其中,Simple Link的链接功能和HTML的超链接基本上一样,而Extended Link则超出了HTML超链接的功能,它链接的对象可以一次设定多个,由多个标记来共同制定该链接。
在XML文件中使用Xlink元素的时候,必须要在DTD中声明这个元素。完整的声明样本如下(本样本声明了一个名为simple的Simple Link 类型的Xlink元素):
〈!ELEMENT simple ANY〉
〈!ATTLIST simple
xml:link CDATA #FIXED"simple"
href CDATA #REQUIRED
role CDATA #IMPLIED
title CDATA #IMPLIED
inline (true|false) "true"
content-role CDATA #IMPLIED
content-title CDATA #IMPLIED
show (embed|replace|new) #IMPLIED
actuate (auto|user) #IMPLIED
behavior CDATA #IMPLIED〉
可以看到,Xlink元素有多种属性,通过对这些属性赋值,可以编制出多种多样的链接方式。下面我们对这些属性作些解释。
Xml:link:指明链接类型是Simple Link还是Extended Link。
href:用来设定链接的地址,与HTML中A标记中的href属性一样。
role:叙述该链接功能,提供给应用程序读取。
title:叙述该链接功能,提供给用户读取,与HTML中A标记的alt属性相似。
inline:有“true”和“false”两种取值,声明建立的链接是否以嵌入方式链接,缺省为“true”。
content-role和content-title:和role、title类似,但它们叙述的是指向的内容,而不是链接的内容。
show:有三种取值,replace表示将链接的内容取代当前的内容,new表示将链接的内容在一个新的窗口打开,embed表示将链接的内容加入到当前的内容中。
actuate:设置该链接是如何被激活。auto表示XML文件被解读后,链接自动被激活。而user表示,该链接必须被用户手动激活,也就是用户必须要用鼠标点击一下该链接。
behavior:设置该链接被激活后,将自动引发一些动作,可用一些指令来设置链接激活后应用程序要作的事情。
当我们在DTD中声明Xlink元素后,就可以在XML文件中使用这个元素。例如:
〈simple href="http://www.cbinews.com/xml.htm" title="这是一篇介绍XML的文章"
role="XML article" content-role="good" cont-title="first" show="new" actuate="user"
behavior="goto zero"/〉
猜你喜欢
- 从今天开始起,基督山将和大家一起进入ASP.net 诸多程序的学习中,老实说,.net到底是法宝还是垃圾,我们拭目以待。有任何问题,联络基督
- asp正则表达式检测字符串是否是数字及字母。<% '函数:CheckString(strng) '
- mysql优化了所以先说说这个,其实这个,很复杂,对于不同的网站,其在线,访问量,帖子数量,网络情况,以及机器配置都有关系,优化不是一次可以
- 可能不少学习javascript在使用call,apply,callee时会感到困惑,以下希望对于你有所帮助:1、它是函数的方法或属性;2、
- 以前的Sony Ericsson牌DVD影碟机坏掉了,上周到沃尔玛买了个philips的回来,于是又淘了一些DVD回来看。在使用遥控的时候忽
- Microsoft SQL server2000由一系列相互协作的组件构成。能满足最大的WEB站点和企业数据处理系统存储
- 今天在日常维护一个网站时,发现该网站的留言程序没有经过严格的验证过滤,导致了将近十万条垃圾数据。而其中又不乏重要信息,需要清理数据,以及增加
- 内容摘要: 当用户填写页面<FORM>内容时所提供的全部值,或在浏览器地址栏输入在URL后的值,通过Form和QueryStrin
- It is much easier to criticize somebody else’s work than to create som
- 在网站或软件的策划和设计过程中,我们经常听到这样的讨论:“这个功能设计得太重了”又或“我们希望能够处理得轻一些”。似乎轻设计是时下炙手可热的
- 实现一个AuditLog的功能,是B/S结构专案。 每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪。是谁添加
- <!-- #include file="conn.asp" -->
- 我们小组讨论的话题是tab(标签)在使用时的禁忌。在讨论的开始,大家很快产生了六个感兴趣的话题:如何处理海量的tab?在浏览器中关掉tab之
- 有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MYSQL渐渐地出现不堪重负的情
- 内容摘要:本文介绍了使用SQL语句修改数据记录的两种方法,一是使用rs.update,二是使用conn.Execute(sql),相信对初学
- 现代浏览器可以基于RFC 2397标准使用base64把图片进行编码,然后输出类似data:image/png;base64,iVBORw0
- 在跨业务、跨网站发送数据或者业务升级的时候,我们有的时候需要指定发送数据的编码方式,比如页面是utf-8编码的,而发送出去的数据却是GB23
- 适合各种浏览器的js拖动层,ie,firefox等,调用方便!<!DOCTYPE HTML PUBLIC "-//W3C//
- 大家一定使用过 phpmyadmin 里面的数据库导入,导出功能,非常方便。但是在实际应用中,我发现如下几个问题:1、数据库超过一定尺寸,比
- 在浏览几个网页时,发现有几个网站在显示时间时存在问题,比如今天是2009年1月4日,但是有的网站上却赫然写着今天是109年1月4日(这里有个