用XML Schema验证数据有效性

ZDNet软件频道 时间:2003-02-14 作者:BUILDER.COM 翻译:Java研究组织 |  我要评论()
本文关键词:
文档类型定义(DTD)是事实上的XML文档定义和验证管理机制。不幸的是,DTD没有提供足够健壮的特性来满足许多XML应用的需求。为了弥补这个空缺,环球网协会(W3C)开发了XML Schema规范。我们将研究一下XML Schema是什么和使用Altova的XML Spy工具如何轻松的创建它。

文档类型定义(DTD)是事实上的XML文档定义和验证管理机制。不幸的是,DTD没有提供足够健壮的特性来满足许多XML应用的需求。为了弥补这个空缺,环球网协会(W3C)开发了XML Schema规范。我们将研究一下XML Schema是什么和使用Altova的XML Spy工具如何轻松的创建它。

XML Schema

XML Schema在数据验证比DTD所允许的要严格一些的情形下通常是优选。DTD根据结构来描述有效的XML文档,在内容方面,它的扩展很有限。

另一个DTD的缺点在于它使用了专门的语法来描述文档类型。然而DTD语法不是火箭科学,XMLSchema通过提供XML的语法来描述XML的文档类型改进了这个过程。

XML Schema允许详细说明DTD所不能够办到的许多事情。例如,在DTD里,仅仅只有少数几种方式指示一个元素预期将会出现的次数。

DTD允许指定某个条目在文档中仅出现一次或者出现零次或多次。DTD不能某个元素在文档中恰好应该出现四次。使用XML Schema,你可以要求一个元素在文档中出现的次数不少于三次,但是不能多于八次。例如,你也许希望包含对地址参数的支持,它至少有一个AddressLine元素,但是不能多于三个(因为你的传统数据库不支持这个)。XML Schema可以处理这种类型的验证。

XML Spy

XML Spy是创建和修改XML文档,DTD,XML Schema甚至SOAP事务的一个功能强大的工具。在XML Spy的一些特性中,它从XML文档生成DTD和Schema的能力,以及从DTD转换为Schema和反向转换的能力最受欢迎。因为XML Spy处理了所有的工作,从已有的XML文档生成新的Schema是很容易的一件事情。

XML文档

你需要一个XML文档作为开始。我们的例子使用了一个简单的文档,它包含了一个客户名字,帐号和地址:

<Customer>

<AccountNumber>123456</AccountNumber>

<Address>

<AddressLine>900 N. MichiganAve.</AddressLine>

<AddressLine>Suite2599</AddressLine>

<City>Chicago</City>

<State>IL</State>

<Zip>60612</Zip>

</Address>

</Customer>

我们首先在XML Spy中打开它。你可以使用XML Spy增强的栅格视窗很容易的操作XML数据。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134