选择显示字体大小

xml技术系列讲座之xml技术预览


作者: 北京邮电大学 张剑

一、显示xml
xml文档本身只描述数据内容,它的显示功能由样式单来完成。利用样式单技术时,输出平台不局限于显示器,可以是打印机、绘图仪或者是多媒体播放器。使用独立的样式单文件制定显示格式的一大优势在于:对同一份数据文件可以制定不同的样式风格,应用在不同的场合,使数据能够更合理、更有针对性地表现出来,提高了数据的重用性。
目前,w3c正式推荐的样式单标准有两种: 一种是层叠样式单css(cascading style sheets);另一种是可扩展样式单语言xsl。
css最初是用于制定html文档显示格式的,现在也可用来对xml文档进行简单的样式规划。csshtml中的应用极为广泛,但它在文本置换、依据文本内容而决定显示方式、对数据进行排序等智能化的显示功能上略显不足。
而xsl则较好地解决了css的这些问题,它最常用的功能是将xml的置标转换成为html的置标并显示输出。而且xsl还可以将xml文档向任何其他格式的结构文档进行转换。这种功能在b2b的商务模式中有着很好的应用前景。
xsl利用模式匹配的方法,选择xml文档中需要处理的元素/属性,再针对这些特定的对象制定相应的转换规则。借助xsl,我们还可以添加新的元素/属性,对所有元素/属性进行重新排序、循环处理、条件判断等程序化的控制,使其适应各种复杂的需求。
xml文档中引用xsl的格式如下:

一个xml文档只能引用一个xsl样式单。xml解析器在处理xml文档时,遇到处理指令后,会载入指定的xsl样式单,然后根据其中的规则进行相应的转换处理。
二、绑定xml
web服务器与客户机之间的数据传递方式有三种: html页面、xml文档以及xml数据岛。其中,xml数据岛通过特定的标签把xml数据直接嵌入到html文档中。采用数据岛作为交互手段,不仅可以使数据具备一定的语义信息,同时还能保持html原有的一些特色,如利用用户端脚本程序实现动态信息交换等。
xml数据岛的实现方法是在html文档中使用 标签。代码的嵌入方式有两种: 直接嵌入(如例1)和外部引用(如例2)。
例1:


……xml definitions……

例2:


在插入数据岛之后,就可以把xml中的元素同html元素链接在一起,利用html的表现手法显示xml数据,这种链接关系被称为绑定。绑定的方式按照html元素的性质可以分为两种:单值对象和表格对象。
单值对象的数据绑定需要在html元素中设置datasrc属性和datafld属性。datasrc属性是区分xml数据岛对象的唯一标识,并且必须加上前缀“#”;datafld属性则标识了数据岛中的元素对象。例3就是把一个html文本输入框与 元素进行了绑定。
例3:

datasrc=“#myxmldata”
datafld=“salary”>
至于表格对象,主要是与html中的

标签绑定。一般地,可以借助dso(data source object,数据源对象)等activex控件更方便、有效地处理表格数据。具体使用方法在以后的内容中将做详细介绍。
三、访问xml
document object model(文档对象模型)简称为dom,是对web文档进行应用开发、编程的应用程序接口(api),是w3c公布的一种跨平台的、与语言无关的接口规范。
dom采用对象模型和一系列的接口来描述xml文档的内容和结构,即利用对象把文档模型化。这种对象模型实现的基本功能包括:
● 描述文档表示和操作的接口;
● 接口的行为和属性;
● 接口之间的关系以及互操作。
dom对结构化的xml文档进行解析,文档中的指令、元素、实体、属性等所有个体都可以用对象模型表示。整个文档的逻辑结构类似一棵树,生成的对象模型就是树的节点,每个对象同时包含了方法和属性。
利用dom,开发人员可以进行动态地创建xml文档、遍历结构、添加/修改/删除内容等操作。dom面向对象的特性,使人们在处理和xml解析相关的事务时节省大量精力,是一种符合代码重用思想的强有力编程工具。
四、验证xml
xml文档必须严格遵守语法规范,即都必须是“格式良好的”。同时,xml文档还应当符合语义方面的规范,即是“有效的”。对xml文档有效性的检查称为对xml的“验证”(validation)。
“格式良好的”是对xml文档最基本的要求。凡是“格式良好的”xml文档都可以被xml解析器解析,进而生成对象树,以便接受进一步的处理。而且“有效的” xml必定是“格式良好的”。在此基础上,还要遵守dtd或xml schema的语法规定,只有这样才能保证xml文档的易读性,同时还能充分地体现数据信息之间的关系,从而更好地描述数据。
dtd可以定义xml文档的词汇和语法。利用正则表达式,dtd除了可以说明xml文件中哪些元素是必需的、哪些是可选的、元素所能包含的属性等元素本身信息外,还可以描绘元素之间的结构信息。比如,某个元素可以嵌套哪些子元素、子元素的个数以及出现次序、是否可选等等。
典型的dtd格式如下:
● 以doctype声明为起始标志,告诉解析器以下内容属于dtd;
● 位于doctype后的dtd名称,必须与xml文档中的根元素完全一致,后面再跟着一个“[”号,接下来才是dtd正文。
dtd有两种使用方式: 内嵌式(如例4)和引用式(如例5)。它们在xml文档中的位置都必须位于根元素出现之前。
例4:

……element and attlist definitions……
]>

……xml data……

例5:



……xml data……

目前,dtd是w3c推荐的验证xml文档有效性的唯一正式规范,但它也有着许多不足:
● dtd过于复杂,要熟悉它的语法、标记集合需要一定的时间和精力,而且dtd采用的是非xml语法规则,不能用xml工具进行操作处理;
● dtd对数据类型定义支持不够,所定义的数据类型有限,并且都是针对属性而设立,无法满足电子商务等web应用所需要的丰富数据类型;
● 扩展机制复杂,也很脆弱,最大的弊病在于不能表达元素之间的相互关系;
● dtd不支持名称空间的机制。
以上种种缺陷,促使w3c组织致力于寻求一种新的机制来取代dtd。在众多的标准之中, microsoft公司为主提出的xml schema较为引人注目。它具有完全符合xml语法、丰富的数据类型、良好的可扩展性以及易被dom等xml解析器处理等优点。
最后介绍一个用于xml验证的小工具:xmlint.exe。它可以用来验证xml文档是“格式良好的”以及“有效的”,用法如下:
xmlint c:\my_xml\*.xml

xmlint -w c:\my_xml\*.xml

可以访问下面的网址下载该软件:
http://msdn.microsoft.com/downloads/tools/xmlint/xmlint.asp
  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons