在此行找到多个注释cvc-pattern-valid

时间:2019-05-14 06:23:44

标签: xml schema

在eclipse中,我有一个xml,但是它有一些错误,例如: 在此行找到多个注释: -cvc-pattern-valid:值“ pf-realtime-security”相对于模式'($ | | \ p {L})(\ p {L} | \ p {Nd} | | $)*'表示类型为'null'。 -cvc-complex-type.2.2:元素“名称”必须没有元素[children],并且该值必须有效。 在此行找到多个注释:     -cvc-complex-type.3.2.2:不允许在元素“ int-jms:message-driven-channel-adapter”中显示属性“ cache-level”。     -cvc-complex-type.3.2.2:属性“ subscription-durable”不允许出现在元素“ int-jms:message-driven-channel-”中      适配器'。     -cvc-complex-type.3.2.2:属性“ durable-subscription-name”不允许出现在元素“ int-jms:message-driven-channel-”中      适配器”。

这是一个带有旧项目中的一些xml文件的spring boot项目,我不知道这在旧项目中是否也存在相同的问题。但是我的项目总是有这个问题。

<web-fragment id="WebFragment_ID" version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd">
    <display-name>PF Realtime Services Web Application - Security Module</display-name>
    <name>pf-realtime-security</name>
<int-jms:message-driven-channel-adapter connection-factory="primeLocateConnectionFactory"
        destination="primeLocateTopic" acknowledge="auto" auto-startup="true"
        cache-level="1" channel="primeLocateInChannel" pub-sub-domain="true" 
        durable-subscription-name="prime-locate-#{systemProperties['realtime.hostname']}" subscription-durable="true"/>

我希望这里xml文件中不会出现错误。

1 个答案:

答案 0 :(得分:0)

我不理解错误消息的multiple annotations部分,但是对name元素的抱怨很清楚:该架构要求它必须是有效的Java标识符(由正则表达式定义)模式),并且有效的Java标识符不能包含连字符。

由于文件中存在多个错误,而不仅仅是错误,所以您很可能实际上不应该针对特定模式验证特定的XML文档(也许您使用的是错误的模式?)。但是我对这个领土还不够熟悉,无法就此向您提供建议。