认识XML基础知识

时间:2007-08-15 12:12:26  来源:站长资讯收集整理  作者:佚名


xml的不足之处

  xml作为数据描述语言是非常优秀的,但是并不是所有的电子数据都是转换到xml是最有效的。例如xml的文本表现手法、标记的符号化等会导致xml数据比二进制表现方法数据量增加,尤其当数据量很大时,会成为很大的问题。也就是说,xml的导入要根据具体需求,比较其优缺点,在充分发挥xml优点的领域进行。

  尽管xml具备了作为通用数据描述语言的优秀特征,但是xml不是编程语言,说到底它是一种数据描述的技术。因此xml文件的显示、文件结构的变更、应用程序的操作等xml相关技术也是非常重要的。

xml的主要相关技术分类

  xml是描述内容的数据格式,在使用xml数据时,还需要xml数据的显示、打印、数据结构的变更等许多相关技术。如果这些相关技术也都标准化的话,即使在不同平台开发应用程序也都可以用相同的方法,使开发难度降低。

  处理xml数据时,一定要使用xml processor(也就是xml parser),把xml数据结构的检查等交给xml parser去做。

  关于xmlprocessor有许多软件产品,当然,也有不少免费的。开发工程师只需将xml数据的检查工作交给xmlprocessor即可,集中精力开发应用程序部分,减少了不小的负担。

  应用程序对接收到xmlprocessor传递来的xml树进行处理,向用户提供服务。此时,不管是电子商务,还是知识管理,都是定义xml数据结构的技术、显示打印xml数据的技术、xml数据结构变更技术、xml数据联接整合技术、用程序操作xml树的api和其它应用技术的组合。

定义xml数据结构的技术

  在xml中用户可以自由的定义标记名以及与标记相关的元素及元素层次,这是xml的主要特征。但是,如果定义的都是只有自己才能理解的标记,就无法与其他人进行交换数据。为了在企业团体之间进行xml格式的数据的交换,xml数据的结构、元素的名称、元素的数据类型以及元素的亲子关系都需要仔细考虑,一定要设计成人和系统能够理解的语言。这样设计的xml数据结构在xml领域称为schema,描述schema的语言称为schema语言。

  dtd 最普通xml的schema语言是dtd(document type definition:文档类型定义)。dtd是远在sgml时期就一直使用的schema语言,1998年制订xml语法时,沿用了描述schema的dtd。

  xml schema 在xml中,所谓的“dtd”就是schema文件。dtd描述的schema应用非常广泛。但是,随着xml的应用的发展,从sgml继承下来的dtd显然有许多不足的地方。为了解决这些问题,w3c制订了schema语言xml schema。

  xml schema中有下述dtd中不具备的特征:多个schema复合使用xml名字空间;用xml语法描述;可以详细定义元素的内容及属性值的数据类型。

  由于在xml schema中的数据结构也都是用xml数据来表现的,与dtd相比数据量增大很多。但是,xml schema的表现力要远比dtd强得多,不仅支持字符串、10进制数、浮动小数点、日期等,还支持m回以上和n回以下出现的元素(m、n为整数)的指定。例如“邮编xxxxxx”(x是字符)是邮政编码元素的格式指定等都是dtd所不能表现的内容。xml schema于2001年5月成为w3c的推荐规范,对xml的利用产生了重要的影响。

显示和打印xml数据的技术

  xml数据定义打印、显示排版信息主要有3种方法: 用css定义打印和显示排版信息;用xslt转换到html进行显示和打印;用xslt转换成xsl的fo(formatter object) 进行显示和打印。

  css 指定文件排版信息的数据称为样式表,描述html样式表的语言是css(cascading style sheet)。这里介绍的是使用css来浏览、打印xml数据的方法,具体来讲css是给html的每个标记元素指定排版信息,同样也可以用来给xml的标记元素定义显示排版方法。css不能改变xml的结构,只能在简单的定义排版信息的时候使用。

  xslt 还有一种是使用改变xml数据结构的语言xslt(extensible stylesheet language transformations)的方法。使用xslt,可以改变xml元素名、属性名、元素层次结构等,根据xslt的指定,可以将xml的元素转换为html元素,则可以是用浏览器浏览。現在,这种用浏览器显示xml数据的方法是最常用的方法。

  xsl xsl(extensible stylesheet language)是用xml描述的文件。它是一种可以详细描述商用印刷排版水平的规范,xsl排版信息的定义。用xsl指定排版信息的方法由2步组成:

  将要打印、显示的原xml树进  行结构变换,追加排版信息生成新的树结构(xsl-fo树);将这个新树传递给xsl-fo对应的打印和显示引擎进行相应的操作。

xml数据结构转换技术

  在xml的应用中,有的xml数据需要转换到其他结构的xml数据,为此w3c制订了描述标准化的xml数据结构转换规则的语言xslt。

  xslt是为显示和打印xml,而从xsl规范独立出来的规范,原本是描述排版信息的语言,因此,用xslt制作的程序称为样式表。但是,xslt也可以用于排版以外的各种用途。

  例如,使用了不同schema(标记集合)的企业团体之间交换xml数据时,需要将使用了各公司独自数据格式的xml数据向双方系统共同采用的业界标准格式结构转换以后,才可能进行数据交换。在xslt中不仅描述了转换规则,结构转换还可以交给xslt样式表的执行引擎(xslt processor)。为了跨过业界之间的障碍实现数据交换,其它文件格式的数据交换也会经常发生,尽管如此,结构转换时如果利用xslt,可以不改更程序只改变样式表就可以了。

  随着xml的普及,xslt的应用也会更加广泛。在windows上,只需进行简单的环境设定,用ie 5.x和任意一个文本编辑器就可以制作和执行xslt。即使只会一点点制作xslt样式表的方法,就可以很简单的进行xml的处理了,非常方便。

  随着计算机和网络技术的不断发展深入xml技术的应用也将不断扩大。该技术不仅在传统的银行之间数据交换、证券公司对上市公司情况的数据统计、图书馆对图书的查询检索、企事业文件档案管理等领域的应用更加迫切,在电子商务、搜索引擎软件、自动智能翻译、文档发声软件等领域也将得到更大的发展,特别是近期发展起来的移动通讯网络服务的发展,将使各种各样的信息经过格式转换到达pda、甚至到达手持电话机,将来我们可以通过网络数据格式转换服务使小小的手机可以阅读到大千世界的丰富信息。

内容导航

文章评论

共有 位CH网友发表了评论 查看完整内容