今晚碰上了这个问题。
解决办法是:在xsd的声明中加:elementFormDefault=“qualified”
怪自己没有加上这句话的习惯...
网上有很多攻略:在出错的代码前后加<jsp-config></jsp-config>,或是改version的值;或是将“xmlns="http://java.sun.com/xml/ns/j2ee"”直接删掉等等。
不知为何,都无法解决我的问题。
我的代码可谓是最基础的。
代码如下:
xml:
<?xml version="1.0" encoding="utf-8"?>
<bookstore xmlns="http://www.example.org/ppt"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/ppt ppt.xsd"
>
<book ></book>
</bookstore>
xsd:
<?xml version="1.0" encoding="utf-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/ppt"
xmlns:tns="http://www.example.org/ppt"
>
<element name="bookstore">
<complexType>
<element name=“book” >
</element>
</complexType>
</element>
</schema>
后来呢,找到了这篇文章:http://bytes.com/topic/xml/answers/909955-cvc-complex-type-2-4-invalid-content-found