QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

你难道还没有用 RELAX-NG 吗?

  • 2007-10-30
  • 本文字数:523 字

    阅读完需:约 2 分钟

RELAX-NG (读音是“relaxing”)也是一种 XML schema 定义语言,它的主要特征是比目前通用的基于 DTD 或是 XSD 的语言要简洁优雅的多。W3C XML Schemas 已经因为“卓越”的复杂性而臭名昭著了,许多 XML 大师都对此表示过不满,Tim Bray评论说:

W3C XML Schemas (XSD) 烂透了。又难读,又难写,还不容易理解,交互性也成问题,而且你想用 XML 来做的很多事情都没法描述出来。

Griffin Brown 最近列出了使用RELAX-NG,而不是W3C XML Schema 来进行XML 建模的 10 条原因,把网络上散落的对 RELAX-NG 的赞誉做了归纳。如下所示:

  1. “好的规格说明就意味着好的交互性”。
  2. “提供了简洁的语法”(RELAX-NG 支持使用 DSL 来精确的描述约束条件,而不是使用尖括号)。
  3. “它的规范是一个稳定的 ISO 标准”。
  4. “没有 PSVI”(PSVI 被认为是有害的)
  5. “没有给内容提供默认值”。
  6. “更好的数据类型支持”。
  7. “更加完善的模型”
  8. “更加完善的语法校验”
  9. “文档实例没有依赖性 _”。_
  10. 正在获得越来越广泛的应用”。

我们可以使用“ Sun Multi-Schema Validator ”工具来将 XSD 文件转换成 RELAX-NG(.RNG)格式,该工具会生成比较冗长的.RNG 文件。而后可以使用 Trang 来把它们转换成更加简洁的格式。查看英文原文 Should you be using RELAX-NG?

2007-10-30 20:091541
用户头像

发布了 197 篇内容, 共 57.2 次阅读, 收获喜欢 20 次。

关注

评论

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

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者平台

软件 车联网 物联网 汽车

疯狂复习半个月,三面蚂蚁金服(交叉面)定级阿里P6

Java 程序员 后端

《鸿蒙理论知识04》HarmonyOS概述之系统定义

孙叫兽

鸿蒙 鸿蒙系统 引航计划

数据中心建设很复杂,但选择却能很简单:华为数据中心的多维创新

如何将外连接向内连接转换?

华为云开发者联盟

sql 数仓 GaussDB(DWS) 外连接 内连接

分布式系统中协调和复制技术的原理

博文视点Broadview

计划会议要开始了,产品负责人却没来…

华为云开发者联盟

Scrum PO 开发团队 计划会议 Sprint

Apache APISIX 社区周报 | 2021 8.30-9.12

API7.ai 技术团队

Apache 开源 API网关 APISIX 社区周报

《鸿蒙理论知识03》HarmonyOS概述之系统安全

孙叫兽

鸿蒙 鸿蒙开发 鸿蒙系统 引航计划

疯狂复习半个月,全栈系统化的学习路线

Java 程序员 后端

Python——静态方法与类方法、类的导入

在即

9月日更

3年才能驾驭新技术,不如试试这个低代码魔方

华为云开发者联盟

低代码 开发 华为云应用魔方 应用程序 魔方

百度智慧输入,会是企业降本增效的“新生产力”吗?

ToB行业头条

百度 企业服务 百度输入法

Canal Admin 高可用集群使用教程

Se7en

乘着汽车智能化的浪潮,“汽车人”职业方向的选择(一)

SOA开发者

软件 职业成长 汽车

netty系列之:在netty中处理CORS

程序那些事

Java Netty 程序那些事 响应式系统

架构实战课程 模块三作业

Frank

模块3-作业

笑看风雨情

简单聊聊汽车OTA给OEM和Tire1带来的变化

SOA开发者

程序员 职业成长 汽车

Opus从入门到精通(二):编解码器使用

轻口味

android 音视频 编解码 9月日更

穿越时空,跟我一起探索云栖数字谷(2021云栖大会免费送票)

阿里云CloudImagine

人工智能 云计算 阿里云 行业资讯 视频云

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者

软件 SOA

28分钟完成一款Python游戏,《客服戏翻总裁牌》

梦想橡皮擦

9月日更

《鸿蒙理论知识05》HarmonyOS概述之下载与安装软件

孙叫兽

鸿蒙 鸿蒙系统 引航计划

Vue进阶(幺幺玖):element-ui table组件适应性问题(横向滚动条)

No Silver Bullet

Vue 9月日更

MapReduce 示例:减少 Hadoop MapReduce 中的侧连接

华为云开发者联盟

hadoop mapreduce 排序 侧连接 联接

疯狂涨知识,spring全方位深入探索,

Java 程序员 后端

《鸿蒙理论知识06》HarmonyOS概述之应用开发基础知识

孙叫兽

鸿蒙 HarmonyOS 鸿蒙系统 引航计划 领航计划

你难道还没有用RELAX-NG吗?_架构_Gavin Terrill_InfoQ精选文章