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"/〉


猜你喜欢
- show.php源代码: <? if ($action=="cp"){ echo"<div ali
- 目录1.触发器是什么?2.创建触发器创建触发器的语法如下:创建多个执行语句的触发器: NEW和OLD的使用:3.使用触发器1.触发
- 在很多应用程序开发中,需要记录某些数据表的历史记录或修改痕迹,以便日后出现数据错误时进行数据排查。这种业务需求,我们可以通过数据库的触发器来
- 一、Pandas两大数据结构的创建序号方法说明1pd.Series(对象,index=[ ])创建Series。对象可以是列表\ndarra
- 我使用的是anaconda安装的环境,其中有一个是h5py,自动安装的是2.7.0的版本,这个版本会导致保存模型时python奔溃。cond
- sql server存储过程语法 定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过
- 例如下面这段代码 { var temp = "12"; } alert(temp); //输出 12 如果按照通常的编程
- python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能。python中:print(
- 中介者模式中介者模式(Mediator Pattern)是一种常用的设计模式,用于解决各个对象之间的复杂依赖关系,使得各个对象之间可以独立地
- 当页面中引用template.js文件之后,脚本将创建一个TrimPath对象供你使用。 parseDO
- 本文实例讲述了CI框架教程之优化验证码机制。分享给大家供大家参考,具体如下:验证码机制在CI框架中是通过一个辅助函数captcha()进行实
- 1. Mysql备份某个数据库的命令####################################################
- 在这篇文章中,将向您展示如何使用Python链接目前主流的MongoDB(V3.4.0)数据库,主要使用PyMongo(v3.4.0)和Mo
- <%sql = "select * from SMT_addt
- 前言有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因
- 使用 datetime 模块中的 timedelta() 方法将天数添加到日期中,例如 result_1 = date_1 + timede
- Pytorch:Conv2d卷积前后尺寸Conv2d参数尺寸变化卷积前的尺寸为(N,C,W,H) ,卷积后尺寸为(N,F,W_n,H_n)W
- 举例吧,这样更容易看的懂。例1:from django.core.exceptions import ObjectDoesNotExistt
- 目录1、mysqldump执行过程:特点2、导出 CSV 文件(最灵活)执行过程特点3、物理拷贝(最快)过程局限总结1、mysqldump执
- 提到numpy数组就不得不说到np.hstack()与np.dstack()的问题。这里我们研究一下它们的使用方法。我们先来看 一下np.h