XML及其技术指南
作者: 来源: 添加时间:2006-5-21 20:25:17很多人都认为,HTML真正强劲的地方在于它的锚元素。
<A HREF = "http://www.someserver.com">some link</A>
锚元素使开发者可以建立从一个HTML页面到另一个页面的链接,定义两个文档之间的关系。这给用户提供了一种从当前页面中获取更多相关数据的途径。同时,这也是用户在查询数据中所使用的典型方法。为了查找数据,他们浏览某一页面,同时他们在这篇该页面中可能会发现更符合他们要求的内容。而这些内容通过一个链接,存放在不同的页面上。
整个Web就是基于这样一个在不同的数据文件之间建立关系(链接)的基石上的。随着IT行业不断的向前发展,我们自然会想到用类似的机制来描述不同XML文档或是相同文档中不同元素之间的联系。
XLink
XML Linking 1.0 (XLink)是W3C主导的定义XML链接的语法。根据XLink 1.0文档的要求,一个XML链接,或XLink的描述信息,显式的指定了资源或部分资源之间的关系。在XLink中,我们并不涉及标示不同类型数据位置的方法(例如URIs、XPointers和图形坐标)。
这里是一个XML连接的简单例子:
| <hamburger xml:link="simple" HREF = "http://fastfood.org/hamburger.asp"> </hamburger> |
XPointer
在前面的章节中你已经读到,XLink需要依靠不同的机制来标识你想要链接的资源(例如统一资源标识符)。W3C推出了另一种叫做XPointer的机制用于构造XML文档的内部结构。具体地说,它决定了一篇XML文档中的元素、字符串或其它部分是否具有某个具体的标识。
一个XPointer包括一系列描述位置的术语,它们中的任何一个都指定了一个特定的位置信息,通常这样的位置信息总是和前一个术语所指定的位置信息相关联。每一个位置术语都有一个关键字(例如id,child,ancestor等等)和若干变量,诸如实例的序列号、元素类型或属性。看下面的例子:
child(2,hamburger)
指的是第二个类型为hamburger的元素。
其他XML相关的技术和词汇
目前为止我们所谈到的已经代表了XML的核心技术。可能你觉得这些东西已经足够了,但如果我们不深入下去对眼下一些正流行起来的XML相关技术和词汇作一些介绍的话,这篇文章探讨XML的文章就显得不是很完整了。目前,这些新技术正在W3C的开发小组的努力下一步步走向成熟。
MathML(Mathematical Markup Language)
MathML是一种用来描述数学符号、纪录其结构和内容的XML应用。MathML的目标是在Web上实现能像HTML处理文本一样,处理数学问题。下面是由W3C提供的的MathML例子。数学方程:
x2 + 4x + 4 =0
在MathML中可以用以下的XML词汇表示:
| <apply> <plus/> <apply> <power/> <ci>x</ci> <cn>2</cn> </apply> <apply> <times/> <cn>4</cn> <ci>x</ci> </apply> <cn>4</cn> </apply> |
SMIL
SMIL(Synchronized Multimedia Integration Language,它的发音和"smile"一样)是一种基于XML的表述多媒体演示的语言。SMIL允许将一组独立的多媒体对象整合为一个多媒体演示。作为另一种行业趋势,HTML+TIME依靠SMIL功能在你的HTML页面中加入多媒体"时间"特性。现在IE 5提供了一个HTML+TIME的实现。下面例子中的页面中包含了一个时间序列。位于时间段中的每一个P元素会等到前一个P元素消失后再出现。
| <HTML> <HEAD> <STYLE> .time { behavior:url(#default#time); } </STYLE> </HEAD> <BODY> <DIV CLASS="time" t:timeline="seq"> <P class="time" t:dur="1"> This appears for one second and goes away </P> <P class="time" t:dur="1"> This appears after one second, remains visible for one second and goes away </P> <P class="time" t:dur="1"> This appears after two seconds, remains visible for one second and goes away </P> </DIV> </BODY> </HTML> |
VML(Vector Markup Language)
矢量标记语言用于定义矢量信息编码格式的一个XML应用,它和其他的标记一起决定了信息以何种形式显示在屏幕上。VML对标记矢量图形信息的支持和HTML对标记文本信息的支持是一样的。一些微软的产品(例如Microsoft Powerpoint? 2000)支持项文件导出到HTML,使用VML来描述图形信息。下面一段简单的VML示例定义了一个形状:
| <v:shape style='top: 0; left: 0; width: 250; height: 250' stroke="true" strokecolor="red" strokeweight="2" fill="true" fillcolor="green" coordorigin="0 0" coordsize="175 175"> <v:path v="m 8,65 l 72,65,92,11,112,65,174,65,122,100,142,155,92,121,42,155,60,100 x e"/> </v:shape> |
CDF(Channel Definition Format)
CDF是一种开放的规格,它允许Web的发布者经常的更新信息或是频道。而这些信息能从Web服务器自动的传送到PC上的兼容接受程序或是其他的信息装置上。用户仅需选择一下频道,信息就会定时的传递到客户端。当信息下载到客户端后,CDF起到了频道内容目录的作用。
XML片断
XML的规格支持由若干实体组成的逻辑文档。通常,查看、编辑一个或多个实体甚至于实体的某个部分比查看、编辑整篇文档来得更普遍、更有意义。于是,我们就需要一种方法使得客户端可以不用涉及整篇文档,就能在一篇较大的文档中获得文档片断所处的上下文信息。XML片断为实现这样的目标创立了一种机制。
XHTML
XHTML是符合XML的新HTML文档中的又一个家族。XHTML文档被设计成可以和XML处理器协同工作。不过,现在你的浏览器能看到的绝大多数HTML文件都不是编撰结构良好的XML文档。例如,一个<LI>开始标识符常常没有相应的</LI>结束标识符。因此,即使可能,使用标准XML工具同HTML进行交互也会变得非常困难。
XHTML文档是结构良好的XML,因此使用标准XML处理器对它们进行查看、编辑或验证都十分容易。同时,轻量级客户(如Palm-PC)处理错误的工作将变得更为简单。
XHTML的规格十分明确,遵从XHTML 1.0标准的XHTML文档在XHTML环境下具有更好的客户操作性。XHTML将成为Internet发展的下一个目标。借助于XHTML,网站内容的开发者可以进入XML的世界,享用各种各样的便利而再不用为他们产品的兼容性而烦恼了。
总结
除了上面我们列出的技术,XML相关的技术还有很多。我们将把对这些技术的探索留给你自己去完成。相信你已经感到,在XML及其相关技术发展的背后,有着巨大的、整个行业范围内的努力在支持者它。
XML必将改变我们未来开发互操作性软件的世界。如果想进一步了解XML对软件组件技术的影响,请看Lessons From the Component Wars: An XML Manifesto(http://msdn.microsoft.com/library/en-us/dnxml/html/xmlmanifesto.asp)
想要深入学习有关XML的大量信息是比较困难的,人们往往很难看清所有这些东西是怎样融合为一个整体的。这篇文章向你介绍了XML和它相关的一些技术。到目前为止,你已经大致明白了XML技术是什么以及这些核心技术是怎样整合在一起的。也就是说,你已经为今后进一步学习XML做好了准备!
站内搜索