BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

W3C更新XML Schema 1.1版本化指南

| 作者 Jean-Jacques Dubray 关注 3 他的粉丝 ,译者 郭晓刚 关注 0 他的粉丝 发布于 2007年8月23日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

公平地说,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账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT