XML

一,概述

XML全称EXtensible Markup Language,翻译为可扩展置标语言,可扩展标记语言或可延伸标示语言,是一种置标语言。XML是基于SGML而又为WEB重新简化和设计过的标记语言。

置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用置标语言(SGML)中简化修改出来的。它主要用到的有XML、XSL、XBRL和XPath等。

XML英文全称是Extensible Markup Language ,即扩展标记语言,它是从HTML中独立出来的。2000年1月,XML和HTML结合在一起成为扩展超文本标记语言(XHTML)。

  HTML描述了文档的可视化设计,XML允许我们描述包含再文档众的信息的功能利上下联系XML是帮助我们描述和组织数据并通过网络传输的另一种工具。

  一、XML

  XML同HTML一样,都来自Standard Generalized Markup Language,即标准通用标记语言,简称SGML。

  XML有着HTML语言所欠缺的巨大的伸缩性与灵活性。它可以在网页上做出更好看,更复杂的网页。

  良好的数据存储格式、可扩展性、高度结构化、便于网络传输是XML主要的四人特点,决定于其卓越的性能表现。'由于XML能针对特定的应川定义自己的标记语言,这一特征使XML可以在电子商务、政府文档、报表、 司法、出版、联合、CAD/CAM、保险机构、厂商利中介组织信息交换等领域中一展身手,根据不同的系统、厂商提供各只特色的独立解决方案。

  二、XML文档结构

  XML文档具有两个特征:结构完整性和有效性。

  与HTML不同,XML必须定义DTD,通常是由文档作者来定义。DTD定义了所有标记的有效性:如果一个XML文当中没有DTD,它就不能执行。因为我们必须定义)QL标记的含义和结构,所以XMLDTD时必须的。XML允许我们自己创造语言来描述文本,它不象HTML一样是固有的语言。DTD提供了描述标记的规则或者是语法,因此在许多方面DTD是最重要的。另外DTD还定义了句子的结构、句法和词组。

  三、XML和样式表

  在XML中,我们可以使用CSS或者XSL(extensible Style Language可扩展样式语言)样式表。XSL是用于规定XML文档样式的语言,它能在客户端对文档进行处理。这样,以后就不用再与服务器发生联系。

二,历史

1971 GML(Generalized Markup Language,GoldFarb Mosher & Lorie) –> SGML(Standard Generalized Markup Language,ISO8879) –> HTML(Hypertext Markup Language)就是一个基于SGML的DTD定义的规则的应用。 HTML的发展伴随着应用上的巨大成功和技术上的越发不完善。表格成为流行的定位 hack技巧,网景的layer和MS的Dataatfld元素则不受公众欢迎。–> XML产生,前途光明。XHTML是由基于XML的DTD定义规则,前途未卜。

XML是从1996年开始有其雏形,并向 W3C(万维网联盟)提案,而在1998二月发布为W3C的标准(XML1.0)。 XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从60年代就开始发展的 GML(Generalized Markup Language)标准化后的名称。

GML的重要概念:

  • 文件中能够明确的将标示与内容区隔

  • 所有文件的标签使用方法均一致

1978年,ANSI将GML加以整理规范,发布成为SGML,1986年起为 ISO 所采用(ISO 8879),并且被广泛地运用在各种大型的文件计划中,但是SGML是一种非常严谨的文件描述法,导致过于庞大复杂(标准手册就有500多页),难以理解和学习,进而影响其推广与应用。

于是,人们对SGML进行了简化衍生出 HTML。HTML 简单,在初期没有任何定义文档外观的相关方法,仅用来在浏览器里显示网页文件。而后,随著因特网的发展,人们为了控制其文件样式,扩充了描述如何显现资料的标签。在 Netscape 与 Microsoft 之间的浏览器大战后,HTML 标准权威性遭受重大的考验,所幸,到了HTML 4.0时,W3C 又恢复了其地位。

同时W3C意识到HTML的原罪:

  • 不能解决所有解释资料的问题 - 像是影音档或化学公式、音乐符号等其他型态的内容。

  • 效能问题 - 需要下载整份文件,才能开始对文件做搜寻的动作。

  • 扩充性、弹性、易读性均不佳。

为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述资料语言:XML。 XML是在一个这样的背景下诞生的─是不是能有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的资讯?

而XML目的即在于提供一个对资讯能够做精准描述的机制,借以弥补 HTML 太过于表现导向的特质。

三,用途

XML非常适用于文档设计专业人员和研究者(用于公司文档资料编制如SUN的DocBook),web开发者(使用XHTML,XSLT,XPATH),数据库和面向对象程序设计(OOP)开发者(使用面向数据的XML)

  • 丰富文件(Rich Documents)- 自定文件描述并使其更丰富

  • o 属于文件为主的XML技术应用 o 标记是用来定义一块资料应该如何呈现

  • 解释资料(Metadata)- 描述其他文件或在线资讯

  • o 属于资料为主的XML技术应用 o 标记是用来说明一块资料的意义

  • 组态档案(Configuration Files)- 描述软件的组态参数

