0
我正在寻找创建一个XSD文档来为我验证一些XML。比方说,例如,XML文档是用来描述书:关于使用XSD进行XML验证的问题
<?xml version="1.0" encoding="UTF-8"?>
<book>
<comment>Bob's very first book</comment>
<name>Bob's book</name>
<author>Bob</author>
<year>2009</year>
<publisher>
<name>Dan's book publishing enterprise</name>
<address>123 Fake St.</address>
</publisher>
</book>
我们也可以说,我只真正关心的三大要素 - 名称,作者和年份。它们是强制性的,应该根据模式进行验证。我不控制我收到的XML文件,所以元素的顺序应该不重要,并且任何其他元素都将被允许通过XSD验证未经检查。
遵循这些要求,我试图构建一个能够做这种验证的XSD模式,但我无法把它做好。可以按任何顺序定义元素的约束规则排除了sequence
指示符。剩下的是all
或choice
指标。 all
将是明显的选择,但它不允许我使用any
元素。
我也玩弄使用这种的想法:
<include schemaLocation="year.xsd"/>
<include schemaLocation="name.xsd"/>
<include schemaLocation="author.xsd"/>
....
<sequence>
<any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
而如果XML文件中找到,名称一年,笔者将被验证,这不检查强制性内容 - 我不能指定的年,作者和该书的名称都需要通过验证。
任何人都可以给我提示如何构建一个XSD文档,它将验证一些无序的强制性元素,并仍然允许XML文件中的未定义元素通过验证?
谢谢!
看起来你是对的...... – Sevas 2010-04-15 14:20:52