2006-07-06
如何在应用程序开发中使用XML?
开发XML应用程序时常用到几种模型。可以使用根据这些模型创建的API来分析和操纵XML结构,这些模型可以是基于对象的,如文档对象模型(Document Object Model,DOM)和JDOM;也可以是基于事件的,如Simple API for XML(SAX)。另外,Java API for XML Parsing(JAXP)提供了使用DOM、SAX和XSLT处理XML文档的通用接口。
其中最常用的API是COM,在这种模型里文档的每个成分被描述成特定类型的节点。这些节点按照父子关系组织。各种不同的语言中都有DOM API的绑定,如Java、C++、Perl和Python。
SAX是第二种应用最广的API。和基于对象的DOM模型不同,SAX是一种基于事件的模型,把文档转化成一系列回调,如startElement()。
因为XML实质上是一种简单的文本,任何人都可以创建处理XML的API。事实上,SAX并不是由正式的组织创建的,而是由XML-DEV邮件列表的成员完成的。由松散组织创建的另一种API是JDOM——它是基于对象的。JDOM和DOM类似,但是和Java语言的联系更密切。
使用的XML语言有哪些?
XML的优势在于它能够在多种环境中使用。大量涌现的各种XML词汇表,使人们能够立即互相理解。三种最常用的词汇表是可扩展超文本标记语言(Extensible HyperText Markup Language,XHTML)、资源定义框架(Resource Definition Framework,RDF)和可缩放向量图形(Scalable Vector Graphics,SVG)。
XHTML是XML形式的HTML修订版。XHTML文档就是遵守XML规则的HTML文档。同时,从业务和表示两方面定义了其他的XML词汇表:RDF提供了一种向XML文档添加信息的方式;SVG提供了一种使用XML指定图形元素的方式(因为SVG是基于文本的XML,不仅可用于动态生成图形,还可用于动画和脚本);语音可扩展标记语言(Voice Extensible Markup Language,Voice XML)则用于电话菜单和其他语音相关的系统。
大体上了解XML之后,使用特定的词汇表只需要理解它所包含的各种元素和属性,以及它所表示的含义。
本blog点到为止,欢迎大家齐搅合,拍砖的请走绿色通道pengzhao@tsinghua.org.cn。
评论0