新手整理的一篇文章,请大家给小妹指点

rxxsdd 2003-04-25 04:46:40
考察现在的XML应用,我想可以大致将它们分为以下几类:

(1)设计置标语言
XML不再限于标记语言的范畴,它是一种元标记语言。XML把DTD的定义权开放,不同行业可以根据自己的实际需求定义描述内容的DTD,以适应本行业内部的信息交流和存档需要,还可以定义专门描述形式的DTD,丰富信息的描述效果。目前,适合于不同行业不同平台的标记语言如雨后春笋般涌现出来,仅W3C新制定的标记语言就有XHTML、SVG、MathML、SMIL等。
在分级组织的网站中,越是顶层的页面,用于提供内容索引的页面,越强调布局的美观,注重表现形式,不需要非常严谨的DTD,只要是一个well-formed的XML即可;而越是底层的页面,即涉及具体内容和数据的页面,需要一个严谨的结构,越注重内容本身的质量及良好的信息组织,采用自定义的DTD更能发挥出XML的巨大优势。

(2)数据交换
用XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。
XML采用数据内容与数据显示分别定义的思想,其数据的显示是通过样式单XSL和CSS定义的。IE5对于一个XML文档的处理方式是,首先去关联它所指定的样式单文件,如果这个样式单是一个XSL文件,则按照它的规定对XML数据进行转换,当转换得到的新文件是HTML文件时,就可以按照HTML标记的含义准确地显示出来,否则将转换所得的文件中所有标记以外的文本内容以默认字体显示在一个段落中;如果这个样式单是一个CSS文件,IE5会按照样式单的规定给每个标记赋予一组样式,然后再显示;如果没有指定样式单文件,则去套用一个缺省的样式单文件,其效果是显示XML的源代码,只不过对于其中的标记、属性、内容等作了一些特殊处理。除此以外,IE5还能够对XML文档按照DTD进行语法检查,支持内嵌入HTML的XML island,并支持最新提出的schema。

(3)替代传统的EDI
EDI就是电子数据交换。它是网络发展的一个主要目的市场。那么XML定义这些更严格的数据结构对编写Web页面的人有什么好处呢?这样的数据结构的一个重要的优点就是用户可以很容易将文件的属性映射到数据结构或对象分级结构中。这就使在客户端的浏览器和数据库之间来回传输文件变得很可靠,也使用户可以使用结构化的XML文件作为一种中介体让数据在两种数据库之间灵活的进行转移。也就是说,人们得到了一种从文件中检索信息的可靠的方法,这也就是人们所熟悉的语法分析。这种数据结构的另一个好处是使各种格式的XML文件都可以被机器识别。允许机器能够识别各种格式的XML页面就可以让不同的站点之间自动共享不同格式的数据。使用DTD,用户甚至可以通过一个共同的描述连接不同的格式的数据。这种共享对EDI(电子数据交换)和供应链集成应用是非常理想的。

(4)智能代理和精确搜索
XML的重要特性就是允许有自描述信息。尽管并不要求XML文件必须是可以自描述的(只要求是结构化的),但带有自描述可以增强Web的检索功能。这些描述被称作“元数据(metedata)”,它们可以包括有关一个文件的信息如安全(谁可以阅读它)、阅读范围、文件内容、文件是用什么语言写的、作者是谁以及关于这个文件的其它任何信息。虽然HTML也有一个增加元数据的功能(即<Meta>标记),但是它未能很好地对交换不同元数据属性的格式进行定义。如,一个使用author属性的站点将不能够共享一个使用属性writer的站点的元数据。元数据可以大大增强Web的检索和导航功能。比如要通过Web搜索“一个在北京出售的价格为80元的《XML高级编程》”。通过普通的HTML完成这样一个查询过程是非常复杂的,但有了XML,WEB页面就可以自动完成这一系列的查询过程。
  元数据带来的另一个好处就是使用软件代理。代理这个词在计算机方面应用得非常广,人们对它的理解也不尽统一。我们所讲的代理是指一个能够从网络上的多台机器中根据用户的需要搜集信息的一个有线程的对象工具。代理通常被认为是“智能”的、“可移动的”或者是“个人化的”。XML元数据允许一个代理变得更加个人化,即它能够访问数据的描述,这些描述将有助于代理找到它所需要的信息。
HTML的目的在于标示数据以便于在浏览器中显示,而XML的目的在于标示数据以便机器处理,特别强调数据的语义与元素之间的关系。对计算机来说从XML文档中提取数据比从HTML文档来得容易。因此,当Web上出现更多的XML内容时,Web搜索的精确程度也必定会有很大的提高。HTML的标记数量是固定的,但XML允许用户自己定义元素。
...全文
24 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
当然如果这两种规则都已经比较成熟,而且不可能谁替代谁(实际情况往往这样)。那么你可能得找到一个翻译,将A系统的规则相应转换成B系统的规则(如果可能)。做转换接口的人往往有生存空间(我以为),如:将word文件转换成PDF 或者pdf2word ,将Oracle数据库倒到Sybase数据库中或者相反。 :)
  • 打赏
  • 举报
