预测微软神秘的X#

ZDNet软件频道 时间:2003-05-22 作者:BUILDER.COM |  我要评论()
本文关键词:
当Don在巴尔的摩IDEAlliance XML 2002会议上演讲的时候,他宣布微软已经开始开发一种新的语言,他把它叫做X#。
本文译自Builder.com,未经许可请勿转载最近从微软传出的一件让人迷惑的事情是Don Box的一条几乎被抛弃的评论,他是SOAP结构一个主要的创立者,同时也是微软的XML标准组的一名设计师。当Don在巴尔的摩IDEAlliance XML 2002年会议上演讲的时候,他宣布微软已经开始开发一种新的语言,他把它叫做X#。他虽然没有提供关于这个新语言的任何细节,但是指出它会把XML作为.NET编程的头等公民来对待。

雷蒙德(Redmond,微软总部所在地)之外的很多东西都还只是关于X#的推测,但是已经有足够的信息来让预测接近于这门语言的实际情况了。

最初,XML社区里的很多成员认为,X#将会成为W3C的XSLT转换语言的替代品,用来将XML转变成HTML或者各种不同的XML的格式。但是,这不太像微软对.NET平台上强制编程模型的强调。而且,对这样一种转换语言的需求并不真的存在——XSLT这门丰富但是被公认为复杂的语言是大多数程序员需要学习的,这门语言核心用户的数量和.NET开发人员的数量比较起来要少得多。

可能是XML结构描述的替代者

XML社区的其他成员认为,X#更有可能是对当前XML开发一个更加基本的领域的扩展——后结构描述已验证信息集(Post-Schema Validated Information Set,Infoset)。一个XML的文档可以被看作是信息的结构集合,即Infoset。当XML最初作为文档元语言SGML的子集诞生时,它还不具有数据类型的概念——也就是说,你不能指定XML的<cost>标签应该包含数值数据,更不要说把数据限制为小数点后带有两位小数的十进制数。XML结构描述定义语言(XML Schema Definition Language,XSD)能够提供这个能力,对这个语言的研究工作是在XML规范自身仍在发展的时候开始的。但是经过了三年半的时间和大量口水大战之后,终于诞生了用XML编写成的用于XML文档的类型定义语言。

XML结构描述的一个目的是描述一套规则,用来定义合法的XML文档由什么组成。将一个文档同结构描述进行对比检查的过程叫做验证,在典型的情况下,这一过程需要使用类型信息来创建二进制对象,这些类型信息被明确地编码进了XML元素自身里。因此,任何尝试要把<cost>标签的内容更改为预先专门指定的元素域(domain of the element)以外的字符串、日期或者数字的行为,都会生成一个能够被处理器所理解的错误(信息)。一旦文档通过了验证,它就能够被作为后结构描述已验证信息集(Post-Schema Validated Infoset,PSVI)。

这些PSVI有很多有趣和有用的属性。对刚刚接触它的人而言,PSVI看起来和用起来都很像类,如此之像,以至于如果有合适的框架,你可以直接利用PSVI所具有的面向对象的能力轻易地创建一门非常强健的语言。由于结构描述是有效的和唯一的,只要它被打上叫做命名空间的唯一标签,所以在理论上,它就应该能够向描述对象能够做什么的命名空间附加一系列方法——这一系列方法自身可能会被定义为XML实体。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134