四,XML 的标准体系

与SGML 相关标准的体系相似XML 相关标准也可分为元语言标准基础标准应用标准三个层次如图所示 元语言标准meta-Language :定义的是用来描述标准的元语言,在XML 标准体系中就是XML 标准,XML 标准在XML 标准体系中与SGML 标准在SGML 标准体系中的地位相似,是整个体系的核心,其他XML 相关标准都是用它制定的或为其服务的 基础标准Foundation Standards :这一层次的标准是为XML 的进一步实用化制定的,标准规定了采用XML 制定标准时的一些公用特征方法或规则,在第一 小节中讨论的标准基本都属于这一层次 应用标准Application Standards: XML 已开始被广泛接受,大量的应用标准特别是针对internet 的应用标准,纷纷采用XML 进行制定,有人甚至认为XML标准是Internet 时代的ASCII 标准,在这个Internet 时代,几乎所有的行业领域都与Internet 有关,而这些行业一旦与Internet 发生关系,都必然要有其行业标准,这些标准往往是采用XML 来制定的,当前较为重要的应用标准主要包括 用于XML 显示的标准XHTML 采用XML 对HTML 的重新定义SVG 有关矢量图形的SMIL 有关多媒体同步显示的MathML 有关数学公式符号的 用于移动设备的标准CC/PP 移动设备的内容协商与信息交换HDML 手持设备WAP 无线应用设备VoiceXML 通过语音进行web 访问 用于电子商务领域的标准Micropayments W3C 制定的BizTalk Microsoft发起的电子商务的schema 库ebXML 联合国UN/CEFACT 小组和OASIS 共同发起的PIP 由诸多IT 业的巨子组成的一个标准化组织RosettaNet 的应用网络标准cXML xCBL tpaML 等等 其他领域的标准TV/web web 电视OEB 电子图书WAI(方便残障人进行Web 访问)

五,XML 基础

第1 章 数据建模

SGML/HTML 通常使用属性表示元数据(供印刷商或他们的软件使用),使用子元素标记中的文本表示内容(供文档读者使用)。但是一旦让SGML或XML 用于软件系统之间的数据交换,那么就无法区分是供机器或者人使用了,所以可以自由的选择使用元素和属性。因为实际应用中最常见的是将一个简单的特性扩展为 复杂的结构化特性,所以许多有经验的设计者认为最重要的因素是变化的潜力:随着应用程序的发展,是否能够扩展文档或隔绝消息这一因素,使得子元素优于属 性。

对于二进制数据的处理,假如用于XML 文档的显示的话基于URL 的方法是目前最简单的一种方法,如果用于文件的传送的话使用BASE64 编码应该比较有效

第2 章 DTD 模式

DTD(Document Type Definition,文档类型定义),用于定义XML文档的编写规则。如哪些元素可出现在文档中,及元素的内容和属性的要求等。应用程序会利用这个DTD对文档进行检验,符合DTD约束规则的XML文档称之为有效文档,可以进行下一步处理,否则会报错,应用程序可捕获该错误进行相应的异常处理。检验过程是可选,这要视具体应用而定。

第3 章 XML Schema模式和XML DR

1,XML Schema:从抽象数据模式上看XML Schema 的通用组成项是Schema 组件(Schema component) 。一个XML Schema 是许多Schema 组件的集合。共有12 类组件,他们可以分为3 组。 最基本的一组组件有:简单类型定义,复杂类型定义,属性声明,元素声明 次要一些的组件有:属性组定义,标识限定定义,模型组定义,记法声明 以上两组的组件都有名称可以单独地出现在Schema 的内容中而且可以被单独的访问,最后”helper”组件提供了其它组件的细小部分它们不能在Schema 中单独出现而且不能独立访问这些组件包括:注释模型组,粒子,通配符 2,XML DR:XML Data(XML数据)由于微软的大力倡导和支持而被许多人使用并用来开发原型甚至产品。XML DR是简化的XML Data( 一个子集),它连接着IE5 中的XML 解析器, XML Data 在有些命令方面还是和XML Schema模式很相像的 3,其它验证方式:Document Content Description for XML(xML文档内容描述,DCD),Schema for 0bject-oriented XML(面向对象XML模式.SQX),Document Definition Markup Language(文档定义标记语言,DDML) Specification, Version 1

第4 章 namespace (命名空间,名字空间,名称空间,名域):XML 名域机制采用了一种聪明简便的方法来指定名字空间,即直接用独一无二的网址代替名称空间,这样就不用担心XML 文档会发生混乱了,且可以让相应的公司为该网址下的DTD负责。

六,XML 与数据

