XML介绍

类别:.NET开发 点击:0 评论:0 推荐:

 

什么是XML

   XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTMLXML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理 Web 数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。让我们先来看一看用XML描述天气预报的实例:

 

 <weatherreport>

  <date>March 25, 1998</date>

  <time>08:00</time>

  <area>

   <city>Seattle</city>

   <state>WA</state>

   <region>West Coast</region>

   <country>USA</country>

  </area>

  <measurements>

   <skies>partly cloudy</skies>

   <temperature>46</temperature>

   <wind>

   <direction>SW</direction>

   <windspeed>6</windspeed>

  </wind>

  <hindex>51</hindex>

  <humidity>87</humidity>

  <visibility>10</visibility>

  <uvindex>1</uvindex>

 </measurements>

</weatherreport>

 

  为了使编写的Web页面成为有效的XML文档,文中每一添加的标记必须记入一个

独立的DTD文件中。当客户浏览天气预报文档时,相关的DTD文件是随着文档一起下

载到客户端,客户浏览器就懂得怎样来处理它们,例如你可以从几个天气报告中计

算出平均温度等,最后将结果显示出来。

  DTD文件使XML页面能包含更多的内容,表现更复杂的形式。从实例中也可以看

XML页面信息是结构化的,有些与数据库结构类似,因而更具访问性,其检索结

果更有针对性、更准确。

  另外你也可以将URL地址定义在DTD文件中,当Web主页地址发生变化时,你只

需改动DTD文件中的定义即可,而不必一一在HTML文档中改变URL地址,从而使Web

的维护更方便,用户也不会遇到URL地址找不到的信息,这样一来,Web的应用更稳

定。

  并不是所有的DTD文件都要下载到客户端,已经制订成为标准的协议,例如在

后面第六点中提到的化学标记语言CML、数学标记语言MML等是不需要DTD文件的。

 

  除了DTD外,XML中还包括可扩展格式语言XSL(Extensible Style Language)

和可扩展链接语言XLL(Extensible Linking Language)

  XSL用于将XML数据翻译为HTML或其他格式的语言。XSL提供了一种叠式页面

CSS的功能,使开发者构造出具有表达层结构的Web页面来,以有别于XML的数据结

构。XSL也能和HTML一起构造叠式页面。XSL可以解释数量不限的标记,它使Web

版面更丰富多彩,例如动态的文本、跑马式的文字。此外,XSL还处理多国文字、

双字节的汉字显示、网格的各种各样的处理等。

  XLLXML的链接语言,它与HTML的链接相似,但功能更强大。XLL支持可扩展

的链接和多方向的链接。它打破了HTML只支持超级文本概念下最简单的链接限制,

能支持独立于地址的域名、双向链路、环路、多个源的集合链接等。XLL链接可不

受文档制约,完全按用户要求来指定和管理。

  为了使XML易学易用,XML精简了一大片SGML难得用一次的功能。正如几十万汉

字中常用的只不过八千,SGML常用的部分只占20%,XML抛弃了SGML中不常用的部

分,使它一下就精简了80%。这样一来,XML的语法说明书只有30页,而SGML却有

500页。

  XML设计中也考虑了它的易用性,易用性来自两个方面:一方面用户编写Web

面方便,另一方面设计人员实现XML浏览器也不太困难。

  总之,XML使用一个简单而有灵活的标准格式,为基于Web的应用提供了一个描

述数据和交换数据的有效手段。HTML描述了显示全球数据的通用方法,而XML提供

了直接处理全球数据的通用方法。

 

目前的主要XML技术

XML 命名空间

文档类型定义DTD

XPath

XPointerXIncludeXML Base

XSL Transformations

SAX

DOM

XML Schema

SOAP

 

支持XML的公司和它们的开发工具

 

 

  尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表

示全力支持XML,并开发了不少XML工具。Adobe公司的FrameMaker可以用来书写

