返回总目录返回总目录返回总目录返回总目录目目目目录录录录第一章什么是XML语言...............................................................41.1XML的产生..........................................................................................41.2XML的基本概念..................................................................................81.3XML的结构........................................................................................111.4关于XML的常见问题.......................................................................141.5小结.............................................................................................18第二章新一代网络编程语言XML..............................................192.1HTML现状.........................................................................................192.2XML与HTML的比较.......................................................................202.3XML与SGML的比较.......................................................................202.4XML的优势及其特点........................................................................202.5XML的应用........................................................................................232.6小结.............................................................................................24第三章XML的应用与发展前景..................................................253.1XML行业的未来................................................................................253.2XML带给网络应用的技术革命........................................................253.3XML能够带给我们什么....................................................................263.4XML在各个领域中的运用................................................................283.5小结.............................................................................................31第四章XML工具..........................................................................324.1XML开发工具....................................................................................324.2XML浏览器........................................................................................344.3小结.............................................................................................35第一部分XML基础第一章什么是XML语言第二章新一代网络编程语言XML第三章XML的发展前景第四章XML工具第一章什么是XML语言本章将向读者介绍XML的产生背景基本概念以及XML文档的结构引导读者进入XML的神奇世界同时还就一些关于XML的常见问题作了分析和回答本章包括以下内容•XML的产生•XML的基本概念•XML的结构•关于XML的常见问题1.1XML的产生人类思想的交流和智慧的继承与语言文字标记是分不开的当人类历史上文字符号产生的时候就不只是一个单一的符号记录而是由许许多多的记号组成的字符集当文字产生时人们在骨头石头和木器上做标记后来产生了纸和笔当成作记号的工具当人们用笔和纸记录语言文字时由于各种不同的应用需求产生了各种各样的文档格式如书信法律文件各种公文通知等等不同的文档必须遵守各自的格式要求文档中不同的地方有不同的标记来规定文档的格式使不同的人们阅读文档时不会把各种文档格式混淆进入计算机时代人们用字处理软件来完成文档的存储格式编排和出版等工作这些工具软件一般都是所见即所得的工具掩盖了格式编排任务的复杂性具体怎样进行格式编排什么指令规定了标题的大小和字体用户是不知道的由于软件的这种标记过程注重的是视觉效果常常依靠于计算机屏幕和打印机性能SGMLHTMLXML都是标志语言利用各种标记使文档规范化格式化以便于信息的整理与交流这些标志语言的发展经历了一个发展过程首先产生了SGML正是由于SGML的应用产生了WEB和HTML语言由于HTML语言满足不了日益复杂的WEB信息交流的需要因此发展到了XML语言1.1.1SGML的产生六十年代末IBM公司的CharlesGoldfarbEdMosher和RayLorie为了解决由不同专用格式创建的法律文件不能在公司不同部门间相互移植的问题提出了任何可互操作系统的三个主要要求•文件处理程序需要支持一个公共文档格式•这个公共格式对特定的领域是专用的•为了达到高度可靠性文档格式必须遵守特殊规则这个文档格式编排系统称为通用标记语言GeneralizedMarkupLanguageGML在以后的八年时间中Goldfarb继续研究GeneralizedMarkupLanguage并担任了一个国际开发人员组织的技术领导终于建立了所谓的标准通用标记语言StandardGeneralizedMarkupLanguageSGML而且国际标准化组织ISO于1986年昀终批准采用SGMLSGML提供描述文档和创建新的一致性衡量准则所必需的公共框架几乎所有处理文档的语言都可以至少部分追溯到SGML诚然如果不实行这种描述标准Web技术就不存在SGML可以用下列三条来描述其特点•不提倡一种特殊的文档结构•不存在必须使用的有限标注集•不限制创建新文档的标准的潜力SGML避免了其它文档格式共同的表示特征而集中于信息的结构它不提倡一种特殊的文档结构而是要求定制数据只通过结构而不是表现形式约束数据就能以任何方式迅速编辑检索分类转换或汇集数据并传递给任何媒体打印机或屏幕等正是由于SGML的产生导致了超文本标志语言HTML的诞生1.1.2Web和HTML语言的诞生TimBerners-Lee是设在瑞士日内瓦的欧洲离子物理实验室的一位英国研究人员1989年他对该研究中心的大量研究资料的不可移植和不可兼容深感失望并构想出这样一个世界在其中存取数据是一项简单的任务以一种一致的方式进行不考虑使用什么终端和程序包含任何地点的任何计算机应能只是用一个简单的和常用的程序存取数据他意识到传统的线性思考不能达到这种跨越系统表达信息的要求于是导致了超级链接概念的产生随着Berners-Lee建立的超文本标志语言HypertextMarkupLanguageHTML的开发成功形成了今天的Web信息存储和交流技术1.1.3从HTML到XML今天网络的成长速度远远超过了单个个人的发展所以需要比HTML更完整的语言来表达网络内容的内涵人们刚刚看到和学会使用HTML来表达自己的超链接式的想法就发现这种语言已经远远不能满足网络潜在应用能力的需要扩展标记语言ExtensibleMarkupLanguageXML的出现把网络表达的语言集合推进了一大步HTML只是一种表达的技术它并不一定能揭示HTML标记中的含义举一个昀简单的例子h2Pine/h2这句话在网络浏览器中有特定的表现但是HTML却并没有告诉我们它到底是什么Pine只是一个英文单词罢了它在不同的环境之下可能会有不同的意义是一个计算机公司一棵松树还是一个人HTML并没有告诉我们Pine的具体内容HTML中有一个大问题就是它的标记的集合是固定的用户不能新增有意义的可以让其他人使用的标记网络浏览器是一个应用平台以HTML作为数据标准网络上的应用程序依赖于服务器上的CGI脚本或ASP程序等来处理网页上的数据这样的结构是非常清晰的但HTML却使在服务器一端要处理的数据量过大这使得网络速度低下效率不高SGML是HTML技术的前身它是文件和文件中信息的构成主体SGML与HTML不同它允许用户扩展标记集合允许用户建立一定的规则SGML所产生的标记集合是用来描叙信息段特征的而HTML仅仅只是一个标记集合所以我们可以说实际上HTML只是SGML的一个子集XML开发者源于SGML的设计和应用者他们在SGML上投入了大量精力但是却发现SGML并没有完全发挥作用从下面几个方面就可看出1.对EDI的支持EDI就是电子数据交换它是网络发展的一个主要目的市场结构化信息的一个主要目的就要使数据交换成为可能不同的行业都制定了本行业统一的模型就像是不同的国家有着不同的语言这便于本国文化的交流不同的行业内部信息用统一的模型标识就能够使信息方便高效地共享这样一个统一的模型就是文件类型定义DocumentTypeDefinitionDTD当然DTD已经落伍了它正被XML的模式Schema所替代很明显的网络是一个理想的电子数据的集散地很显然网络环境下HTML是一种有缺陷的数据形式因为HTML不能完全表示不同行业中所需的不同的模型和它的语义能不能有一种新的语言来解决这个问题呢答案就是XML2.对Java技术的支持Java技术是本世纪昀重要的技术发展之一Java使浏览器工作时就像在通用的应用平台上而平台与平台之间却是独立的但固定的标志集合和HTML语义上的贫乏使得Java的应用受到了极大的限制正如前面提到的在HTML中不同的语义无法表现因此数据元中丰富的信息得不到一种统一的表示而XML却能完全胜任这份工作HTML页面要依赖网络服务器上的CGI脚本来表现几乎每一个编程函数这显然使服务器的工作量过大有了XML和Java技术更多的应用软件处理起来将不会占用多少网络通信量这使得网络更加快捷客户可以同时应用多个应用软件XML真正使Java有了用武之地3.信息独立于平台之间SGML作为HTML和XML的前身技术一直是一种平台之间互相独立的信息技术这便于指定信息语义的结构当企业正忙于开发各种各样的信息格式时比如微软的RTFAdobe的PostScript