XML学习教程.docx
- 文档编号:29771495
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:30
- 大小:41.81KB
XML学习教程.docx
《XML学习教程.docx》由会员分享,可在线阅读,更多相关《XML学习教程.docx(30页珍藏版)》请在冰豆网上搜索。
XML学习教程
XML学习教程
XML学习进阶1--什么是XML3
1为什么使用XML?
4
2什么是XML?
5
3数据的结构表示5
4XML文档6
5数据是从表示和处理中分离出来的10
6使XML数据自描述10
7XML数据处理12
8开放式标准12
9从XML中受益14
10前景15
XML学习进阶2--XML标准17
XML标准18
1W3C建议(Recommendations)18
2W3CProposedRecommendations(W3C提出的建议)20
3W3CWorkingDrafts(工作草案)20
4W3C"Notes"(注释)22
5其它W3CNotes22
6在XML基础上建立的标准23
XML学习进阶3--XML使用方案25
1XML使用内容26
2XML的使用方案26
a)数据自我描述:
(Defination)26
b)数据分析:
(Parser)27
c)数据显示:
(Presentation)28
XML学习进阶1--什么是XML
关键词:
SGML,HTML,XML,SAX,DOM,XSL,DTD,Schema,DCD,RDF,CSS,W3C,Xpath,Xlink,SVG,VRML
摘要:
可扩展标记语言或者简称XML,是Web应用的一种新技术,是万维网联盟(W3C)制定的的标准。
XML简化了网络中数据交换和表示,使得代码、数据和表示可以分离,可以作为数据交换的标准格式。
就这点而言,XML被称为智能数据文档。
本文概述了XML是什么、它产生的原因以及为什么它对表示和交换数据来说是极有价值和益处的技术。
缩略语清单:
SGMLStandardGeneralizedMarkupLanguage
HTMLHyperTextMarkupLanguage
XMLExtensibleMarkupLanguage
SAXSimpleAPI
DOMDocumentObjectModel
XSLExtensibleStylesheetLanguage,可扩展样式语言
DTDDocumentTypeDefinition,文档类型声明
DCDDocumentContentDeclaration
RDFResourceDescriptionFormat
CSSCascadingStyleSheets
XSLTExtensibleStylesheetLanguageTransformations
XpathXMLPathLanguage
XlinkeXtensibleLinkLanguage,可扩展链接语言
W3CworldWebConsortium,web技术标准化集团
SVGScalableVectorGraphics
VRMLVirtualRealityMarkupLanguage
参考资料清单:
参考资料清单
名称
作者
编号
发布日期
查阅地点或渠道
出版单位
XML—网络时代的娇子
XML技术网
为什么使用XML
MicrosoftMSDN
XML的基本理论_
河南众通信息技术有限公司_
MicrosoftOnlineXMLdevelopmentCentre
1为什么使用XML?
Web使我们能够与任何地方的任何人通讯。
广泛接受的标准(这对完全使用Web的潜力是至关重要的)允许Web在多种交互操作的技术层上通讯。
一个重要层是可视化显示和用户界面,例如HTML、GIF和JScript(TM)之类的现有标准。
这些标准允许创建一次页面,并且在不同时间向众多接收者显示。
尽管可视化和用户界面标准是必要层,但它们并不足以表示和管理数据。
当前,Internet只是文本和图片的访问媒体。
并没有智能搜索、数据交换、自适应表示和个人化的标准。
Internet必须超出设置信息访问和显示标准的限制。
Internet必须设置信息理解标准(表示数据的通用方式),以便软件能够更好地搜索、移动、显示和处理上下文中隐藏的信息。
由于HTML是一种描述如何表示Web页的格式,所以HTML并不能完成以上处理;HTML并不表示数据,它能够也只能够描述数据的显示格式。
例如,HTML不能:
•允许医药实验室以所有接收者均能分析的格式发表统计信息。
•以所有接受者均能解码和处理的表格描述电子支付。
•提供搜索法律图书馆中有关某一主题的所有诉讼文档的标准方式。
•指定以何种方式传送公司目录中的信息,以便销售人员可以脱机工作、向客户显示目录、接受定单并以标准格式上载这些定单。
简而言之,尽管HTML提供了用于显示的丰富工具,但HTML并没有提供任何基于标准的管理数据的方式。
正如数年前用于显示的HTML标准扩展了Internet一样,数据标准亦将扩展Internet。
数据标准将是商业交易、公布个人喜爱的配置文件、自动协作和数据共享的工具。
将以此格式编写制药研究数据、半导体部件图以及采购定单。
这将开创众多新用途,这些新用途均基于在Web上到处移动结构数据的标准表示,正如当前我们移动HTML页一样容易。
数据标准是XML和XML扩展名。
2什么是XML?
WorldWideWebConsortium(W3C)对XML进行了如下描述:
"ExtensibleMarkupLanguage,缩写为XML,描述了一类被称为XML文档的数据对象,并部分描述了处理它们的计算机程序的行为。
XML是SGML(StandardGeneralizedMarkupLanguage[ISO8879])的一个应用实例或一种受限形式。
从结构上说,XML文档顺从SGML文档标准。
"
Microsoft对XML的定义是:
StandardGeneralizedMarkupLanguage(SGML)的简化子集,专门为Web应用程序而设计。
XML提供描述不同类型数据的标准格式——例如,约会记录、购买定单、数据库记录——从而可一致而正确地解码、管理和显示信息。
XML提供表示数据的文件格式、描述数据结构的计划、以及用语义信息扩展和注释HTML的机制。
总而言之,XML是一种元标注语言,该语言提供一种描述结构数据的格式。
这有助于更精确地声明内容,方便跨越多种平台的更有意义的搜索结果。
此外,XML将起用新一代的基于Web的数据查询和处理应用程序。
3数据的结构表示
XML提供可以广泛执行并易于配置的数据的结构表示。
XML是万维网协会(W3C)定义的用于优化Web上的传输的SGML的子集,XML确保结构数据是一致的并独立于应用程序或供应商。
XML提供可以编码各种情况(从简单至复杂)的内容、语义和架构的数据标准,可被用于标注以下对象:
•普通文档。
•诸如约会记录或采购定单之类的结构记录。
•具有数据和方法的对象,如Java对象或ActiveX控件的持续型表单。
•数据记录,如查询的结果集。
•有关Web站点的元内容,如“频道定义格式(CDF)”。
•图形表示,如应用程序的用户界面。
•标准架构实体和类型。
•Web上的信息与用户之间的所有链接。
一旦该数据在客户机桌面上,就可以在多个视图中处理、编辑和表示它,而无需返回到服务器。
由于较低的计算量和带宽负载,所以目前的服务器更易于升级。
此外,由于以XML格式交换数据,所以可以轻而易举地合并来自不同来源的数据。
XML对Internet和大型企业的Intranet环境是颇有价值的,这是由于XML提供使用灵活、开放、基于标准格式的互用性,并具备访问遗留数据库和将数据传输到Web客户机的新方式。
可以更快地生成应用程序,应用程序更易于维护,并且可以在结构数据上轻易提供多种视图。
4XML文档
XML是一种基于文本的格式,在许多方面类似于HTML,后者是专为存储和传输数据而设计的。
XML源是由XML元素组成的,每个XML元素包括一个开始标记(
就象HTML一样,XML文档保存利用标记注释的文本。
然而,与HTML不同的是,XML允许无限的标记集,各标记集并不表示如何显示,而是表示其含义。
例如,可以将XML元素标记为价格、订单编号或名称。
由文档的作者确定使用何种数据以及哪种标记名称最合适。
标记是对了文档存储格式和逻辑结构的描述。
在形式上,标记有以下各种可能项:
注释、引用、字符数据段、起始标记、结束标记、空元素、文档类型声明(DTD)和序言。
很容易创建XML文档。
如果您熟悉HTML,那么您可以很快地学会采用XML格式进行编写。
在该示例中,利用XML描述天气预报,可以用XML的扩展名保存该文件,如Weather.xml。
00
各标记表示各数据项的含义(是否为<日期>元素、<区域>元素等等),而并不描述显示数据的次序和形式。
此数据的所有接收者均可将该文档解码,以便用于自己的特定目的。
例如,某人可以利用该信息制定当天的计划,而气象研究员可以将其作为南京的历史记录。
每个XML文档都有一个逻辑结构和物理结构。
从物理角度来看,文档由实体单元组成,一个实体也可以在其他文档的实体中被引用。
一个文档以一个根元素或文档实体来开始。
从逻辑上讲,文档由声明(declaration)、元素(element)、注释(comment)、字符引用(characterreference)和处理说明(processinginstruction)组成。
这些组成部分在文档的标记中必须明确规定。
物理结构从另一角度来规范XML文档。
文档的起始标记和结束标记对数据进行结构化组织,并确定了元素的范围和相互之间的关系。
在XML文档中,除标记之外就是字符数据。
一般的字符用其本身来表示,但这不适用于XML中的保留字符。
例如,字复符"&"和"<"只能作为标记定界符,或在注释、处理指令和CDATA字段中直接使用,其他情况下则需要用字符引用或特定的字符串来表示。
这类字符是XML的预定义实体。
常见的预定义实体见下表:
表1XML预定义实体
字符
名称
实体引用
&
Ampersand
&
>
Greaterthan
>
<
Lessthan
<
'
Apostrophe
'
"
Quotationmark
"
例如,如果要表示"a
"a"、"'"和""",它们的名称分别为amp、lt、gt、apos和quot。
因此,如果要在元素中引用这些实体,就必须写成":
&"、"<"、">"、"'"和"""。
字符引用代表了ISO/IEC10646字符集中的一个特定字符,它是一个十六进制代码。
如果XML文档需要引用现有设备不能直接输入的字符(比如回车),则必须用字符引用来代表。
XML文件也可以对一个处理XML数据的应用提供处理信息,即处理说明,其格式为:
"
目标应用名instructions?
>"。
例如,
xmlversion="1.0"?
>就是一种处理指令。
解析器通过它得知该文档应当遵循XML1.0标准。
XML文件可以对不同应用提供不同处理说明。
引用预定义实体或字符非常方便,而且计算机处理也十分容易,但去读一懂大堆像"&&"、"#xNNNN;"这样枯燥的数据确实是一件烦琐的事;在写文档时也得面临同样的问题,你必须化精力去寻找这些字符实体,然后将特殊字符替换为字符引用。
以"
[CDATA"开始并以"]]>"结束的字符数据段(CDATASection)凌驾于解析器之上,其中的内容将不被解析。
字符数据段中除了不能有结束标志"]]>"外,可以包括任意字符序列。
例如,标记化的文本可以直接放在字符数据段中而不会被解释为结构化的标记。
我们可以在字符数据段中包含一段HTML代码,也可以在字符数据段中添加编程语言代码。
字符数据段为XML的后续处理提供了编程接口。
例如,我们可以在XML的样式语言XSL中采用ECMAScript脚本语言编写灵活丰富的应用。
XML文件总有一个"序言(prolog)"声明该文件为XML文档,例如(
xmlversion="1.0"?
>)。
该序言也可以包含附加信息,如:
xmlversion="1.0"encoding="ISO-8859-1"standalone="yes"?
>
Prolog的属性包括:
版本、编码以及是否独立,后者指明该文档是否引用一个外部实体或外部数据类型。
另外还可以直接包含本来在DTD中声明的实体定义和规范。
从上面的介绍,我们可以看出,XML有以下几个特点:
●XML文档是纯文本,因此可用从文本编辑器直到可视化开发环境的任何工具创建和编辑,程序可以更简单,而在需要存储大量数据的场合,一个数据库的XML前端就可以满足需要,因此XML提供了从小配置文件到公司级数据仓库的可扩展性。
●基于内容的数据标识,因而可被不同程序用于不同用途。
●可格式化。
在显示很重要的时候,XSL可指定如何显示数据。
由于数据和显示是分离的,甚至可以为同一数据指定不同的样式表用于不同输出,并很容易在将来使用新的格式。
●具有很强的链接能力,可以定义双向链接、多目标链接、扩展联结和两个文档间的链接。
●易于处理。
XML对格式的定义更为严格,并具有层次结构,处理起来更加容易。
它是与厂商无关的标准,可以任选一个解析器来处理。
您可以在XML中定义无限的标记集。
虽然可以使用HTML标记以粗体或斜体的方式显示文字,但XML可提供一个用于标记结构数据的框架。
XML元素可以将其关联数据声明为零售价格、营业税、书名、降雨量或其他任何需要的数据元素。
随着整个组织以及Internet上的其他用户采用XML标记,将出现搜索和处理数据的相应能力,而不管发现该数据的应用程序如何。
一旦定位了数据,就可以在网络上传送并以多种方式在浏览器中显示,或者传送到其他应用程序以供进一步处理和查看。
标记表示一块数据。
通常,它对应于某个表中的某个字段。
然而,这并不是必要的。
标记可以是一个计算列(价格乘以数量)。
没有理由认为一个XML文件表示某个表中的所有数据。
正像通常看到的那样,XML将表示包括许多表的查询结果。
只要接收应用程序能够搞清XML中的数据的意思,数据是从哪里来的以及该数据如何到达XML文件并不重要。
5数据是从表示和处理中分离出来的
XML的优势在于,它保持了用户界面和结构数据之间的分离。
HTML指定如何在浏览器中显示数据,而XML则定义内容。
在HTML中,使用标记告诉浏览器以粗体或斜体的方式显示数据;而在XML中,只使用标记来描述数据,如城市名、温度和气压。
在XML中,使用诸如“扩展样式语言(XSL)”和“层叠样式表(CSS)”之类的样式表,来表示浏览器中的数据。
XML把数据从表示和处理中分离出来,使您可通过应用不同的样式表和应用程序,来按您的愿望显示和处理数据。
把数据从表示中分离出来,能够无缝集成众多来源的数据。
可以将用户信息、采购定单、研究结果、帐单支付、医疗记录、目录数据以及其他来源转换为中间层上的XML,以便像HTML页显示数据一样很容易地联机交换数据。
然后可以在Web上将按照XML编码的数据传送到桌面。
对于大型数据库或文档中存储的遗留信息无需进行更新,并且由于使用了HTTP在网络上传送XML,所以此功能不需要更改。
XML在采用简单、柔性的标准化格式表达和在应用间交换数据方面迈出了一大步。
HTML提供了显示数据的通用方法;XML则提供了直接在数据上工作的通用方法。
XML的威力在于将用户界面和结构化数据相分离,允许不同来源数据的无缝集成和对同一数据的多种处理。
从数据描述语言的角度看,XML是灵活的、可扩展的、有良好的结构和约束;从数据处理的角度看,它足够简单且易于阅读,几乎和HTML一样易于学习,同时又易于被应用程序处理,因此,XML必将带来下一代网络应用技术的革命。
6使XML数据自描述
在XML中,“文档类型定义(DTD)”可以伴随文档,且文档类型定义实质上定义文档的规则,例如哪些元素可被显示以及元素之间的结构关系。
当接收应用程序没有传入数据的内部描述时,DTD将帮助验证该数据。
然而,在XML中,DTD是可选的。
与DTD一起发送的数据称为有效XML。
此时,XML语法分析程序应对照DTD中定义的规则校正传入的数据,以确保该数据被正确构造。
没有与DTD一起发送的数据称为结构良好的XML。
这里,可以使用基于XML的文档实例,如以上显示的层次结构气象数据,可用来隐含地描述它自己。
对于有效XML和结构良好的XML,XML编码的数据是自描述的,这是由于描述标记和数据是混合的。
XML使用开放的、灵活的格式,在任何需要交换和传送信息的地方均可使用XML,这使得XML功能更加强大。
例如,可以使用XML描述有关HTML页的信息,或使用XML描述商业规则中包含的数据或电子商务交易中的对象,如发票、采购定单和定货单。
由于XML是与HTML分离的,所以可以将XML添加到HTML文档中。
W3C定义了一种格式,根据该格式,可以将基于XML的数据或XML数据岛封装到HTML页中。
通过将XML数据岛嵌入到HTML页中,并使用XML中包含的语义信息,就可以根据传送的数据生成多个视图。
此外,还可以使用XML强制应用程序,如分布式打印、数据库搜索及其他程序。
DTD本身规定了有限的XML文档规则,这与XML的初衷有所违背:
XML采用可扩展的标记希望能够表示各种数据,但DTD又规定了有限的XML文档规则,限制了XML文档。
架构(Schema)是XML文档规则的正式规格,即元素名称,架构表示文档中允许哪些元素以及允许哪些组合。
如XML数据工作组(英文)中定义的新架构语言,符合W3C的“XML数据和文档内容说明(DCD)”建议提供了和DTD一样的功能。
但是,这些架构是可扩展的,所以开发人员可用附加的信息(诸如那些数据类型、继承和演示文稿规则)来扩展它们。
这使得这些新的架构语言在功能上比DTD强大得多。
除了XML数据和DCD外,Microsoft和其他公司还建议用XML自身来表达XML文档架构的词汇。
这使XML数据能够描述它自己的结构。
表达XML内部的架构给XML格式添加了巨大的能量,因为它使检查某些数据的软件了解它的结构成为可能,而不用任何事先内建数据结构的描述。
使用架构,作者正好可以定义在文档中允许什么样的元素名,以及在每个元素中允许什么样的子元素、属性和关系。
作者可从其他架构中引入片断,以及通过继承来扩展类型。
于是,在保留了词汇树结构简单性的同时,还允许元素间的复杂关系。
作者可以发明他们自己的架构,或者共享别的作者创建的架构。
读者可以检查架构参考以检验已经收到的文档的类型是否正确。
他们还可以使用架构中的信息来自动检验文档的结构。
想使用XML的公司,需要一个寻找关于其他公司和应用程序支持的架构、文档和公司进程的信息的简单办法。
想象一下消费者要付出的巨大代价,相当于每一家公司都要定义它自己的发布信息的方法。
即使是Web,建立和维护Web站点的费用也超出了某些公司的能力。
有无数的公司可以发布他们的信息,但是缺少如何用安全的、可控的方式来发布这些信息的标准,这势必导致成千上万种不同的执行方法、导航方式和内容深度。
允许这种“混乱”状态泛滥的成本负担将波及消费者。
Microsoft已经选择了通过创建和管理http:
//www.biztalk.org(英文),来最大限度克服此问题。
该站点将成长为定位、管理、学习和发布使用在成千上万应用程序中的XML、XSL和信息模型的大门。
7XML数据处理
XML不仅规定了如何表示和显示数据,还提供了标准的API供处理XML数据,这也就是我们称之为智能数据或数据标准的原因。
SAX(TheSimpleAPIforXML)是基于事件的XML分析API,功能比较简单。
这一API是事件驱动的,又称"顺序访问"协议。
每当它看到一个新的XML标记(或遇到一个错误,或想告诉你什么事时)就用一个SAX解析器注册你的句柄,激活你的回调方法。
DOM定义了分析程序应当显露的标准命令集,使您能够在程序中访问HTML和XML文档内容。
支持DOM的XML分析程序取出XML文档中的数据,并通过一组可以对它编程的对象来显露它。
DOM将一个XML文档转换成你程序中的一个对象集合。
然后你可以任意处理对象模型。
这一机制也称为"随机访问"协议,因为你可以在任何时间访问数据的任何一部分,然后修改、删除或插入新数据。
DOM的特点是功能强大,但分析时间长,占用资源多。
SAX提供了处理XML文档的快速、低内存的另一种方法。
在使用DOM分析XML文件时,它在内存中建立了完整的文档树。
相比而言,SAX将遍历文档,并将新元素的开始或结束等通知分析事件的调用应用程序。
使用SAX的一个最佳功能是分析长文档。
例如,用SAX分析器,应用程序可以监视发生的事件,只将文档中必要的部分读入内存。
8开放式标准
XML是基于经过验证的、针对Web进行优化的技术标准。
Microsoft正在与其他大公司和W3C研究小组共同努力,确保对工作在多系统和多浏览器上的开发人员、作者和用户的互用性和支持,并不断加强XML标准。
XML是由下列相关标准组成:
可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML 学习 教程