InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

W3C更新XML Schema 1.1版本化指南

作者 Jean-Jacques Dubray 译者 郭晓刚 发布于 2007年8月22日

领域
企业架构,
语言 & 开发
主题
XML Schema ,
Web服务标准 ,
WSDL ,
标识语言 ,
Web服务 ,
SOA ,
语言 ,
编程 ,
企业架构 ,
XML 数据绑定 ,
架构 ,
XML

公平地说,XML Schema 1.0已经获得了广泛的接受,尽管在它最初登场的时候受到了来自数据、Web和文档社群的种种非议。人们已经停止使用DTD,甚至连轻量级的替代品如Relax NG也似乎失去了发展的动力。W3C数年前启动的XML Schema 1.1工作组正准备下个月发出“最后召集”,这意味着“它将在十二个月内成为W3C推荐标准(Recommendation)[即最高规格的规范]”,David Orchard如是说,他是BEA的标准架构师以及XML Schema 1.1工作组的成员。

也就是说如果你有大量的XML Schema,可能现在就应该开始着手计划迁移你的Schema和数据绑定策略了。

模块性、扩展性和版本化(Versioning)面向服务架构中消息格式设计的关键方面,而且从XML Schema出现起对于最佳使用模式的争论就一直延续至今,因为规范本身允许多种特性的组合(全局vs局部类型或元素、限定vs非限定的命名空间……)。Roger Costello对这些模式写过一篇详尽的总结。每种模式提供的模块性和扩展性在程度上各有不同。

在新的 XML Schema 1.1版中,工作组花费了大量的时间来解决XML Schema的版本化。在考察了大量的用例之后,七月份W3C发布了《用XML Schema 1.1新特性对XML语言进行版本化的指南》(定案后将成为一份W3C备忘录)的阶段性更新,以及三份技术架构组(TAG)文档,分别是《语言的扩展及版本化:术语》、《语言的扩展及版本化:XML语言》(译注:非指XML本身,而是指用XML形式定义的语言)和《语言的扩展及版本化:策略》。

XML Schema 1.1包含很多新的扩展机制。
  1. 弱通配符(Weak Wildcard)——允许通配符紧接在可选元素之后
  2. 对all组的更新——可在all组中使用通配符
  3. 反向通配符(Negative Wildcard)——排除特定的命名空间与名字
  4. 回退到声明类型——如果xsi:type未知则使用声明类型。
  5. 通配符的自动插入
  6. “不在Schema中”通配符(Not in Schema Wildcard)——这个通配符匹配当前Schema中没有定义的所有事物。

其中一项关键的革新是将扩展性织入到元素序列,而在1.0版中,附加的元素只能紧跟在复杂类型定义的后面。版本化指南中详细描述的许多技术,毫无疑问将产生出更多的设计模式,并且创造出更灵活的服务接口,从而在服务的消费者与生产者之间达成更加松散的耦合。

查看英文原文:W3C Publishes an Update to Guide to Versioning XML Schema 1.1

译者 郭晓刚 是InfoQ中文站架构社区编辑,创建并终结过数家软件小企业,翻译过多本技术书籍。