回复
hi dbodbc(用脚丫子想) :
让我用我所知道的知识来试回答你的问题。
如果A,B两种系统不遵循相同的定义(DTD or schema),那么它们之间交换数据可能比较困难,行业中如果需要实现数据交换需要遵循相同的定义。这就好像我们现在交流都使用中文,而我们理解起来都是按汉语的规则来理解,如果你讲中文,而别的人讲英文,这样就没法交流和共享信息了。
dbodbc 2003-05-09
  • 打赏
  • 举报
回复
问一个问题:
系统A导出一个XML文档,现在要让系统B来读取此文档,
1. 系统A和系统B同时遵守同样的行业规范这时他们的数据结构都是相同的。容易实现数据交换
2. 系统A和系统B遵守各自的行业规范,此时,如何实现数据交换?因为系统B得到的只是一个文件。其中的数据结构怎么才能知道。
或者谁能够详细地给我讲一下交换机制、原理。谢谢。
  • 打赏
  • 举报
回复
大家好:
我前阵子也想调查一下XML的应用,想不到已经有人在做了。:)
我也来说两句:
由于很多工具的出现,XML在很多方面已经影响到我们。
1、很多系统都使用XML做配置文件,如:Web Server的配置文件web.xml,Struts的配置文件,以前我们编写windows程序配置信息一般放在注册表或ini文件中。
2、数据交换。有些重要的行业都制定行业标准来是处于行业中的各个企业进行数据的交换。
3、定义。在很多领域我们都要定义一些东西,如:TCP/IP协议中每一层都定义了数据的意义。现在XML在很多协议中也用来定义数据的意义,如: SOAP,WebDAV协议ww.WebDAV.org)。
4、在出版、资料管理方面的影响或许在未来的时期将会有更大的出现。传统的解决方案是SGML,这种方案被称为昂贵的方案。它需要一系列如:编辑、显示格式、导航、查找等技术的支撑,而现在存在很多,甚至是免费的工具来解决这些问题。这使得很多企业将有财力实施。
5、在Apache组织的很多项目中,如:slide,我发现他们使用XML来定义测试用例,使用一个测试引擎进行测试。而且他们的文档都使用XML进行编写。

我平时做一些关于数字化文档方面的工作(SGML,XML),也就是资料管理:),希望和能听取大家的想法和思路。
rxxsdd (卉儿) 希望能和你交流 LongJingJun@yahoo.com.cn
notambition 2003-05-02
  • 打赏
  • 举报
回复
I'd like it!
vipman 2003-05-02
  • 打赏
  • 举报
回复
看看
qindagui 2003-05-02
  • 打赏
  • 举报
回复
又有人趁着少人偷偷地把它藏起来了……
marrio 2003-05-02
  • 打赏
  • 举报
回复
欣赏female程序员和球迷girl...


强烈建议female们 编程无边,保重身体,留驻美丽,年青无限

//渴了 累了 喝java{原创}
rxx 2003-04-30
  • 打赏
  • 举报
回复
呵呵,已经有人抄袭了
rxxsdd 2003-04-27
  • 打赏
  • 举报
回复
谢谢大家鼓励,呵呵
master5470 2003-04-27
  • 打赏
  • 举报
回复
不错,值得鼓励!UP
coffee_black 2003-04-25
  • 打赏
  • 举报
回复
看不懂。。。努力学习中。。。
rxx 2003-04-25
  • 打赏
  • 举报
回复
不错吗,小妹妹,哈哈哈!!
sagac 2003-04-25
  • 打赏
  • 举报
回复
小妹要写文章啊,我支持你啊,看到你的文章写的很精悍啊,该不是做技术分析吧!哈哈!
allforly 2003-04-25
  • 打赏
  • 举报
回复
你在说什么?
孟子E章 2003-04-25
  • 打赏
  • 举报
回复
good
rxxsdd 2003-04-25
  • 打赏
  • 举报
回复
(5)Web应用
现在有越来越多的设备也支持XML了。使得Web开发商可以在个人电子助理和浏览器之间用XML来传递数据。
为什么将XML文本直接送进这样的设备去呢?这样作的目的是让用户更多地自己掌握数据显示方式,更能体验到实践的快乐。常规的客户/服务(C/S)方式为了获得数据排序或更换显示格式,必须向服务器发出申请;而XML则可以直接处理数据,不必经过向服务器申请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。甚至还可以对设备上的XML文件进行修改并将结果返回给服务器。想像一下,一台具有互联网功能并支持XML的电冰箱将会给市场带来多么大的冲击吧。你从此不必早起去取牛奶了!

