1 为何使用 XML?... 3html
5 数据是从表示和处理中分离出来的... 7apache
1 W3C 建议(Recommendations)... 15
2 W3CProposed Recommendations(W3C提出的建议)... 16
3 W3CWorking Drafts(工做草案)... 16
关键词:SGML, HTML,XML,SAX,DOM,XSL,DTD,Schema,DCD, RDF,CSS,W3C,Xpath,Xlink,SVG,VRML
摘 要: 可扩展标记语言或者简称XML,是Web应用的一种新技术,是万维网联盟(W3C) 制定的的标准。XML简化了网络中数据交换和表示,使得代码、数据和表示能够分离,能够做为数据交换的标准格式。就这点而言,XML被称为智能数据文档。本文概述了 XML 是什么、它产生的缘由以及为何它对表示和交换数据来讲是极有价值和益处的技术。
缩略语清单:
SGML Standard GeneralizedMarkup Language
HTML Hyper Text MarkupLanguage
XML Extensible MarkupLanguage
SAX Simple API
DOM Document Object Model
XSL Extensible StylesheetLanguage,可扩展样式语言
DTD Document Type Definition,文档类型声明
DCD Document ContentDeclaration
RDF Resource DescriptionFormat
CSS Cascading StyleSheets
XSLT Extensible StylesheetLanguage Transformations
Xpath XML Path Language
Xlink eXtensible LinkLanguage,可扩展连接语言
W3C world Web Consortium,web技术标准化集团
SVG Scalable Vector Graphics
VRML Virtual Reality MarkupLanguage
参考资料清单:
参考资料清单 |
|||||
名称 |
做者 |
编号
|
发布日期 |
查阅地点或渠道
|
出版单位 |
XML—网络时代的娇子 |
XML技术网 |
|
|
http://www.chinaasp.com/xml/ |
|
为何使用XML |
Microsoft MSDN |
|
|
http://www.microsoft.com/china/msdn/technic/xml/general/whyxml.asp |
|
XML的基本理论_ |
河南众通讯息技术有限公司_ |
|
|
http://www.wangcn.com |
|
Microsoft Online XML development Centre |
|
|
|
http://msdn.microsoft.com/xml/default.asp |
|
Web 使咱们可以与任何地方的任何人通信。普遍接受的标准(这对彻底使用 Web 的潜力是相当重要的)容许 Web 在多种交互操做的技术层上通信。一个重要层是可视化显示和用户界面,例如 HTML、GIF 和JScript(TM) 之类的现有标准。这些标准容许建立一次页面,而且在不一样时间向众多接收者显示。
尽管可视化和用户界面标准是必要层,但它们并不足以表示和管理数据。当前,Internet 只是文本和图片的访问媒体。并无智能搜索、数据交换、自适应表示和我的化的标准。Internet 必须超出设置信息访问和显示标准的限制。Internet 必须设置信息理解标准(表示数据的通用方式),以便软件可以更好地搜索、移动、显示和处理上下文中隐藏的信息。因为 HTML 是一种描述如何表示 Web 页的格式,因此 HTML 并不能完成以上处理;HTML 并不表示数据,它可以也只可以描述数据的显示格式。例如,HTML 不能:
Ÿ 容许医药实验室以全部接收者均能分析的格式发表统计信息。
Ÿ 以全部接受者均能解码和处理的表格描述电子支付。
Ÿ 提供搜索法律图书馆中有关某一主题的全部诉讼文档的标准方式。
Ÿ 指定以何种方式传送公司目录中的信息,以便销售人员能够脱机工做、向客户显示目录、接受定单并以标准格式上载这些定单。
简而言之,尽管 HTML 提供了用于显示的丰富工具,但 HTML 并无提供任何基于标准的管理数据的方式。正如数年前用于显示的 HTML 标准扩展了 Internet 同样,数据标准亦将扩展 Internet。 数据标准将是商业交易、公布我的喜好的配置文件、自动协做和数据共享的工具。将以此格式编写制药研究数据、半导体部件图以及采购定单。这将开创众多新用途,这些新用途均基于在 Web 上处处移动结构数据的标准表示,正如当前咱们移动 HTML 页同样容易。数据标准是 XML 和 XML 扩展名。
World Wide Web Consortium (W3C)对XML进行了以下描述:"Extensible Markup Language,缩写为 XML,描述了一类被称为XML文档的数据对象,并部分描述了处理它们的计算机程序的行为。XML是SGML (Standard Generalized Markup Language [ISO 8879])的一个应用实例或一种受限形式。从结构上说,XML文档顺从SGML文档标准。"
Microsoft 对 XML 的定义是:
Standard Generalized Markup Language (SGML) 的简化子集,专门为 Web 应用程序而设计。XML 提供描述不一样类型数据的标准格式 —— 例如,约会记录、购买定单、数据库记录 —— 从而可一致而正确地解码、管理和显示信息。XML 提供表示数据的文件格式、描述数据结构的计划、以及用语义信息扩展和注释 HTML 的机制。
总而言之,XML 是一种元标注语言,该语言提供一种描述结构数据的格式。这有助于更精确地声明内容,方便跨越多种平台的更有意义的搜索结果。此外,XML 将起用新一代的基于 Web 的数据查询和处理应用程序。
XML 提供能够普遍执行并易于配置的数据的结构表示。XML 是 万维网协会(W3C) 定义的用于优化 Web 上的传输的 SGML 的子集,XML 确保结构数据是一致的并独立于应用程序或供应商。
XML 提供能够编码各类状况(从简单至复杂)的内容、语义和架构的数据标准,可被用于标注如下对象:
Ÿ 普通文档。
Ÿ 诸如约会记录或采购定单之类的结构记录。
Ÿ 具备数据和方法的对象,如Java 对象或 ActiveX 控件的持续型表单。
Ÿ 数据记录,如查询的结果集。
Ÿ 有关 Web 站点的元内容,如“频道定义格式 (CDF)”。
Ÿ 图形表示,如应用程序的用户界面。
Ÿ 标准架构实体和类型。
Ÿ Web 上的信息与用户之间的全部连接。
一旦该数据在客户机桌面上,就能够在多个视图中处理、编辑和表示它,而无需返回到服务器。因为较低的计算量和带宽负载,因此目前的服务器更易于升级。此外,因为以 XML 格式交换数据,因此能够垂手可得地合并来自不一样来源的数据。
XML 对 Internet 和大型企业的 Intranet 环境是很有价值的,这是因为 XML 提供使用灵活、开放、基于标准格式的互用性,并具有访问遗留数据库和将数据传输到 Web 客户机的新方式。能够更快地生成应用程序,应用程序更易于维护,而且能够在结构数据上轻易提供多种视图。
XML 是一种基于文本的格式,在许多方面相似于 HTML,后者是专为存储和传输数据而设计的。XML 源是由 XML 元素组成的,每一个 XML 元素包括一个开始标记(<title>),一个结束标记(</title>)以及两个标记之间的信息(称为内容)。就象 HTML 同样,XML 文档保存利用标记注释的文本。然而,与 HTML 不一样的是,XML 容许无限的标记集,各标记集并不表示如何显示,而是表示其含义。例如,能够将 XML 元素标记为价格、订单编号或名称。由文档的做者肯定使用何种数据以及哪一种标记名称最合适。
标记是对了文档存储格式和逻辑结构的描述。在形式上,标记有如下各类可能项:注释、引用、字符数据段、起始标记、结束标记、空元素、文档类型声明(DTD)和序言。
很容易建立 XML 文档。若是您熟悉 HTML,那么您能够很快地学会采用 XML 格式进行编写。在该示例中,利用 XML 描述天气预报,能够用 XML 的扩展名保存该文件,如 Weather.xml。
<weather-report>
<date>2001 年 1 月 1 日</date>
<time>08:00</time>
<area>
<city>南京</city>
<state>江苏</state>
<region>东部</region>
<country>中国</country>
</area>
<measurements>
<skies>局部多云</skies>
<temperature>-3</temperature>
<wind>
<direction>西北</direction>
<windspeed>3</windspeed>
</wind>
<h-index>51</h-index>
<humidity>87</humidity>
<visibility>10</visibility>
<uv-index>1</uv-index>
</measurements>
</weather-report>
各标记表示各数据项的含义(是否为 <日期> 元素、<区域> 元素等等),而并不描述显示数据的次序和形式。此数据的全部接收者都可将该文档解码,以便用于本身的特定目的。例如,某人能够利用该信息制定当天的计划,而气象研究员能够将其做为南京的历史记录。
每一个XML文档都有一个逻辑结构和物理结构。从物理角度来看,文档由实体单元组成,一个实体也能够在其余文档的实体中被引用。一个文档以一个根元素或文档实体来开始。从逻辑上讲,文档由声明(declaration)、元素(element)、注释(comment)、字符引用(character reference)和处理说明(processinginstruction)组成。这些组成部分在文档的标记中必须明确规定。物理结构从另外一角度来规范XML文档。文档的起始标记和结束标记对数据进行结构化组织,并肯定了元素的范围和相互之间的关系。
在XML文档中,除标记以外就是字符数据。通常的字符用其自己来表示,但这不适用于XML中的保留字符。例如,字复符"&"和"< "只能做为标记定界符,或在注释、处理指令和CDATA字段中直接使用,其余状况下则须要用字符引用或特定的字符串来表示。这类字符是XML的预约义实体。常见的预约义实体见下表:
表1 XML预约义实体
字符 |
名称 |
实体引用 |
& |
Ampersand |
& |
> |
Greater than |
> |
< |
Less than |
< |
' |
Apostrophe |
' |
" |
Quotation mark |
" |
例如,若是要表示"a< b",就必须写成:" a"、" '"和""",它们的名称分别为amp、lt、gt、apos和quot。所以,若是要在元素中引用这些实体,就必须写成":&"、"<"、">"、"'"和"""。
字符引用表明了ISO/IEC 10646字符集中的一个特定字符,它是一个十六进制代码。若是XML文档须要引用现有设备不能直接输入的字符(好比回车),则必须用字符引用来表明。
XML文件也能够对一个处理XML数据的应用提供处理信息,即处理说明,其格式为:"< ?目标应用名 instructions? >"。例如,< ?xml version="1.0" ? >就是一种处理指令。解析器经过它得知该文档应当遵循XML 1.0标准。XML文件能够对不一样应用提供不一样处理说明。
引用预约义实体或字符很是方便,并且计算机处理也十分容易,但去读一懂大堆像"&&"、"#xNNNN;"这样枯燥的数据确实是一件烦琐的事;在写文档时也得面临一样的问题,你必须化精力去寻找这些字符实体,而后将特殊字符替换为字符引用。以"< ![CDATA"开始并以"]] >"结束的字符数据段(CDATASection)凌驾于解析器之上,其中的内容将不被解析。字符数据段中除了不能有结束标志"]] >"外,能够包括任意字符序列。例如,标记化的文本能够直接放在字符数据段中而不会被解释为结构化的标记。咱们能够在字符数据段中包含一段HTML代码,也能够在字符数据段中添加编程语言代码。
字符数据段为XML的后续处理提供了编程接口。例如,咱们能够在XML的样式语言XSL中采用ECMAScript脚本语言编写灵活丰富的应用。
XML文件总有一个"序言(prolog)"声明该文件为XML文档,例如(< ?xml version="1.0"? >)。该序言也能够包含附加信息,如:
< ?xml version="1.0" encoding="ISO-8859-1"standalone="yes"? >
Prolog的属性包括:版本、编码以及是否独立,后者指明该文档是否引用一个外部实体或外部数据类型。另外还能够直接包含原本在DTD中声明的实体定义和规范。
从上面的介绍,咱们能够看出,XML有如下几个特色:
l XML文档是纯文本,所以可用从文本编辑器直到可视化开发环境的任何工具建立和编辑,程序能够更简单,而在须要存储大量数据的场合,一个数据库的XML前端就能够知足须要,所以XML提供了从小配置文件到公司级数据仓库的可扩展性。
l 基于内容的数据标识,于是可被不一样程序用于不一样用途。
l 可格式化。在显示很重要的时候,XSL可指定如何显示数据。因为数据和显示是分离的,甚至能够为同一数据指定不一样的样式表用于不一样输出,并很容易在未来使用新的格式。
l 具备很强的连接能力,能够定义双向连接、多目标连接、扩展联结和两个文档间的连接。
l 易于处理。XML对格式的定义更为严格,并具备层次结构,处理起来更加容易。它是与厂商无关的标准,能够任选一个解析器来处理。
您能够在 XML 中定义无限的标记集。虽然可使用 HTML 标记以粗体或斜体的方式显示文字,但 XML 可提供一个用于标记结构数据的框架。XML 元素能够将其关联数据声明为零售价格、营业税、书名、降雨量或其余任何须要的数据元素。随着整个组织以及 Internet 上的其余用户采用 XML标记,将出现搜索和处理数据的相应能力,而无论发现该数据的应用程序如何。一旦定位了数据,就能够在网络上传送并以多种方式在浏览器中显示,或者传送到其余应用程序以供进一步处理和查看。
标记表示一块数据。一般,它对应于某个表中的某个字段。然而,这并非必要的。标记能够是一个计算列(价格乘以数量)。没有理由认为一个 XML 文件表示某个表中的全部数据。正像一般看到的那样,XML 将表示包括许多表的查询结果。只要接收应用程序可以搞清 XML 中的数据的意思,数据是从哪里来的以及该数据如何到达 XML 文件并不重要。
XML 的优点在于,它保持了用户界面和结构数据之间的分离。HTML 指定如何在浏览器中显示数据,而 XML 则定义内容。在 HTML 中,使用标记告诉浏览器以粗体或斜体的方式显示数据;而在 XML 中,只使用标记来描述数据,如城市名、温度和睦压。在 XML 中,使用诸如“扩展样式语言 (XSL)”和“层叠样式表 (CSS)”之类的样式表,来表示浏览器中的数据。XML 把数据从表示和处理中分离出来,使您可经过应用不一样的样式表和应用程序,来按您的愿望显示和处理数据。
把数据从表示中分离出来,可以无缝集成众多来源的数据。能够将用户信息、采购定单、研究结果、账单支付、医疗记录、目录数据以及其余来源转换为中间层上的 XML,以便像 HTML 页显示数据同样很容易地联机交换数据。而后能够在 Web 上将按照 XML 编码的数据传送到桌面。对于大型数据库或文档中存储的遗留信息无需进行更新,而且因为使用了 HTTP 在网络上传送 XML,因此此功能不须要更改。
XML 在采用简单、柔性的标准化格式表达和在应用间交换数据方面迈出了一大步。HTML 提供了显示数据的通用方法;XML则提供了直接在数据上工做的通用方法。XML的威力在于将用户界面和结构化数据相分离,容许不一样来源数据的无缝集成和对同一数据的多种处理。从数据描述语言的角度看,XML是灵活的、可扩展的、有良好的结构和约束;从数据处理的角度看,它足够简单且易于阅读,几乎和HTML同样易于学习,同时又易于被应用程序处理,所以,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 和信息模型的大门。
XML不只规定了如何表示和显示数据,还提供了标准的API供处理XML数据,这也就是咱们称之为智能数据或数据标准的缘由。
SAX(The SimpleAPI for XML)是基于事件的XML分析API,功能比较简单。 这一API是事件驱动的,又称"顺序访问"协议。每当它看到一个新的XML标记(或遇到一个错误,或想告诉你什么事时)就用一个SAX解析器注册你的句柄,激活你的回调方法。
DOM 定义了分析程序应当显露的标准命令集,使您可以在程序中访问 HTML 和 XML 文档内容。支持 DOM 的 XML 分析程序取出 XML 文档中的数据,并经过一组能够对它编程的对象来显露它。DOM将一个XML文档转换成你程序中的一个对象集合。而后你能够任意处理对象模型。这一机制也称为"随机访问"协议,由于你能够在任什么时候间访问数据的任何一部分,而后修改、删除或插入新数据。 DOM的特色是功能强大,但分析时间长,占用资源多。
SAX 提供了处理 XML 文档的快速、低内存的另外一种方法。在使用 DOM 分析 XML 文件时,它在内存中创建了完整的文档树。相比而言,SAX 将遍历文档,并将新元素的开始或结束等通知分析事件的调用应用程序。使用 SAX 的一个最佳功能是分析长文档。例如,用 SAX 分析器,应用程序能够监视发生的事件,只将文档中必要的部分读入内存。
XML 是基于通过验证的、针对Web 进行优化的技术标准。Microsoft 正在与其余大公司和 W3C 研究小组共同努力,确保对工做在多系统和多浏览器上的开发人员、做者和用户的互用性和支持,并不断增强 XML 标准。
XML 是由下列相关标准组成:
可扩展的标记语言(XML)是一个“建议”,即 W3C 审批进程的最后阶段。这就是说,该标准是稳定的,而且受到Web 和工具开发人员的热烈欢迎。
XML 命名空间是一个“建议”,它描述了命名空间的语法并支持命名空间承认的 XML 分析程序。
文档对象模型 (DOM) 1 级是一个“建议”,它提供了有计划地访问脚本中结构化数据的标准,使开发人员可以与基于 XML 数据的计算机进行相容的交互。
可扩展的样式表语言 (XSL)是当前的工做草稿。XSL 由两个模块组成:“XSL 转换语言”和“XSL 格式化对象”。转换语言可用于为显示而转换 XML。由于 XSL 的两个部分是模块,因此转换语言可独立应用于通用目的的转换,包括将 XML 转换为格式更好的 HTML。CSS 可用于简单结构的 XML 数据,可是只能以接收的次序显示信息。
XML 连接语言 (XLL) 和它的伴侣 XML 指针语言 (XPointer) 是当前的工做草稿。XLL是 XML 连接语言,它提供了 XML 中的连接,相似 HTML 中的连接,然而功能更强。用 XLL,连接能够是多向的,并且连接可存在于对象级,不是仅在页面级。Internet Explorer 5 不支持 XLL。
XML 结构化架构,诸如 XML 数据注释和 XML 的文档内容描述 (DCD)中描述的那些是 W3C XML 数据工做组的课题。
除上述XML的标准建议之外,利用XML提出了许多扩展的标准:
XHTML(Extensible HyperText MarkupLanguage,扩展超文本标记语言)规范是使XML文档看起来和操做来相似于HTML文档的一种方式。既然XML能够包含任何你愿意定义的标记,为何不定义一套看起来象HTML的标记呢?这一规范的结果就是一个文档,能够在浏览器中显示,也能够做为XML数据处理。数据可能不是"纯粹的"XML,但也比标准的HTML容易处理的多。XHTML规范是将HTML4.0再造成为XML。
MathML(Mathematical Markup Language,数学标记语言)是一个处理数学公式表示的 W3C recommendation。
SVG(Scalable Vector Graphics,可缩放矢量图)是一个关于矢量图形表示的W3C工做草案。(矢量图形是用"画一条从点x,y到点m,n的线"这样的命令创建的,而不是用一系列比特位去编码图形。这样的图形更容易缩放,但也更花处理时间。)
DrawML(Drawing Meta Language,绘图元语言)是一个关于二维技术图的W3C note。它也处理更新和细化这些图形的问题。
电子商务标准 cXML(Commerce XML,商务XML)是一个为不一样购买者创建交互在线目录的RosettaNet(www.rosettanet.org)标准,也包含了处理购买订单、改变订单、状态更新和运输通知的机制。
XML 给基于 Web 的应用程序带来了强大的功能和灵活性,它为开发人员和用户提供了许多引人注目的优势:
Ÿ 更有意义的搜索
Ÿ 开发灵活的 Web 应用程序
Ÿ 不一样来源的数据集成
Ÿ 本地的数据计算和操做
Ÿ 多个数据视图
Ÿ 粒状更新
Ÿ 更有意义的搜索
数据可以使用 XML 来做惟一标记,潜在地容许客户指定 Winston Churchill 所著的书,而不是描写Winston Churchill 的书。所不一样的是,使用如今的方法来搜索,可能找出混在一块儿的两种书。不使用 XML,则须要搜索应用程序以了解每一个数据库的架构,此架构描述了该数据库是如何构造的。事实上这是不可能的,由于每一个数据库描述它的数据的方式不一样。而使用 XML,书很容易使用一种标准的方法,按做者、书名、国际标准书号或其余准则分类。而后,代理程序再使用一致的方法,在被标识的书店站点上搜索关于 Winston Churchill 的书。
找到数据以后,可将 XML 交给其余应用程序、对象和中间层服务器做下一步处理,或者送至桌面,在浏览器中查看。XML,连同用于显示的 HTML、用于逻辑的脚本以及用于与数据的交互和显示的通常对象模型一块儿,为灵活的三层 Web 应用程序开发提供了所需的技术。
搜索多个、不兼容的数据库的能力,至今尚属不可能。XML 启用了容易结合的不一样来源的结构化数据。软件代理可用于在中间层服务器上,集成来自后端数据库和其余应用程序的数据。这数据再递交给客户机或其余服务器,做下一步的聚合、处理和分布。
XML 的可扩展性和灵活性,使它可以描述各类类型的应用程序中包含的数据,这些应用从描述 Web 页面的集合到数据记录,应有尽有。此外,因为基于 XML 的数据是自描述的,不须要内建的传入数据的描述,便能交换和处理数据。
在 XML 格式的数据被递交给客户机以后,该数据可使用客户机应用程序执行的计算进行剖析,并在本地进行编辑和操做。用户不只仅能够显示数据,还可以使用各类方法操做数据。“XML 文档对象模型 (DOM)”还容许使用脚本或其余编程语言操做数据。省略了和服务器之间的数据传输,即可进行数据计算。将查看数据的用户界面和数据自己分离,使得从前只能在高端数据库上找到的功能强大的应用程序,能够天然地使用简单、灵活、开放的格式,为 Web 而建立。
数据被传递到桌面以后,可以使用不一样的方法查看。经过使用简单、开放和可扩展的方式描述结构化数据,XML 补充了普遍用于描述用户界面的 HTML。另外,HTML 描述了数据的外观,而 XML 则描述了数据自己。因为如今显示与数据分离了,使用 XML 定义的数据能够指定多个不一样的视图,使数据得以更好地显示。能够根据客户机配置、用户喜爱和其余准则决定本地数据的显示方式。CSS 和 XSL 提供了描述特定数据视图的说明性机制。
数据可使用 XML 粒状更新,每当部分数据被更改后,不须要再发送一个完整的结构化数据集。只有更改了的元素才从服务器发送到客户机上,并且用不着刷新整个用户界面就能够显示更改了的数据。如今,即便视图保持不变而只更改了一个数据项,整个页面也必须重建。这严重限制了服务器的可缩放性。
一样,XML 容许添加其余数据,如预报的最高和最低温度、预期的降雨量和几率(按百分比)。此附加的信息将流入用户的现有视图,而不使用浏览器发送新的视图。若是还须要其余信息(如大气压),不用重建即可以发送。
做为表达结构化数据的行业标准,XML 向组织、软件开发人员、Web 站点和最终用户提供了许多优势。随着重要市场(如高级数据库搜索、网上银行、医药、法律、电子商务和其余领域)的更为高级的市场数据格式被建立,这种机会将进一步增长。当站点不但要查看数据,并且要分配数据时,正是良机。
当前,客户服务正从呼叫中心和物理位置移向 Web 站点,所以将受益于 XML 的强大功能。其次,由于大多数业务应用程序涉及数据和数据库记录的传输,如定货单、发票、客户信息、约会、地图等等,XML 将在 Internet 上执行大量业务应用程序,从而大大改变最终用户的可能发生的事情。此外,Web 站点上的信息,无论是存在文档中,仍是在数据库中,均可以使用基于 XML 的、面向 intranet 的词汇来标记。这些词汇,对须要在客户和供应商之间交换信息的中小型公司来讲,也颇有帮助。
一个重要的、尚待开发的市场,就是便于最终用户建造本身的协做 Web 站点的开发工具,包括从遗留数据库信息和现存的用户界面生成 XML 数据的工具。此外,还应开发描述公文夹或其余数据的标准架构,例如,它应该能使用排版、图表和 Excel 等电子表格的其余功能。描述从遗留数据库生成的 XML 的说明性工具和可视工具是很是好的机会。查看 XML 数据的自定义工具可以使用 Visual Basic 开发系统、Java 和 C++ 编写。
XML 要求强大的新工具来表示文档中丰富的、复杂的 XML 数据。经过将对用户友好的显示层映射到可动态更改的复杂的层次数据集的顶层,能够实现这一点。XML 数据可能使用的布局,包括折叠分级、PivotTable 动态视图和每一个公文夹的简单表格。
Web 站点能够提供股票行情、新闻或实时交通数据。经过过滤 Web 广播或智能轮询复制这些站点的服务器树,能够得到这些数据。使用 XML 能够避免信息超载,办法是编写自定义的规则来处理电子邮件中的陈旧的信息。基于 XML 的、用户构造这些规则的工具,以及运行这些工具的服务器和客户机软件,是个极好的巨大市场。“标准的对象模型”能启用这些功能,它们一般被写在脚本中,用于过滤传入的消息、检查存储的消息、建立待发邮件、访问数据库等等。可编写这些代理程序,以便在任何地方自动运行。
关键词: SGML, HTML,XML,SAX,DOM,XSL,DTD,Schema,DCD, RDF,CSS,W3C,Xpath,Xlink,SVG,
摘 要: 可扩展标记语言或者简称XML,是Web应用的一种新技术,是万维网联盟(W3C) 制定的的标准。本文讲述XML的标准的分类和参考网址。
缩略语清单:
SGML Standard GeneralizedMarkup Language
HTML Hyper Text MarkupLanguage
XML Extensible MarkupLanguage
SAX Simple API
DOM Document Object Model
XSL Extensible StylesheetLanguage,可扩展样式语言
DTD Document Type Definition,文档类型声明
DCD Document Content Declaration
RDF Resource DescriptionFormat
CSS Cascading StyleSheets
XSLT Extensible StylesheetLanguage Transformations
Xpath XML Path Language
Xlink eXtensible LinkLanguage,可扩展连接语言
W3C world Web Consortium,web技术标准化集团
SVG Scalable Vector Graphics
参考资料清单:
参考资料清单 |
|||||
名称 |
做者 |
编号
|
发布日期 |
查阅地点或渠道
|
出版单位 |
XML标准 |
|
|
|
http://www.w3.org |
IETF |
XML的相关标准和术语不少,所以这里做一个简要介绍。因为XML尚在发展之中,这里介绍的是到2000年1月1号为止的状况,最新的状况应随时从网上查询:Http://www.w3.org 。
W3C的XML相关标准可分为如下几类:
W3C产生的规范的最终形式。之因此称为"建议"是由于它并不强加于任何人,但已再也不进一步讨论和复查了。
---- SAX(Simple APIfor XML,XML简单应用程序接口)
这其实是在XML-DEV邮件列表上协做产生的,并非W3C的标准,但事实上已和W3C建议有着同等地位。这一API是事件驱动的,又称"顺序访问"协议。每当它看到一个新的XML标记(或遇到一个错误,或想告诉你什么事时)就用一个SAX解析器注册你的句柄,激活你的回调方法。 也就是说SAX 将遍历文档,并将新元素的开始或结束等通知分析事件的调用应用程序。
---- DOM(DocumentObject Model,文档对象模型)
DOM将一个XML文档转换成你程序中的一个对象集合。而后你能够任意处理对象模型。这一机制也称为"随机访问"协议,由于你能够在任什么时候间访问数据的任何一部分,而后修改、删除或插入新数据。
---- DTD(DocumentType Definition,文档类型定义)
DTD规范实际是XML规范的一部分,同时又是可选的:能够写一个没有DTD的XML文档。另外还有一个更加灵活的Schema提案能够替代它。DTD规定在你的XML文档中能够包含的标记种类和有效布置,所以可保证你不会建立一个无效的XML结构或者你看到的XML结构是有效的。结构知足DTD要求的XML文档称为有效的(valid)。然而,对于一个复杂的文档来讲建立一个排除全部无效组合并容许全部有效组合的DTD是很困难的。DTD能够做为Prolog的一部分放在文档前面,也能够做为一个独立实体存在,或者分散在文档prolog和一个或几个实体中。
---- RDF (ResourceDescription Framework,资源描述框架)
RDF是定义关于数据的数据的标准。例如,和XHTML规范或HTML标记一块儿使用,RDF可用于描述页面的内容。举例来讲,若是你的浏览器将你的我的信息存为名字、Email地址,一个RDF描述就能够将数据传输给须要名字和Email地质的应用。
要进一步了解RDF,可查看http://www.w3.org/TR/PR-rdf-syntax/.Namespaces(名域)
---- Namespaces
Namespaces使你可用模块化方式以两套或更多XML标记写一个XML文档。例如,你能够建立一个基于XML的配件列表,使用其它制造商提供的配件描述(在线!)。由子配件提供的"价格"数据是你想加起来的,整个结构的"价格"数据是你想显示的。Namespace规范定义了限定名字的机制以消除模糊性。
要进一步了解Namespaces,可查看http://www.w3.org/TR/REC-xml-names.
---- XSLT(XSLTransformations,XSL转换)
XSLT是做为XSL的一部分使用的,用于将XML文档转换为其它XML文档。在XSLT以外,XSL还包括一个用于定义格式化的XML vocabulary(词汇表),它用XSLT描述文档如何用格式化词汇表转换为另外一个文档。目前XSLT版本为1.0,可查看http:/ /www.w3.org/TR/1999/REC-xslt-19991116。
---- Xpath(XML PathLanguage,XML路径语言)
Xpath是寻址一个XML文档内的组成部分的一种语言,被设计成可为XSLT和Xpointer共同使用。Xpath使用一个简练的、非XML的句法以方便在URL和XML属性之中的使用。Xpath在一个XML文档的抽象逻辑结构上操做,其名字来源于它用路径记法表达XML文档中的层次结构。Xpath的设计使它具备一个子集可用于匹配(测试一个节点是否知足一个模式),这一使用在XSLT中有介绍。目前XPath版本为1.0,可查看http://www.w3.org/TR/1999/REC-xpath-19991116。
W3C "proposed recommendation"是一个很是接近于结束的W3C recommendation提案。 它仍可复查,但已有许多人做了大量工做,所以这类标准通常不会再有多大改动。
---- RDF Schema(大纲)
RDF Schema 规定了描述如何翻译一个RDF中的声明所需的一致性规范和附加信息。
要进一步了解RDF Schema,可查看http://www.w3.org/TR/PR-rdf-schema.
---- XHTML(ExtensibleHyperText Markup Language,扩展超文本标记语言)
XHTML 规范是使XML文档看起来和操做来相似于HTML文档的一种方式。既然XML能够包含任何你愿意定义的标记,为何不定义一套看起来象HTML的标记呢?这一规范的结果就是一个文档,能够在浏览器中显示,也能够做为XML数据处理。数据可能不是"纯粹的"XML,但也比标准的HTML容易处理的多。例如,一个格式良好的XML文档中每个标记都必须有一个对应的结束标记,不然必须用(/ >)结束。因此你能够看到(< p >...</p >)或(< p/ >),但决不会只看到< p >。而HTML中的一个(< dt >)标记能够由(< /dt >)、另外一个(< dt >)、(< dl>)(< /dl >)结束。XHTML规范是将HTML4.0再造成为XML。
XHTML目前版本为1.0,可查看http://www.w3.org/TR/1999/PR-xhtml1-19991210.
W3C working draft 是概念性的,可供人们开始实现。在将标准化为实践的过程当中产生的反馈极可能影响内部细节,但不会影响规范的总体轮廓。
---- XSL(ExtensibleStylesheet Language,扩展样式表语言)
XML 标准规定了如何标识数据,而不是如何显示。XSL标准本质上是一个让你指定如何显示一个XML标记的翻译机制(如在HTML中)。可以使用不一样的XSL格式,为不一样用途用不一样方式显示同一数据。XSL的翻译部分已很是完善,并有许多实现。然而,XSL的第二部分即格式化对象,也称为对象流,可在一个页面上定义不一样区域并将它们联结起来。当一个文本流被定向到集合时,它填充第一个区域,而后当第一个区域填满时"流"到第二个区域。
要进一步了解XSL,可查看http://www.w3.org/TR/WD-xsl.
---- XLL(XML LinkLanguage,XML连接语言)
XLL协议包括两个规范,XLink和XPointer,用于处理XML文档间的连接。这些规范仍处于初级阶段,但确定将对XML文档的使用产生巨大影响。
Xlink
XLink 处理XML文档间的连接。它容许一些很是复杂的连接,包括双向连接、连接到多个文档、"扩展"连接(将连接的信息插入到你的页面中,而不是用一个新页面来取代它)、在一个独立文档中建立的两个文档间的连接,以及间接连接(可指向一个"地址簿"而不是直接指向目标文档,这样当更新地址簿时,任何使用它的文档都将自动更新。)
要进一步了解XLink,可查看http://www.w3.org/TR/WD-xml-link.
Xpointer
XPointer使用一个文档或文档段的ID(标识符)指向它。
XPointer定义了"在XML文档内部寻址"的机制,而不须要文档做者预先为那一段定义一个标识符。它提供了"元素、符号串和XML文档其它部分的引用,不管它们是否有一个明确的标识符属性。"
要进一步了解XPointer,可查看http://www.w3.org/TR/WD-xptr.
---- XML Schema (大纲)
XML Schema定义一个文档能够包含的元素类型,它们的关系和它们可包含的数据,远远超出了现有DTD规范的方式。尽管DTD使你可以校验XML文档,但它有许多缺点。一个缘由在于DTD规范不是分层的。例如对一个包含几个"已析符号数据"( PCDATA)元素的通讯地址,它的DTD多是这样:
<!ELEMENT 通讯地址 (名字,地址,邮政编码)>
< !ELEMENT 名字(#PCDATA) >
< !ELEMENT 地址 (#PCDATA) >
< !ELEMENT 邮政编码(#PCDATA) >
能够看到,它是线性的,没有包含,可能会影响名域,使你不得不在不一样设置中为类似的元素使用新的名字。另外一个问题是不清楚注释解释的范围。另外,它不能使你严格指定域的有效条件,如邮政编码必须是6位数字。所以目前已经提出了许多提案,构造一个更象数据库、指定校验标准的层次化"schema"(大纲)。
可查看:http://www.w3.org/TR/xmlschema-1和http://www.w3.org/TR/xmlschema-2。
"Notes"根本不是W3C 的标准。实际上,它是由不一样我的和组织提出的提案。W3C发布它们以供为标准工做的人参考。
---- DDML / Xschema(Document Definition Markup Language / XSchema,文档定义标记语言/XSchema)
象DTD同样的文档定义是很好的,但DTD的语法有些奇怪。DDML 是旧XSchema 提案的新名称,指定了一个XML文档的有效性约束。它是DTD的可能后继者,但最终合法标准是那个还不清楚。
要进一步了解DDML,可查看http://www.w3.org/TR/NOTE-ddml.
---- DCD(DocumentContent Description,文档内容描述)
DCD 提案是一个定义标准XML数据库前段的机制。
要进一步了解DCD,可查看http://www.w3.org/TR/NOTE-dcd.
---- SOX(Schema forObject-oriented XML,面向对象XML大纲)
SOX是一个schema提案,包括可扩展数据类型、名域和嵌入文档。
要进一步了解SOX,可查看http://www.w3.org/TR/NOTE-SOX.
其它基于XML的标准提案包括:
---- ICE(Informationand Content Exchange,信息和内容交换)
ICE是一个由内容ICP和它们的订户使用的协议。它致力于"自动化传统出版和企业间关系中的信息(content)交换和重用"。
要进一步了解ICE,可查看http://www.w3.org/TR/NOTE-ice.
下面的标准和提案是创建于XML之上的。既然XML基本上是一个语言定义工具,这些规范用它定义特定用途的标准化语言。
---- 扩展文档标准
---- SMIL(SynchronizedMultimedia Integration Language,同步多媒体集成语言,发音为smile)
SMIL是一个关于音频、食品和动画的W3Crecommendation。它也处理同步化这些元素回放的困难问题。
要进一步了解SMIL,可查看http://www.w3.org/TR/REC-smil.
---- MathML(MathematicalMarkup Language,数学标记语言)
---- MathML是一个处理数学公式表示的W3C recommendation。1998年4月7号提出,1999年7月7号修订,目前版本为1.01。要进一步了解MathML,可查看http://www.w3.org/TR/REC-MathML.
---- SVG(ScalableVector Graphics,可缩放矢量图)
SVG 是一个关于矢量图形表示的W3C工做草案。(矢量图形是用"画一条从点x,y到点m,n的线"这样的命令创建的,而不是用一系列比特位去编码图形。这样的图形更容易缩放,但也更花处理时间。)要进一步了解SVG,可查看http://www.w3.org/TR/WD-SVG.
---- DrawML(DrawingMeta Language,绘图元语言)
DrawML是一个关于二维技术图的W3C note。它也处理更新和细化这些图形的问题。
要进一步了解DrawML,可查看http://www.w3.org/TR/1998/NOTE-drawml-19981203.
---- 电子商务标准
cXML(Commerce XML,商务XML)
cXML是一个为不一样购买者创建交互在线目录的RosettaNet(www.rosettanet.org)标准,也包含了处理购买订单、改变订单、状态更新和运输通知的机制。
要进一步了解cXML,可查看http://corp.ariba.com/News/AribaArchive/cxml.htm。
---- CBL(CommonBusiness Library,通用商务库)
CBL是一个由CommerceNet(www.commerce.net)维护的元素和属性定义库。
要进一步了解CBL和许多其它有关电子商务应用的信息,可查看http://www.commerce.net/projects/currentprojects/eco/wg/eCo_Framework_Specifications.html.
---- 软件管理和维护标准
---- DMTF (DesktopManagement Task Force,桌面管理特别工做组)
DMTF是一个提出远程管理桌面设备标准的组织。他们计划使用XML维护设备目录和它们的描述,以及其它远程管理任务。
这一组织不是W3C的一部分,但它们的工做看来已到了草案阶段,所以列在这里。
要进一步了解这已组织的相关信息,可查看http://www.dmtf.org/.
---- WebDAV (WebDistributed Authoring and Versioning,Web分布创做和版本)
WebDAV是IETF(Internet工程特别工做组)的一个工做,使用XML维护Web服务器。
它容许一个服务器的内容经过一个HTTP链接建立、修改和更新。(IETF不附属于 W3C,但它们的"草案标准"差很少至关于W3C的"建议",因此列在这里。
要了解进一步信息,可在http://www.ietf.org.查看"webdav"工做组。
关键词: HTML,XML,SAX,DOM,XSL,DTD,Schema,DCD, RDF,CSS,W3C
摘 要: 可扩展标记语言或者简称XML,是Web应用的一种新技术,是万维网联盟(W3C) 制定的的标准。XML简化了网络中数据交换和表示,使得代码、数据和表示能够分离,能够做为数据交换的标准格式。就这点而言,XML被称为智能数据文档。本文讲述XML使用方案所涉及的内容以及工具。
缩略语清单:
HTML Hyper Text MarkupLanguage
XML Extensible MarkupLanguage
SAX Simple API
DOM Document Object Model
XSL Extensible StylesheetLanguage,可扩展样式语言
DTD Document Type Definition,文档类型声明
DCD Document ContentDeclaration
RDF Resource DescriptionFormat
CSS Cascading StyleSheets
XSLT Extensible StylesheetLanguage Transformations
W3C world Web Consortium,web技术标准化集团
参考资料清单:
参考资料清单 |
|||||
名称 |
做者 |
编号
|
发布日期 |
查阅地点或渠道
|
出版单位 |
Apache XML Project |
|
|
|
http://xml.apache.org/ |
|
Microsoft Online XML development Centre |
|
|
|
http://msdn.microsoft.com/xml/default.asp |
|
简单描述XML使用过程当中涉及的内容。
数据自我描述:(Defination)
XML
DTD(DCD、Schema)
数据分析:(Parser)
SAX
DOM
数据显示:(Presentation)
XSL(XSLT->HTML、VRML...)
也能够经过数据分析SAX或DOM,而后提交显示界面
XML
DTD(DCD、Schema)
通常推荐使用有效的XML,即XML文档严格使用DTD指定的数据结构类型,由于这样可以真正意义上支持数据的自我描述,从而达到通用数据交换的目的。也能够采用Well-Formed良构的方式,但不建议使用无效的XML。
因为XML以及DTD、Schema等均是文本文件,故可使用普通的文本编辑器,但使用普通文本编辑器时,很是烦琐,比编写HTML文档复杂,因此建议制做XML和构造DTD或Schema时使用XML编辑器,一则编辑方便,二则可以提供一致的数据描述和数据规则。
常见的XML编辑器如:
Ÿ XML Spy: XML编辑器,提供三种XML文档视图:结构显示和编辑,原码视图和支持CSS,XSL的预览。
Ÿ Morphon XML Editorv:这是专门用来修改编辑XML文件的工具,提供有预览功能,并确保你的文件有依照DTD(Document Type Definition)的规范。
Ÿ XMLwriter1.2:支持编写XML,XSL, DTD, CSS, HTML和TXT,转换 XML到 HTML,用 XSL 观察结果,预览 XML文档等等。
Ÿ CoffeeCup HTML Editor:最好的网页设计软件之一。支持编辑asp、php、xml、xsl等多种最流行的网页文件格式,支持包括JavaScripts、 VBScripts、ActiveX控制、图片功能、色彩向导、多文件支持、全功能FTP程序等等。
Ÿ HTMLGate2000:该软件包含 51 个 JavaScript、23 个 DHTML Script、28 个 VBScript、Java/VB Script 编辑器、22 个 DHTML 向导。还包含 XML、ASP、HDML、VTHML、Style Sheet、IE 频道编辑器、图形工具、HTML 压缩器、EMAIL 客户端、FTP 客户端、表格编辑器等。
Ÿ 还有许多其余的XML编辑器,你们能够多使用哦。
(以上大多数是shareware,能够到 Http://download.china.com 下栽。)
在数据定义方面,咱们能够发明本身的架构,或者共享别的做者建立的架构。咱们须要一个寻找关于其余公司和应用程序支持的架构、文档和公司进程的信息的简单办法。有无数的公司能够发布他们的信息,可是缺乏如何用安全的、可控的方式来发布这些信息的标准,这势必致使成千上万种不一样的执行方法、导航方式和内容深度。容许这种“混乱”状态泛滥的成本负担将波及咱们公司,咱们将为之付出巨大代价。
Microsoft 选择经过建立和管理 http://www.biztalk.org ( 英文),来最大限度克服此问题。该站点将成长为定位、管理、学习和发布使用在成千上万应用程序中的 XML、XSL 和信息模型的大门。咱们能够与之合做,或创建本身的数据构架管理机构。
SAX
DOM
通常使用所在系统带的数据分析器,好比在Windows下,只需安装Internet Explorer 5.0以上或下栽Microsoft XML 3包,就可使用Microsoft的XML分析器了。
对于须要真正的具备原代码的、商用的分析器,推荐使用ApacheXML Project,其中分析器使用了Xerces,它是使用Java, C++的XML 分析程序,随带Perl和COM 捆绑,能够知足咱们对XML分析器的要求和程序的移植的要求。 Apache XML Project提供了全套XML数据显示、处理以及应用等的方案,同时是开放代码工程,全部源代码所有公开,请参见http://xml.apache.org/。
Xerces符合XML 1.0建议和对应的标准 ( DOM 1.0, SAX 1.0, SAX 2.0, Namespaces,DOM Level 2)。
Xerces运行平台以下:
Ÿ Win32 using MSVC 6.0 SP3
Ÿ Linux (RedHat 6.1) using egcs-2.91.66 and glibc-2.1.2-11
Ÿ Solaris 2.6 using Sun Workshop 4.2
Ÿ AIX 4.2.1 using xlC 3.6.4
Ÿ HP-UX 11 using aCC A.03.13 with pthreads
Ÿ OS/390
Ÿ AS/400
Ÿ SGI IRIX
Ÿ Macintosh
Ÿ OS/2
Ÿ PTX
Ÿ and more!
若是是Windows用户,推荐使用Microsoft XML分析器;
若是是商用系统,尤为是UNIX下的系统,推荐使用Apache XML Project。
XSL(XSLT->HTML、VRML...)
使用XML编辑器,将对应的标记转换成为HTML、VRML就能够方便地在当前的浏览器上按照要求显示数据,从而在Web客户端造成一个兼容HTML和XML的程序框架。