1

我正在尝试使用 Maven XML 插件来针对模式验证我的 xml,但我一直收到错误消息:

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

我想它必须处理我的命名空间声明,所以它们是:

在我的 XSD 中:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns="http://www.myurl.com/schemas" 
  targetNamespace="http://www.myurl.com/schemas" 
  elementFormDefault="qualified" version="1.0">

在我的 XML 中:

<myTag xmlns="http://www.myurl.com/schemas">

这些声明有什么问题?我需要修改什么?

谢谢你的帮助。

4

1 回答 1

1

在你的 pom.xml

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>xml-maven-plugin</artifactId>
    <executions>
      <execution>
        <goals>
          <goal>validate</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <catalogs>
          <catalog>src/main/resources/xsd/catalog.xml</catalog>
      </catalogs>
      <validationSets>
        <validationSet>
          <dir>src/main/resources/xsd</dir>
          <systemId>src/main/resources/xml/mytag.xml</systemId>
        </validationSet>
      </validationSets>
    </configuration>
  </plugin>

并在您的目录文件 src/main/resources/xsd/catalog.xml

<catalog>
    <system systemId="http://www.w3.org/2001/XMLSchema" uri="http://www.w3.org/2001/XMLSchema.xsd"/>
</catalog>

有关目录配置的更多信息,请参阅Maven 插件目录

于 2011-12-21T00:17:13.067 回答