第5 章 DOM(Document Object Model) 进阶:Document Node NodeList 以及NamedNodeMap 是DOM 规范中最主要的四个接口,通过这四个接口已经可以完成对XML 文档的绝大多数常用操作。DOM 适合于结构化编辑XML 文档,例如排序记录,移动和其他应用共享XML文档,但DOM 是整体装入和处理XML 文档,因此对于系统资源的占用很大效率低速度慢 第6 章 数据岛技术: 第7 章 XSL样式:XML 的样式表语言(可扩展样式表语言,Extensible Stylesheet Language ,XSL) ,通过对内容做标记来描述其意义从而使XML 显示与内容相分离。正如XML 介于HTML 和SGML之间一样,XSL 标准也介于CSS 和DSSSL 之间。而目前实际应用的是XSLT。

第8 章 SAX (Simple Application interface for XML,XML 简易应用程序编程接口,Simple API for XML)进阶:如读取相当大的XML 文档时,最好不用DOM 技术而使用SAX技术。) 它的接口风格完全不同于DOM 接口,采用了基于事件的方式来处理XML 文档。

第9 章 XML 与数据:虽然已经建立了大量的方法去完成任务,XML 和数据库之间仍然有很大的距离,但是可能在不久我们就能够很容易的控制数据库和XML 之间的信息交换了,而不再需要麻烦的通过控制节点来对XML 文档进行操作

XML 的存储:如果以XML文件作为存储系统的话存在文件系统本身在效率与功能上的局限性,可借助于关系数据库(DBMS),当然如果用OODBMS(面向对象的数据库)会更易理解但技术还不完善效率不足。关系数据库对单一的父子关系比较好模拟,可以按照一定的XML 的模式来实现数据库的存储。 利用XML 传送数据,可以不象ODBC等类似技术那样依赖于专有软件环境和被防火墙阻挡。现在的很多技术都支持XML 与数据库的连接,包括像ASP DOM SOAP XML-RPC 等

四,XML 工业应用

第9 章 WML(无线应用协议,Wireless Application Protocol):无线通信协议WML 则为无线通信通信提供了介质,通过编辑WML, 可以用手机像上网般浏览各类网站,可以说不久的将来WML 就像台式机所浏览的HTML 一样。

第10 章 SMIL(同步多媒体集成语言,Synchronous Multimedia Interchange Language):SMIL 采用RTSP 协议Real Time Streaming Protocol 实时流传输协议,用类似HTML的标记方式对Web 上多媒体展示的时间和布局控制进行了规定,安排了网页上的影像声音及文字各部分的时间流程,从而开创了Web 上多媒体的创作和展示的新阶段。

第11 章 XML 与电子商务:如MS主推的XML BizTalk 电子商务框架

第12 章 XML 扩展:XML 比较成熟的技术当属微软IE 的CDF (Channel Defination Format 是微软在IE4.0 上使用的XML 数据格式)通道定义格式和ForML 公式标记语言,数学标记语言MathML,可扩展矢量图形规范SVG(Scalable Vector Graphics) 。XML 在其它方面应用包括HDML(一种为小显示屏的手持设备提供定义类似于超文本内容的简单语言) OEB OSD(Open Software Description) EDI(Electronic Data Interchange) 等很多,当然更包括CXML 电子商务的应用

参考资料

XML初学进阶(HTML).rar 3198k XML编程从入门到精通(PDF).rar 7178k XML编程从入门到精通(希望版少章2)-教科书般.rar 6478k 无废话XMLl(PDF及源码)-通俗易懂入门首读.rar 1410k

XML及其技术指南

http://www.w3school.com.cn/smil/index.asp

SMIL 是一种易学的、类似 HTML、描述视听内容的语言。您学习本教程后,将了解到什么是 SMIL,如何创建基于多媒体内容的页面,其中包含了音频、视频、图片、文本以及其他媒介类型。

http://software.it168.com/manual/xml/xml_cn/default.asp.htm XML 指南 ACCESS 2003中的XML:Working with Microsoft Office Word 2003's XML Access 2003 Programming by Example with VBA, XML, and ASP Office.2003.XML Office 2003: XML Reference Schemas 《微软office vba》 Word 2003 Document Automation with VBA, XML, XSLT and Smart Documents XSD/XLST教程:双语: XSD(Schema)教程 简单实例: 如何定制 XSD 手动创建中级实例: XSD 实例 手工编写一个XML Schema(XSD)的实例 工具自动生成: 利用代码读取XML文档 创建带有关联的 XML 架构的 XML 文件 && 从 XML 文件创建 XML 架构 手动创建:用XMLspy绘制Schema 图文并茂的入门教程:初学XML,我的学习过程分享 创建XSL文档: XSLT Transform

在OFFICE中使用构架 |Microsoft Office Word 2003 对象模型中新增的 XML 功能 |Microsoft Office Word 2003 XML:备忘录样式示例 |与 XML 一起使用 Visual Basic 和 ASP 生成 Excel 2003 工作簿 |XML 和 Microsoft Office Word 2003:编写行程报告 |使用 Access 2003 对象模型的 XML 功能 |使用 XML 在 Microsoft Office 2003 中解除信息锁定

XML缩进输出,最简单的方法! 利用xslt对xml进行缩进格式化处理

非凡的Altova StyleVision,同源输出HTML,PDF,RTF