DTD和XML Schema(XML 模式)的比较

使用 XML 模式,您会有更多的能力来定义什么样的 XML 文档是有效的。它们与 DTD 相比有几个优势:

XML 模式使用 XML 语法。换句话说,XML 模式是一个 XML 文档。这意味着您可以象处理任何其它文档一样处理模式。例如,您可以编写一个 XSLT 样式表,该样式表将 XML 模式转换成具有自动生成的 JavaScript 代码的 Web 表单,其中的 JavaScript 代码可以验证您输入的数据。

XML 模式支持数据类型。尽管 DTD 确实支持数据类型,但很明显这些数据类型是从发布的角度开发的。XML 模式支持 DTD 中的所有原始数据类型(诸如标识和标识引用之类的类型)。它们还支持整数、浮点数、日期、时间、字符串、URL 和其它对数据处理和验证有用的数据类型。

XML 模式是可扩展的。除了 XML 模式规范中定义的数据类型以外,您还可以创建自己的数据类型,并且可以基于其它数据类型派生出新的数据类型。

XML 模式有更强的表达能力。例如,您可以用 XML 模式定义任何 <state> 属性值不得超过 2 个字符,或定义任何 <postal-code> 元素的值必须与正则表达式 [0-9]{5}(-[0-9]{4})? 相匹配。您无法用 DTD 做这些事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值