《二》XML认识
1.xml定义
XML,可扩展的标识语言(eXtensibleMarkupLanguage),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。其先驱是SGML和HTML。SGML,通用标识语言标准(StandardGeneralizedMarkupLanguage),是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档结构,主要用于大量高度结构化数据的防卫区和其它各种工业领域,便于分类和索引。同XML相比,SGML定义的功能很强大,然而它不适于Web数据描述,而且价格非常昂贵。
2.xml用途
在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。
3.xml工作原理/过程
SGML常用来定义针对HTML的文档类型定义(DTD),同时它也常用于编写XML的DTD。SGML的问题就在于,它允许出现一些奇怪的语法,这让创建HTML的解析器成为一个大难题: 1、某些起始标签不允许出现结束标签,例如HTML中标签。包含了结束标签就会出现错误。
2、某些起始标签可以选择性出现结束标签或者隐含了结束标签,例如HTML中标签,当出现另一个标签或者某些其他标签时,便假设在这之前有一个结束标签。
3、某些起始标签要求必须出现结束标签,例如HTML中标签。
4、标签可以以任何顺序嵌套。即使结束标签不按照起始标签的逆序出现也是允许的,例如,Thisisasamplestring是正确的。
5、某些特性要求必须包含值,例如中的src特性。
6、某些特性不要求一定有值,例如[td]中的nowrap特性。
7、定义特性的两边有没有加上双引号都是可以的,所以和都是允许的。
这些问题使建立一个SGML语言的解析器变成了一项艰巨的任务。判断何时应用以上规则的困难导致了SGML语言的定义一直停滞不前。以这些问题作为出发点,XML逐渐步入视野。
XML去掉了之前令许多开发人员头疼的SGML的随意语法。在XML中,采用了如下的语法:
8、任何的起始标签都必须有一个结束标签。
9、可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如。XML解析器会将其翻译成。
10、标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,例如thisisasamplestring。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。
11、所有的特性都必须有值。
12、所有的特性都必须在值的周围加上双引号。
这些规则使得开发一个XML解析器要简便得多,而且也除去了解析SGML中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同时也将HTML改进为XHTML。XML已经是世界上发展最快的技术之一。它的主要目的是使用文本以结构化的方式来表示数据。在某些方面,XML文件也类似于数据库,提供数据的结构化视图。
4.Future of xml
XML的应用前景 |
||
1 |
网络服务领域 |
XML有利于信息的表达和结构化组织,从而使数据搜索更有效。XML可以使用URL别名使Web的维护更方便,也使Web的应用更稳定,XML可以使数字签名使Web的应用更广泛。 |
2 |
EDI(Electronic Data Interchange) |
传统的EDI标准缺乏灵活性和可扩展性。使用XML,程序能够理解在交换数据中所表示的商务数据及概念,根据明确的商务规则来进行数据处理。 |
3 |
电子商务领域 |
XML的丰富置标信息完全可以描述不同类型的单据,例如:信用证、保险单、索赔单、以及各种发票等。结构化的XML文档发送至Web的数据可以被加密,并且很容易附加上数字签名。 |
4 |
数据库领域 |
XML文档可以定义数据结构、代替数据字典、用程序输出建库脚本。应用“元数据模型”技术,对数据源中不同格式的文件数据,按照预先定义的XML模板,以格式说明文档结构统一描述并提取数据或做进一步的处理,最后转换为XML格式输出。XML—数据库—网页或文档中的表格这三者可以相互转换。 |
5 |
Agent(智能体) |
倘若送到Agent的XML结构化的数据,Agent就能很容易理解这些数据的含义及它已有知识的关系。基于XML的数据交换对于解决Agent的交互性问题有重要的作用。从技术上讲,XML语言只是一种简单的信息描述语言。但从应用角度上说,XML的价值就远不止是一种信息的表达工具。事实上,借助XML语言,我们可以准确地表示几乎所有类型的数字化信息,可以清晰地解释信息的内涵和信息之间的关联,可以在最短的时间内准确定位我们需要的信息资源。 |
6 |
软件设计元素的交换 |
XML也可以用来描述软件设计中的有关的设计元素,如对象模型,甚至能描述最终设计出来的软件。另外,XML及相关技术使得软件的分发及更新在Web上更容易实现。 |