其中我的XML文件为:







对应的XSD文件为:













我写的java程序为:




























在执行的时候,总是提示:cvc-complex-type.2.4.c:严格输入了匹配通配符,但还是找不到元素“name”的声明。
但是我在XSD中,已经声明了一个 <xs:any minOccurs="0"/>的任意类型,支持扩展,但是确总是不正确.
后了解到,xsd中any虽然是便于xml文件的扩展,但是也是有条件的扩展,所扩展的内容需要由非本身的一个xsd文件来描述,而xml文件中的<xs:any>部分,也必须符合子xsd的格式限制.
故修改以上的xsd文件为:














其中d:/tmp/name.xsd文件为对xml文件中的<name>元素进行的限定:




进行这样的修改后,对于以上的xml文件的xsd校验就成功了.