(6)集成不同数据源
结构化信息的一个主要目的就要使数据交换成为可能。不同的行业都制定本行业统一的模型。就像是不同的国家有着不同的语言,这便于本国文化的交流。不同的行业内部信息用统一的模型标识,便能方便和高效地共享。这样一个统一的模型就是DTD(文档类型定义).当然DTD已经落伍了,它正被XML的Schema(XML大纲)所替代。很明显的,网络是一个理想的电子数据的集散地。在这里HTML是显然有缺陷的数据形式。HTML不能完全表示不同行业中所需的不同的令人满意的模型和它的语义。能不能有一种新的语言来解决这个问题呢?答案就是XML。

(7)本地计算
XML提供的软件功能还能够对用户输入的数据进行动态的计算和显示。我们可以将股票的价格实时的输入到一个XML格式的表格中,这个表格就能够动态的计算股票的赢亏情况──这一切都不用借助浏览器即可完成。一些XML的专门应用甚至在软件方面增加了更多的功能。如,CDF(信道定义格式)是一个针对内容传送的“推”系统,通过DRP(描述和复制协议),OSD(开放软件描述)可以用于对软件产品的更新。

(8)数据的多种显示和网络出版
XML强调形式描述与内容描述的分离,一方面使XML文件的编写者集中精力于数据本身,而不受显示方式的细枝末节的影响;另一方面允许为相同的数据定义不同的显示方式,从而适合于不同应用、不同媒体,使XML数据得到最大程度的重用性。以医疗设备厂商为客户提供产品说明书为例,不同的客户有不同的需要:一些客户,如医院,它需要的是存放在CD-ROM上的文档;另外的客户,如医疗专家,喜欢通过Internet获得最新的产品信息。用XML格式存放数据,就可能以单一的知识库通过模板提供不同形式的输出,以更低的价格提供最为及时的更新数据。
XML描述的是数据的内容或语义,而不像HTML那样描述显示样式和布局。那么,如何将XML描述的内容“展现”给用户呢?
XML文档除了可以用文本编辑器浏览外,由于它具有天然的层次结构,许多工具还可以将XML文档显示为一个可扩展的树形结构。更为复杂的输出样式需要用到过滤器。例如,对于一部XML格式的小说,如果要将它以传统的纸张方式、Web页面格式和适合掌上设备阅读的格式发布,就需要分别为这三种不同媒体提供输出样式说明,但描述内容的XML文档无需任何改动,这就实现了内容与显示样式的分离。
可扩展样式语言(Extensible Style Language,XSL)是用得最多的XML过滤器。XSL建立在已有的标准,包括文档样式语义与规范语言(Document Style Semantic sand Specification Language,DSSSL)和级联式样式表(Cascading Style Sheets,CSS)之上。XSL比CSS更为全面,但许多地方仍保持一致,如使用相同的名字命名样式属性。XSL也是一种说明性语言,因此,即使非专业程序员的用户也有可能应用它的格式化规则来定义元素的显示样式。除了格式化功能,XSL规则也提供了在最终输出中转换、排序和隐藏元素的能力。
(9)支持Web应用的互操作和集成
传统EDI(电子数据交换)机制依靠不同商业之间的强大计算机系统来实现压缩的信息传输.每一条信息在传输使用,提供给用户之前都必须编码.电子商务在网上运作时用户端每填完一个HTML的表格之后,都要把表格返还给初始的服务器处理.产品交易,谈判签约,后勤管理,税收报表等等这一些活动的数据处理都集中在了一端.可以预测到,有了XLL所链接的行为控制机构和XSL所提供的客户端评价功能,将来的数据可以从屏幕上抓取,有必要的话可在客户端处理,在处理数据时,传输给相关用户而不必要改换数据格式.

(10)WEB 服务
Web服务是最令人激动的革命之一,它让使用不同系统和不同编程语言的人们能够相互交流和分享数据。其基础在于Web服务器用XML在系统之间交换数据。交换数据通常用XML标记,能使协议取得规范一致,比如在简单对象处理协议(Simple Object Access Protocol, SOAP)平台上。SOAP可以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个Java对象进行通讯。这种通讯甚至可以发生在运行于不同操作系统上的对象之间。DCOM, CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传递消息。


最后:
作为当今一大热点的WAP技术,已经引起业界的关注,而WAP是XML技术在无线移动通讯上的应用,可广泛建立在多种无线网络,如TDMA、CDMA、GSM等上,以及任意操作系统,如PalmOS、EPOC、Windows CE、FLEXOS、OS/9、JavaOS等,它甚至提供不同设备在家庭之间的业务互通能力。最后,面向网页制作的XHTML、面向设计的SVG、面向电子书的eBook、面向无线网的WML和HDML以及面向报业的NITF和分类广告标准都是XML的具体应用,并且都已取得较大发展。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