XML是什么,讲述XML基础知识 xml基础教程
减小字体增大字体
随着互联网的迅猛发展和普及,人们可以通过计算机与互联网联接,从世界各地实时的接收和发送大量、最新的信息,但在信息交换的过程中存在着一个突出的问题,就是多种多样的数据格式,给信息的有效使用带来了障碍。所以在信息时代,如何以最便捷、最可靠、最有效的方式获取所需的信息是一个很大的困扰。人们期待着能够找到一种可以描述任何逻辑关系的数据格式来统一电子数据的存储,从而不再因为数据格式的不统一而苦恼和困惑。目前,能够担当此任的就是xml(extensible markup language,可扩展符号化语言)。
可以说,xml的出现给数据交换带来了一场革命;xml的出现是至今为止最聪明的一种符号化语言;xml成为下一代网络发展的基石。
什么是XML?XML是EXtensible Markup Language的缩写。XML是一种类似于HTML的标记语言。XML是用来描述数据的。XML的标记不是在XML中预定义的,你必须定义自己的标记。XML使用文档类型定义(DTD)或者模式(Schema)来描述数据。XML使用DTD或者Schema后就是自描述的语言。RSS (Really Simple jkndication) 是一种用于发布和获取网络内容(例如头条新闻)的XML格式。使用RSS阅读器来阅读,你可以不用一个个去开页面,也能够很快地知道关注网络内容更新了没有。目前RSS有多个版本,如:0.90、0.91、0.92、0.93、0.94、1.0 和 2.0,而应用最广泛的有RSS 1.0 和 RSS 2.0 两个版本。XML和HTML的主要区别是什么。XML是用来存放数据的。
XML不是HTML的替代品,XML和HTML是两种不同用途的语言。XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。HTML是与显示信息相关的, XML则是与描述信息相关的。XML 什么也不做。XML 被设计成什么都不做的。也许看起来很难理解,但事实上XML确实什么都不做。XML只是用来组织、存储和发送信息的。下面的例子是Ordm给Lin的便条,使用的是XML格式:
<note> <to>Lin</to> <from>Ordm</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
这个便条有信息头,又信息主体,还包括发送人和接收人。尽管如此,这个XML文档仍然什么都不做,他只是用XML标记存储信息的文件。有人已经编写出来发送和接收并且显示这种格式信息的软件。XML是自由的、可以扩展的。XML标记并不是预先规定好的,你必须创造你自己的标记。在HTML文档中必须使用规则中定义好的标记。比如:<P><br><a></a>等等。XML允许你定义自己的标记以及文档结构。比如在上面例子中的"<to>"、"<from>"标记都不是在XML规范中事先定义好的。这些标记都是XML文档的作者“创造”出来的。
XML是HTML的补充。XML并不是HTML的替代品。XML并不是HTML的替代品,理解这一点非常重要。在将来的网页开发中,XML将被用来描述、存储数据,而HTML则是用来格式化和显示数据的。对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理信息的工具。XML在未来Web开发中的应用。XML无处不在。XML发展的非常迅速,这实在令人感到惊奇,有很多的软件开发商都采用了XML标准。我们相信,在未来的Web开发中,XML将和HTML一样受到重视,他们都是Web技术的基础。XML将成为最普遍的数据操纵和数据传输的工具。
xml诞生的背景
sgml介绍
说到xml,我们一定要先了解一下sgml (standard generalized markup language) 。sgml最初是由ibm开发的一种用于排版的符号化语言,称为gml。经过若干年的发展,1984年国际标准化协会(iso)开始对此提案进行讨论,于1986年正式承认sgml为国际标准规范(iso8879)。
图:xml作为电子数据交换的统一格式
sgml实际上是一种通用的文档结构描述符号化语言,主要用来定义文献模型的逻辑和物理类结构。一个sgml语言文件由三部分组成,即语法定义、文件类型定义dtd(definition type document)和文件实例。语法定义部分定义了文件类型定义和文件实例的语法结构;文件类型定义部分定义了文件实例的结构和组成结构的元素类型;文件实例是sgml语言程序的主体部分。
在sgml的实际使用中,每一个特定的dtd都定义了一类文件。因此,人们习惯上把具有某一特定dtd的sgml语言,称为某某符号化语言。这样sgml就成为那些派生语言的元语言。
html的出现
1989年,欧洲物理量子实验室(cern)的信息专家蒂姆·伯纳斯·李发明了超文本链接语言, 使用此语言能轻松地将一个文件中的文字或图形连到其它的文件中去,这就是html的前身。1991年,蒂姆·伯纳斯·李在cern定义了html语言的第一个规范,之后成为w3c组织为专门在互联网上发布信息而设计的符号化语言规范。可以说,html(hypertext markup language)是sgml的一个实例,它的dtd作为标准被固定下来。因此,html不能作为定义其它符号化语言的元语言。
作为world wide web的一个组成部分,html语言发展很快,在短短的几年里,它已历经了html1.0、html2.0和html3.0、html4.0等多个版本,同时dhtml (动态)、vhtml(虚拟)、shtml等也飞速发展起来。html以简单精练的语法、极易掌握的通用性与易学性,使web网页可以亲近于每一个普通人,互联网因此得以普及发展以至今日辉煌。
但是,目前的html还不稳定,不同的浏览器会产生不同的显示效果。此外 ,由于html对超级链接支持不足,并缺乏空间立体描述,处理图形、图像、音频、视频等多媒体能力较弱,图文混排功能简单,不能表示多种媒体的同步关系等缺点,也影响html的大规模应用以及用于复杂的多媒体数据处理。
xml的诞生
xml是由w3c于1998年2月发布的一种标准。它同样是sgml的一个简化子集,它将sgml的丰富功能与html的易用性结合到web的应用中,以一种开放的、自我描述方式定义了数据结构。在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。这样所组织的数据对于应用程序和用户都是友好的、可操作的。之后,w3c又用xml设计出一个与html4.01功能等价的语言,称为xhtml1.0 (extensible hyper text markup language)使之与html相兼容。
xml是sgml的一个子集,严格地讲,xml也还是sgml。与html不同的是xml有dtd,因而也可以像sgml那样作为元语言来定义其它文件系统,或称其它符号化语言。如果把符号化语言分为元符号化语言和实例符号化语言的话,sgml和xml都是元符号化语言,而html和由xml派生的xhtml都是实例符号化语言。
所以可以说,xml的出现,使html存在的问题可以得到很好的解决。
xml的特点
xml作为引人注目的核心技术应用于btob、web服务、.net等许多系统中。xml是it界谈话中不可缺少的一个关键词。因此,xml对于计算机工程师来说,是必不可少的一门知识。
xml可以作为电子数据交换的统一格式
10年来,web存储格式语言,从html发展到dhtml,直到今天最新的xml,发展的每一步,都是为了适应web应用发展的需求。虽然xml原本是为出版界设计的一种文档描述语言,即sgml派生而来的一种符号化语言,但是它也是为互联网的数据交换而设计的。从而,xml不仅仅是sgml定义的用于描述的文档,而且在电子商务等各个领域使数据交换成为可能。
xml能够应用于各种领域的原因,就是xml具有到目前为止其他方法所不具备的数据描述特点,控制信息不是采用应用软件的独有形式,而是采用谁都可以看得懂的标记形式来表现,所以xml最适合作为数据交换的标准,这也是 xml受人关注的原因。
用xml可以对数据关系进行定义形成特有的标准,因此各行各业都在建立自己的行业化标准,以应用于网络上处理电子商务,把后台系统通过web站点表现出来。xml还可以作为数据仓储,一个xml文件就是一个小的数据库,通过对数据关系的定义形成各种关系、属性的数据,实现数据交换、上下文检索、多媒体传输。
xml具有其他方法所不具备的数据描述特点
xml是以文本形式来描述的一种文件格式 由于xml是以文本形式描述的,所以适合于各种平台环境的数据交换。同样由于使用文本来描述内容,可以越过不同平台的障碍进行正常的数据交换。但是,文本形式也会因为文字代码的不同造成不能阅读的问题,在这一点上xml有着非常完美的解决方案。
xml使用有意义的标记(tag) 在xml中文件是由一个个称之为元素(element)的部件构成。使用标记(tag )来描述元素。由于使用了标记的描述方法,可以保持原数据的意思和构造在互联网上进行数据交换,进而可以保持不同系统之间数据交换的灵活性。
为什么具有上述的优点呢?首先是使用标记描述数据的话,可以具体指出开始元素(开始标记)、结束元素(结束标记),在开始和结束元素之间是要表现的元素数据。这就是用元素表现数据的方法。
标记可以作为子元素 xml中用标记符号化的元素可以作为子元素形成数据嵌套。
xml的标记名和关系可以自由定义 就像许多文章中介绍的那样“xml是用标记描述的语言”,而且xml的标记名标记的层次结构等都可以由用户定义。也就是说,根据xml语法可以定义用户特殊用途的标记集合形成一个全新的符号化语言。这就是xml“可扩充(extensible)”名字的来源。
可以说,xml是“定义语言的语言”,也即是一种元语言。由于xml具有元语言的功能,所以可以成为描述电子商务数据、多媒体演示数据、数学公式等各种各样数据应用语言的基础语言。下面提供几个以xml为基础生成的数据描述语言(本文亦称为xml应用语言)的应用例子,即出版媒体:open ebook(电子书籍)、newsml(新闻媒体);科学:mathml(数学表达式)、cml(化学);电子商务:cxml(电子商务)、fpml(金融);多媒体:smil(多媒体演示)、bml(卫星数据传送)。
另外,就像我们使用的自然语言,讲这种语言的人多了就会把它当作不认识的人之间的初次交流时的工具。同样,在特定的企业之间或在业界内归纳出一套标记集合,即约定用一套特定的xml应用语言作为交流工具是很有价值的。但是,许多xml用户都是用业界或集团标准化以后的应用语言,很少有人自己制作一套新的xml应用语言。
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、甚至到达手持电话机,将来我们可以通过网络数据格式转换服务使小小的手机可以阅读到大千世界的丰富信息。
更多阅读
手机刷机是什么意思 手机刷机线
刷机是什么意思刷机就是给智能手机重装系统,进行系统安装的操作。就像是给自己的电脑从新装系统一样,刷机的目的在于提高整机运行性能.升级原来的系统,能够修正系统bug让手机运行得更加稳定.更换自己喜欢的版本.删除官方手机自带的一
红宝书是什么???? 新东方红宝书是什么
红宝书是什么????——简介在考研中,有不少人被卡在英语上,而且一些导师会倾向于选择英语比较好的考生,然而英语却是一科不能撒手的学问,假若放几个月假,水平就大不如前,相信准备考研的朋友,应该有一大部分人已经将英语放置很久了。所以英语一定
sadu.exe是什么 360sadu
sadu.exe是什么 网友求助:他的电脑在开机的时候进程管理器中出现了sadu.exe这样的程序,不解于是咨询到pc电脑知识,问sadu.exe是什么?而且他的杀毒软件卡巴斯基列为不信任文件,360等会报毒。 ? ? 其实这个问
空调漏水的原因空调漏水是什么原因 什么问题 空调漏水是什么原因
引起空调漏水的原因有很多,本文介绍一下有关于这方面的知识,希望对大家有帮助。空调漏水的原因(空调漏水是什么原因)什么问题——步骤/方法空调漏水的原因(空调漏水是什么原因)什么问题 1、室内机漏水原因:空调漏水的原因(空调漏水是什么
htc是什么牌子?htc手机怎么样? 好先生手机是什么牌子
htc是什么牌子?htc手机怎么样?——简介htc是什么牌子?很多人都见过这个标志,但却并不熟悉它到底是什么品牌,下面就为大家介绍一下相关知识,请你关注!htc是什么牌子?htc手机怎么样?——方法/步骤htc是什么牌子?htc手机怎么样? 1、其实htc就