AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

你难道还没有用 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:091577
用户头像

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

关注

评论

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

16. 奇点来临?

Databri_AI

人工智能

MQ是一种新的通信模式

风翱

MQ 9月日更

上云迁移之路,如何选择适合方式?

云计算

和阿里大牛的技术面谈,字节跳动Java实习面试凉凉经

Java 程序员 后端

想要掌握未来嘛?这份腾讯高工撰写的Redis实战笔记就告诉你什么是未来!

Java 腾讯 面试 大厂 金九银十

桐乡引入百度智能云开物工业互联网,数字经济再提速

百度大脑

人工智能

读完这份阿里高质量性能优化全解,我的系统终于不再频繁瘫痪了

Java 阿里巴巴 编程 面试 金九银十

【Vuex 源码学习】第一篇 - Vuex 的基本使用

Brave

源码 vuex 9月日更

☕【JVM技术指南】「理论总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】

码界西柚

JVM GC 垃圾回收算法 9月日更

基础+缓存雪崩+哨兵+集群+Reids场景设计,经验分享

Java 程序员 后端

JavaScript进阶(上)

Augus

JavaScript 9月日更

和阿里大牛的技术面谈,金三银四旗开得胜

Java 程序员 后端

堪比狗血剧!18名Java程序员凭阿里P8笔记,同时斩获大厂offer

Java 编程 面试 阿里 大厂

关系型数据库如何存储树形结构?

王博

FLV格式解析

轻口味

android 音视频 RTMP 9月日更

网络安全之一个渗透测试小案例

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

“融合创新”是区块链的应用发展趋势吗?

CECBC

MDEX市值机器人系统开发功能介绍

量化系统19942438797

交易所 市值机器人 MDEX

译介:《组装一台电脑9:精简》

姬翔

9月日更

和腾讯大牛的技术面谈,分布式系统中ACID和CAP有什么区别

Java 程序员 后端

人类视觉神经科学助力音视频产业革命 - 弱网下的极限实时通信

声网

音视频 弱网下的极限实时视频通信

Rust 与 C++:深入的语言比较

奔着腾讯去

c++ rust 安全 编程语言 并发

中国移动5G消息开发者社区第三期直播课堂圆满结束,直播回放已上线社区!

5G消息

和腾讯大佬的技术面谈,BTAJ面试有关散列(哈希)表的面试题详解

Java 程序员 后端

Nacos 开源、自研、商业化三位一体战略解读

阿里巴巴中间件

云计算 阿里云 微服务 云原生 nacos

OceanBase 源码解读(四):事务的一生

OceanBase 数据库

数据开发 oceanbase OceanBase 开源 OceanBase 社区版 OceanBase 数据库大赛

网络攻防学习笔记 Day135

穿过生命散发芬芳

网络基础 9月日更

Kafka 常用工具脚本总结

Se7en

和阿里大牛的技术面谈,springcloud面试题汇集与答案

Java 程序员 后端

复盘上次Redis缓存雪崩事故,中级Java工程师面试题

Java 程序员 后端

成熟的区块链技术是解决供应链金融痛点问题的根本出路

CECBC

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