cvc-id.3: A field of identity constraint ‘web-app-filter-name-uniqueness‘ matched element ‘web-app‘

问题描述:

        最近在用eclipse2021维护一个比较老的javaWeb 项目的时候,web.xml文件丢出了很多problems,如下: cvc-id.3: A field of identity constraint 'web-app-filter-name-uniqueness' matched element 'web-app', but this element does not have a simple type.

原因:

        根据一些大佬的分析,应该是web.xml 的DTD约束异常。

解决办法:

         把 web.xml文件中DTD约束更新到最新版本——        

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 改成 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee

操作:

在浏览器输入http://java.sun.com/xml/ns/j2ee,页面跳转后可以看到最新版本,即:Latest Version:http://xmlns.jcp.org/xml/ns/javaee,替换即可

替换后:

clean!

 

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: cvc-id.3错误:身份约束“web-app-servlet-name-uniqueness”的字段匹配元素“web-app”,但该元素没有简单类型。 这个错误意味着XML文档中的一个元素被定义为身份约束的一部分,但该元素没有简单类型。简单类型是指可以直接从文本中读取的数据类型,例如字符串或数字。因此,该元素需要定义一个简单类型,以便身份约束可以正确应用。 ### 回答2: cvc-id.3是XML Schema中的标准验证规则之一,它用于验证唯一性约束。在该规则中,“web-app-servlet-name-uniqueness”表示Servlet名称的约束规则。如果XML文档中有多个Servlet具有相同的名称,则不符合此约束规则。但是,在额外的限制条件下,如果XML文档中的“web-app”元素没有简单类型,则会触发此规则的错误消息。 简单类型是XML Schema中定义元素数据类型的一种方式。在数据类型定义(DTD)中,元素可以使用数据类型名称来定义元素类型。例如,IDREF是一种简单类型,用于引用文档中已定义的其他元素。 在引用“web-app-servlet-name-uniqueness”约束规则时,解析XML文档并检查“web-app”元素,并应用另一个验证规则,即cvc-type.2。cvc-type.2验证“web-app”元素是否有简单类型,并且如果缺少简单类型,则要求提供一个。如果没有提供,则将触发cvc-id.3错误消息。 此错误可能是由于XML文档编写者创建的错误或文档格式错误而导致的。遵循XML文档规范并确保提供必要的元素和数据类型定义可以帮助避免此错误消息。如果必须引用复杂类型的节点,请使用其他约束规则,例如键(unique)或外键(foreign key)约束规则。 ### 回答3: cvc-id.3是XML Schema验证的一个错误代码,它表示身份约束中的某个字段与元素相匹配,但该元素没有简单类型。在这个问题中,元素为'web-app',这是一个常用的XML配置元素,用于在Java Web应用程序中描述Web应用程序的环境和配置。 这个错误通常意味着要么身份约束中的字段没有正确定义,要么元素的类型没有设置或设置不正确。当发生这种情况时,XML解析器无法验证元素是否符合所需的格式和内容要求。结果,应用程序可能会因为无法正确读取并解析XML文件而出现错误,这可能会影响应用程序的正常功能。 要解决这个问题,需要重新检查XML文件的身份约束和元素定义,以确保它们正确地配置和匹配。如果存在任何错误或不一致之处,应该进行相应的更正以使其符合XML标准规范。如果没有意外的错误,重新验证XML文件以确保问题已经得到解决并正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值