XML文档实例验证

在企业XML应用中,对XML文档进行验证是保证应用正确运行的关键。甚至在不少的应用中,XML文档验证本身既是应用的功能的一部分。

使用DTDXML Schema进行验证是我们很多人知道的。但这类基于大纲、定义的验证不能在解决很多来自实际业务的XML文档的验证时很吃力。比如:

要验证如下逻辑:如果某个product带了size属性的话,那么必须同时带有unit(单位)属性,否则将不知道是以“厘米”还是“英寸”标示产品的。这样的验证如果使用DTDXML Schema验证会很吃力。但如果用XML实例描述语言(有的地方翻译的是基于规则语言、XML模式语言)来完成或许会更好。RELAX NGSchematron是不错的选择。这类语言用于XML验证时,可以脱离DTDXML Schema,而直接通过解析XML文档实例(即:XML Instance)来进行逻辑判断。

Schematron为例,完全上基于XPath的一种XSL。利用XSLmatch模式来对XML实例文档进行验证。迅速上手后,还发现Schematron用于在企业XML应用中编写一些业务逻辑限制规则也是非常好的选择,即强大又简单。



上图:Schematron的标志,一只小狐狸?一个卡通片中的主角

相关资源和链接:
RELAX NG

RELAX NG主页

使用 RELAX NG 反击
Schematron:

Schematron主页

An Interview with Rick Jelliffe

Validating XML with Schematron

-end-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值