我是xml架构验证的新学习者,并发现上述错误 与
> <xs:schema version="1.0"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://localhost:8080/ajaxprac"
> xmlns="http://localhost:8080/ajaxprac"
> elementFormDefault="qualified">
>
> <xs:element name="countries" type="xs:string"/>
> </xs:schema>
<countries xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://localhost:8080/ajaxprac"
xsi:schemaLocation="http://localhost:8080/ajaxprac fileSchema.xsd">
This is the xml with just root element
</countries>
DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
f.setValidating(true);
//f.setNamespaceAware(true);
try {
f.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
} catch (IllegalArgumentException e) {
System.out.println("Exception Occured: "+e.getMessage());
}
我用过
-test.namespace
-urn:Test.Namespace
而不是"http://localhost:8080/ajaxprac"
但面临同样的错误。
请找出错误
在此先感谢。
答案 0 :(得分:2)
它对我有用。我认为它必须与您运行验证的方式有关:架构或源文档没有任何问题。
答案 1 :(得分:0)
我认为在你的例子中,你需要让它运行的唯一一件事是取消注释这一行:
//f.setNamespaceAware(true);
N.B。你的错误帮助了我:),我感到高兴。