XML文档。Microsoft公司推出的IE 4.0已经可以显示、处理和编辑XML文档,

Microsoft公司作出承诺,要在下一个版本的Office 软件如MS WordExcel中支持

XMLNetscapeSun公司也不甘寂寞,纷纷表示要在他们的Web工具中支持XML。除

了这些著名的公司有所行动外,其他小公司也把XML 作为一种商机,纷纷投入到

XML的开发工作中。例如ArborText 公司的Cedar项目旨在开发XSLArborText公司

Microsoft公司一起向W3C提出了XSL的标准草案;Grif公司的Symposia Doc+则

是一个编辑XML文档的可见即可得的工具。此外还有Copsol公司的XML开发工具,

Norbert公司的XML句法分析器,Jade公司的XSL工具包以及支持客户/服务机应用的

Serucie 98等。

 

 

XML展望

 

   任何一项新技术的产生都是有其需求背景的,XML的诞生是在HTML遇到不可克

服的困难之后。近年来HTML在许多复杂的Web应用中遇到了问题,要彻底解决这些

问题,必须用功能强大的XML来替代HTML作为Web页面的书写工具。XML有利于信息

的表达和结构化组织,从而使数据搜索更有效;XML可以使用URL别名使 Web的维护

更方便,也使Web的应用更稳定;XML可以使用数字签名使Web的应用更广阔拓展到

安全保密领域。可以认为未来的Web书写工具必定是XML。而XML的广泛使用必然能

推动Web不断发展,从而开创Web应用的新时代。

  Web的应用将随着XML的使用而更精彩,以下是可以预见的XML的几种应用。

 

  XML/EDI电子数据交换

  EDI(Electronic Data Interchange)是用电子技术代替基于纸张的操作手段,

用于公司之间的单据交换。XML的丰富的格式语言可用来描述不同类型的单据,例

如信用证、贷款申请表、保险单、索赔单以及各种发票等。结构化的XML文档送至

Web的数据可以被加密,并且很容易附加上数字签名。XML的安全保密措施可在EDI

的应用中充分显示它的魅力,XML有希望推动EDI的大规模的应用。

 

  化学标记语言CML和数学标记语言Math ML

  CMLchamical Markup Language)Math ML(Mathematical Markup

Language)XML应用于描述化学和数学公式的标记语言。CML可描述分子与晶体结

构、化合物的光谱结构等。而Math ML则是数学家的福音,自Web问世以来,数学家

们第一次可以使用Math ML将数学公式精确地显示在浏览器上。

 

  开放式软件描述格式OSD

  和EDI的命运相仿,软件包的上网发行一直处于试行阶段。OSD(Open Software

Descriptipon)XML的一组用来描述各种软件产品的标记集,可以详细说明软件

的规格、使用说明以及可运行平台等。

 

  通道定义格式CDF

  通道定义格式CDF(Channel definition format)MicrosoftIE 4.0浏览器

中使用的XML数据格式, 用于描述活动通道的内容和桌面部件,指明通道的信息及

其更新情况。CDF 使不同平台的互操作成为可能,使Web发布者可以控制推(push)

技术。专用的推技术将不再影响不同推技术的互操作性,这样一来,从互不兼容的

平台上可以获得相同的Web内容。

 

  开放式财务交换OFX

  OFX(Open Financial Exchange)也是XML的一种标记集,用于描述会计事务所

与客户之间的业务往来。使用OFX,客户与会计事务所之间可以直接交换财务数据

,包括电子银行和支付协议等说明文件。

 

  为了推动XML的使用,W3C已经批准了XML标准1.0版本,相信XML 10的颁布会

带动大批高级的Web应用,用户必须从现在起开始考虑用XML来书写Web页面。但是

XML的大量使用并不意味着HTML会马上消亡。习惯的势力是强大的,正如Cobol语言

在很长的一段时间里没有退出历史舞台一样,由于现存的大量的Web页面都是用

