关于使用XSD进行XML验证的问题

关于使用XSD进行XML验证的问题,xml,validation,xsd,Xml,Validation,Xsd,我希望创建一个XSD文档,为我验证一些XML。例如,假设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>

我希望创建一个XSD文档,为我验证一些XML。例如,假设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文件中找到,将验证名称year和author,但这不会检查强制元素-我无法指定需要通过验证的年份、作者和书籍名称

有谁能告诉我如何构造一个XSD文档,它将验证大量无序的必需元素,并且仍然允许XML文件中未定义的元素通过验证


谢谢

我很确定,您不能用XML模式来实现这一点。建议:

  • 准备文档,以便使用XSLT进行验证
  • 使用
<include schemaLocation="year.xsd"/>
<include schemaLocation="name.xsd"/>
<include schemaLocation="author.xsd"/>
....
    <sequence>
        <any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </sequence>