首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cvc-elt.1:找不到“countries”元素的声明

cvc-elt.1:找不到“countries”元素的声明
EN

Stack Overflow用户
提问于 2013-06-15 23:37:42
回答 2查看 1.1K关注 0票数 1

cvc-elt.1:找不到“countries”元素的声明

我是xml模式验证的初学者,我发现上面的错误是

fileSchema.xsd:

代码语言:javascript
复制
> <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>

file.xml

代码语言:javascript
复制
<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>

出厂设置

代码语言:javascript
复制
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"

但也面临着同样的错误。

请找出错误所在。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-16 02:10:45

这对我很管用。我认为这一定与您运行验证的方式有关:模式或源文档没有任何错误。

票数 2
EN

Stack Overflow用户

发布于 2015-04-28 16:01:42

我认为在您的示例中,要使其运行,唯一需要做的就是取消对该行的注释:

//f.setNamespaceAware(true);

注:你的错误帮助了我:),我很高兴。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17125266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档