HTML书写的,HTML决不会轻易退出使用。可以预计,在未来的5年内,XML将和

HTML携手并肩共同使用在Web应用的不同领域中。

 

 

 

XML网络资源

推荐网站

http://www-900.ibm.com/developerWorks/cn/xml/index.shtml

http://bbs.xml.org.cn

http://www.cnxml.com

http://www.csdn.net

http://www.lanshang.com/

http://dotnet.aspx.cc/

http://bbs.xml.org.cn/list.asp?boardid=3

http://www.perfectxml.com/也是一个学习xml不错的站点。

 

 

. XML的大本营

XML是由W3C(World Wide Web Consortium)国际组织负责开发和制定标准的。关于XML最权

威,最新的消息都来自W3C。网址是:http://w3c.org/XML/

另外一个名为OASIS的前著名的SGML研究组织也在一起推动XML的发展,网址是:http://w

ww.oasis-open.org/

. XML指南

http://www.w3.org/TR/REC-xml

W3C关于XML规范的详细,完整的说明。不用多说,绝对权威。

http://www.xml.com/axml/testaxml.htm

这是Tim Bary写的XML规范说明书,非常的详细和严密,是学习XML规范的好帮手。

 

. XML常见问题

Peter Flynn XML FAQ

http://www.ucc.ie/xml/

包含大量详细的资料,经常更新,由W3C协会XML组维护。

Lisa Rein’s finetuning XML FAQs

http://www.finetuning.com/faq.html

这个FAQ列表有侧重点,主要包含XSLT FAQ,XPath FAQIE5中的XSL FAQ

Dave Pawson’s XSL FAQ

http://www.dpawson.co.uk/xsl/idx.html

提供最好的关于XSL方面的FAQ,创建于1999年。

jGuru’s Extensible Markup Language (XML) FAQ

http://www.jguru.com/jguru/faq/faqpage.jsp?name=XML

这个FAQ列表是一个典型的"老百晓",任何问题,从普通的到非常细节的XML问题都可以在

这里找到。

Ronald Bourret’s XML Namespaces FAQ

http://www.informatik.tu-darmstadt.de/DVS1/staff/bourret/xml/

NamespacesFAQ.htm

创建于2000初,是关于namespaces概要的FAQ

 

. XML主题网站

http://www.xml.com/

一个以XML为主题的内容丰富的网站

http://www.xml-zone.com/

另一个比较知名的XML网站,提供XML的新闻和资讯。

http://www.xmlinfo.com/

网站创建者James Tauber’sW3C组织XML发展组的成员之一,他的网站提供了大量的连接

和例子。

http://www.simonstl.com/

网站创建者Simon St. Laurent也是XML发展组的成员。他是W3CXML初级入门教程的作者

,他的站点主要提供有关XML的发展信息。

http://msdn.microsoft.com/xml/c-frame.htm#/xml/default.asp

微软的MSDN关于XML的主题网站。微软在推进XML应用方面不遗余力。

http://www.xmlsoftware.com/

XML info的姐妹网站,内容包括XML/DTD/XSL编辑软件,XML API软件等。

http://xmlhack.com/

19999月建立的大型XML新闻网站,同时提供XML人才信息。

http://xml.apache.org/

Apache软件基金会(ASF),提供了大量open sourceXMLXSL的工具软件。

http://www.biztalk.org/

BizTalk是微软发起的以XML商业应用为目标的组织。BizTalk不是一个标准组织。

 

 

. XML的编辑软件

目前XML文档的编辑软件依然很少。虽然我们可以手工编写,但是如果有一个好的软件(

似用DW/FP编写HTML),可以减少差错和提高效率。下面是现有的一些编辑软件。

http://www.macromedia.com/software/dreamweaver/

Macromedia最新的Dreamweaver 4.0已经支持XML文档的编写。推荐使用。

