首页 > 学技术 > 技术网文 > Web开发 > 正文

[保留] XML技术预览 z


来源 chinaunix.net 酷勤网整理

一起学习XML  :wink: 

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



 无双 回复于:2003-08-21 22:38:49

二、绑定XML 
  Web服务器与客户机之间的数据传递方式有三种: HTML页面、XML文档以及XML数据岛。其中,XML数据岛通过特定的标签把XML数据直接嵌入到HTML文档中。采用数据岛作为交互手段,不仅可以使数据具备一定的语义信息,同时还能保持HTML原有的一些特色,如利用用户端脚本程序实现动态信息交换等。 
  XML数据岛的实现方法是在HTML文档中使用<XML>;标签。代码的嵌入方式有两种: 直接嵌入(如例1)和外部引用(如例2)。 
  例1: 
  <XML ID=“MyXMLData”>; 
  <?xml version=“1.0” ?>; 
  ……XML definitions…… 
  </XML>; 
  例2: 
  <XML ID=“MyXMLData” SRC=“http://www.microsoft.com/MyXMLData.xml”>; 
  </XML>; 
  在插入数据岛之后,就可以把XML中的元素同HTML元素链接在一起,利用HTML的表现手法显示XML数据,这种链接关系被称为绑定。绑定的方式按照HTML元素的性质可以分为两种:单值对象和表格对象。 
  单值对象的数据绑定需要在HTML元素中设置DATASRC属性和DATAFLD属性。DATASRC属性是区分XML数据岛对象的唯一标识,并且必须加上前缀“#”;DATAFLD属性则标识了数据岛中的元素对象。例3就是把一个HTML文本输入框与<salary>;元素进行了绑定。 
  例3: 
  <INPUT TYPE=“TEXT” 
  DATASRC=“#MyXMLData” 
  DATAFLD=“salary”>; 
  至于表格对象,主要是与HTML中的<TABLE>;标签绑定。一般地,可以借助DSO(Data Source Object,数据源对象)等ActiveX控件更方便、有效地处理表格数据。具体使用方法在以后的内容中将做详细介绍。


 无双 回复于:2003-08-21 22:39:06

三、访问XML 
  Document Object Model(文档对象模型)简称为DOM,是对Web文档进行应用开发、编程的应用程序接口(API),是W3C公布的一种跨平台的、与语言无关的接口规范。 
  DOM采用对象模型和一系列的接口来描述XML文档的内容和结构,即利用对象把文档模型化。这种对象模型实现的基本功能包括: 
  ● 描述文档表示和操作的接口; 
  ● 接口的行为和属性; 
  ● 接口之间的关系以及互操作。 
  DOM对结构化的XML文档进行解析,文档中的指令、元素、实体、属性等所有个体都可以用对象模型表示。整个文档的逻辑结构类似一棵树,生成的对象模型就是树的节点,每个对象同时包含了方法和属性。 
  利用DOM,开发人员可以进行动态地创建XML文档、遍历结构、添加/修改/删除内容等操作。DOM面向对象的特性,使人们在处理和XML解析相关的事务时节省大量精力,是一种符合代码重用思想的强有力编程工具。


 无双 回复于:2003-08-21 22:39:30

四、验证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: 
  <?xml version=“1.0”?>; 
  <!DOCTYPE employees [ 
  ……ELEMENT and ATTLIST definitions…… 
  ]>; 
  <employees>; 
  ……XML data…… 
  </employees>; 
  例5: 
  <?xml version=“1.0”?>; 
  <!DOCTYPE employees SYSTEM “Employees.dtd”>; 
  <employees>; 
  ……XML data…… 
  </employees>; 
  目前,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 
  <!--验证所有XML文档是否是“有效的”-->; 
  xmlint -w c:\my_xml\*.xml 
  <!--仅验证是否是“格式良好的”-->; 
  可以访问下面的网址下载该软件: 
  http://msdn.microsoft.com/downloads/tools/xmlint/xmlint.asp


 jinijxta 回复于:2003-08-22 00:36:17

介绍XML验证,最好不要从DTD开始,用XML  Schema要好一些的。W3的规范啊。


 无双 回复于:2003-08-22 00:38:42

我也是刚开始学习

看了看这篇觉得比较简单就转过来了


 jinijxta 回复于:2003-08-22 00:50:33

我手中有很多这方面的电子文档,可惜我家里的主机学校没给我做路由,外面无法访问,否则给你开一个帐号.很多UNIX、JAVA、Oracle、XML和软工的东东。


 threehair 回复于:2003-08-22 00:53:30

等考完试再好好看看吧!


 无双 回复于:2003-08-22 12:12:21

做软件要是有项目练习的比较好
做不懂了就看资料 
在这里希望大家能通过在这里的讨论明白很多软件技术的

并能一起做点东西的设计


 shmdhcxy 回复于:2006-07-19 01:33:06

能把复杂问题讲的简单明了,就是高手。


 jhsea3do 回复于:2006-07-19 10:23:29

像MS的枪手文,非要扯上什么数据岛阿之类云云

推荐看两只老虎的那本xml入门介绍,文字简练,而且不是文绉绉的,我3年前看的。




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=144462
转载请注明作者名及原文出处



收藏本页到: