写点什么

W3C 更新 XML Schema 1.1 版本化指南

  • 2007-08-22
  • 本文字数:963 字

    阅读完需:约 3 分钟

公平地说,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

2007-08-22 12:09953
用户头像

发布了 225 篇内容, 共 63.5 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

假如面试官要你手写一个promise

helloworld1024fd

JavaScript 前端

滴滴前端一面常考手写面试题整理

helloworld1024fd

JavaScript 前端

从零手写react-router

helloworld1024fd

JavaScript 前端

从源码角度看React-Hydrate原理

flyzz177

React

应用模型开发指南上新介绍

HarmonyOS开发者

HarmonyOS

ChatGPT 爆火,社交应用如何 Get 新技能

融云 RongCloud

IM ChatGPT

如何使用C LinkSDK(4.x)快速接入阿里云物联网平台?——实践类

阿里云AIoT

阿里云 物联网 IoT

基于大规模边缘计算的千万级聊天室技术实践

环信

聊天室 大规模边缘计算 千万级

极光笔记 | 极光PUSH服务助力企业提升抢单速度

极光JIGUANG

技术干货 移动推送 智能推送

BNB Chain 2023年40佳DAPP评选,Zebec赫然在列

鳄鱼视界

深入React源码揭开渲染更新流程的面纱

goClient1992

React

从一次CPU打满到ReDos攻击和防范

京东科技开发者

正则表达式 Web 企业号 3 月 PK 榜 ReDoS

TSBS 是什么?为什么时序数据库 TDengine 会选择它作为性能对比测试平台?

TDengine

性能测试 时序数据库 ​TDengine

技术写作的“坎”

码猿外

程序员 写作

从recat源码角度看setState流程

flyzz177

React

直播 | StarRocks 实战系列第三期--StarRocks 运维的那些事

StarRocks

数据库 开源 运维

CutLER:更好地训练无监督识别模型

Zilliz

LED广告宣传车与LED流动舞台车的区别

Dylan

广告 LED 户外LED显示屏

【明晚直播】KunlunBase 1.1 版本发布:完善MySQL 兼容性,OLAP性能提升

KunlunBase昆仑数据库

MySQL 数据库 PgSQL 线上直播

云原生可观察性工具泛滥的思考

HummerCloud

云原生 可观察性

Switchquery:移动端秒级配置触达平台

京东科技开发者

App 配置原理 用户触达 企业号 3 月 PK 榜

走进RocketMQ(三)消息存储与消费

白裤

Java RocketMQ RocketMQ消息存储 RocketMQ消息消费

深度分析React源码中的合成事件

goClient1992

React

顶层设计出台 浪潮云破局再生长丨与千行百业扬帆数字蓝海

云计算

轻量易部署!Coolbpf 发布不依赖 Clang 的脚本化编程特性 lwcb | 龙蜥技术

OpenAnolis小助手

开源 rust ebpf coolbpf lwcb

从计费出账加速的设计谈周期性业务的优化思考

鲸品堂

运营商 业务流程优化 企业号 3 月 PK 榜

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.2版已发布

JackJiang

网络编程 即时通讯 IM

手写一个react,看透react运行机制

goClient1992

React

BNB Chain 2023年40佳DAPP评选,Zebec赫然在列

威廉META

ChunJun 1.16 Release版本即将发布,bug 捉虫活动邀您参与!

袋鼠云数栈

京东前端二面常考手写面试题(必备)

helloworld1024fd

JavaScript 前端

W3C更新XML Schema 1.1版本化指南_SOA_Jean-Jacques Dubray_InfoQ精选文章