http://www.microsoft.com/xml/notepad/intro.asp

微软在这方面向来不会落后,它推出的XML Notepad是一个非常小巧灵活的XML文档编辑器

。推荐使用。

http://www.adobe.com/prodindex/framemaker/prodinfosgml.html

Adobe公司的Framemaker plus是目前较好的XML编辑软件。

http://www.arbortext.com/

Arbortext公司是重点开发XML游戏的公司。

http://www.inso.com/

Inso,好象是用来处理大型SGML或者XML文档的软件。

http://www.softquad.com/

Softquad HTMLSGML软件的开发商,对XML自然不会放过。

 

. 支持XML的浏览器

http://www.microsoft.com/windows/ie/

IE 5.X是目前流行浏览器唯一支持XML的,它可以在微软的网站免费下载到。

http://developer.netscape.com/software/communicator/ngl/

index.html?cp=dev09fg01

Gecko是另一种支持XML的浏览器,但目前只是测试版。

 

. XML parser

Parser是一个检查XML文档语法是否符合DTD定义,并进行解析的软件。

 

在线的parser

http://validator.w3.org/

W3C组织提供的一个在线paeser。可以根据你在线提交的XML文档URL,进行验证和解吸。

 

http://www.stg.brown.edu/service/xmlvalid/

一个Brown大学科技小组提供的parser,非常方便和容易理解。。

可下载的Parser

有很多可以下载到本机上运行的parser,下面列出一些主要的:

http://www.jclark.com/xml/expat.html

James Clark是在SGML/XML领域的元老,他写的parser被广泛的运用。

http://www.alphaworks.ibm.com/tech/xml

一个以Java语言编写的Parser,来自IBM

http://www.microsoft.com/xml/parser/cparser.asp

 

微软的XML Parser,用C++写成。

http://www.microsoft.com/downloads/details.aspx?FamilyId=0CDD34BF-50EA-4238-84

6B-243C58FF224A&displaylang=en

 

Python写的parser

http://www.jeremie.com/Dev/XML/

javascript写的parser,只用来检查语法,不进行解吸析。

http://w3c.org/RDF/Implementations/SiRPAC/

 

来自W3C组织的SiRPAC,全称是Simple RDF Parser and Compiler

 

. Schema编辑软件

Schema我们前面介绍过,DTD就是一种Schema,我们可以手工写DTD,但现在已经有一些Sc

hema编辑软件来帮助我们更方便的建立DTD

http://www.extensibility.com/

Extensibility这个软件被称为XML权威。可以以图形化方式建立和编辑schema,包括DTD

件。

 

. 国内XML资源

http://www.xml.net.cn/(admin:该网站已不能访问了.)

XML中国论坛是一个非赢利的学术网站。由北京大学计算机科学与技术研究所创办,北大方

正集团公司提供赞助。

http://www.xml.org.cn:8188 (admin:该网站已不能访问了.)

中国XML联盟将建立为国内第一个开放性网络标准组织,提供XML技术认证、咨询和交流。

由上海易方公司赞助。

http://www.xml.com.cn/

chinaasp.com的子站,提供XML文章和技术交流等。

http://www.egroups.com/group/china_xml_list/info.html

中国XML邮件组包括中文XML资源, XML的最新资料,同行的交流空间。由非盈利性组织中国

XML联盟负责维护。

http://weblab.crema.unimi.it/xmlzh/XML_FAQ.htm

 

1W3C 的网站

http://www.w3.org/XML/

 

2XML.com

http://www.xml.com

 

3xml zone

http://www.xml-zone.com

 

4XML.org

http://www.xml.org

 

5XML Cover Pages

http://xml.coverpages.org

 

6OASIS

http://www.oasis-open.org

 

7XMLINFO.com

http://www.xmlinfo.com

 

8STARTKABEL

http://xml.startkabel.nl

 

9XMLAdvantage

http://www.xmladvantage.com

 

10Chinese XML Now!

http://www.ascc.net/xml/

 

11simonstl.com

http://www.simonstl.com

 

12XML ARENA

http://www.xmlarena.com

 

13XML 资源目录

http://www.xmldir.com/

 

14XML Tree

http://www.xmltree.com

 

 

XML 教程:

1XML FAQ

http://www.ucc.ie/xml/

 

2。无废话 XML -- 网上最好的 XML 入门教程

http://2tigers.net/xml_book/wfhxml_gb.zip

 

http://www.xml.org.cn:8188/docs/download/wfhxml_gb.zip

 

http://www.helpwork.net/downdata/bo...k/wfhxml_gb.zip

 

3XML Bible

http://www.ibiblio.org/xml/books/bible/

 

http://www.mmg.vmei.acad.bg/xml/

 

XML Bible》的中译本为中国水利水电出版社的《XML实用大全》一书,XML 中国论坛已

将此书做成了电子版共享,请看这里:

http://www.xml.net.cn/ASPs/book_catalog.asp?bookid=02

 

在此向 XML 中国论坛所做出的努力表示由衷的感谢!

4IBM 站点上的 XML 教程 (需注册)

http://www.ibm.com/developerworks/xml/

 

http://www.ibm.com/developerworks/e...ecourse-bytitle

 

http://www.ibm.com/developerworks/webservices/

 

http://www-900.ibm.com/developerWorks/xml/

 

IBM DeveloperWorks 中文版上的 XML 专栏,强烈推荐!)

5W3Schools.com

http://www.w3schools.com

 

6zvon.org

http://www.zvon.org

 

7xmlpitstop.com

http://www.xmlpitstop.com

 

8Cafe con Leche XML News and Resources

http://www.ibiblio.org/xml/

 

9。一个免费 XML 教程的列表

http://www.intelinfo.com/newly_rese...aining/XML.html

 

 

比较好的 XML 编辑器:

1XML Spy

http://www.xmlspy.com

 

2EditML Pro

http://www.editml.com

 

3PSGML for Emacs

http://sourceforge.net/projects/psgml/

 

XML 技术有关的软件项目:

1。支持 XML 的浏览器 -- Mozilla

http://www.mozilla.org/newlayout/xml/

 

2Apache 基金会的 XML 项目

http://xml.apache.org

 

3Apache 基金会的 Jakarta 项目

http://jakarta.apache.org

 

4。可用的 XML 软件列表

http://www.xmlsoftware.com

 

5。可用的 XML 软件列表

http://www.oasis-open.org/cover/publicSW.html#xmlTools

 

6XML hack

http://xmlhack.com

 

7Sun 站点上的 XML 软件

http://www.sun.com/xml/

 

http://www.sun.com/software/xml/

 

http://www.sun.com/xml/developers/

 

http://java.sun.com/xml/

 

8IBM 站点上的 XML 软件

http://www.ibm.com/developerworks/xml/

 

9Oracle 站点上的 XML 软件

http://technet.oracle.com/tech/xml/

 

10XSLT.com

http://www.xslt.com

 

11SOAP & WebServices

http://www.soap-wrc.com

 

http://www.soapware.org

 

12XML-RPC

http://www.xmlrpc.com

 

13WDDX

http://www.openwddx.org

 

14Komodo

http://aspn.activestate.com/ASPN/Downloads/Komodo/More

 

15XML with Java

http://developerlife.com

 

http://www.jdom.org

 

16XML with Perl

http://www.perlxml.com

 

17XML with C

http://www.xmlsoft.org

 

18Free XML Tools and Software

http://www.garshol.priv.no/download/xmltools/

 

 

电子商务:

1ebXML

http://www.ebxml.org

 

2UDDI

http://www.uddi.org

 

http://uddi-china.org

 

3XML/EDI

http://www.xmledi-group.org

 

本文地址:http://com.8s8s.com/it/it43591.htm