1

I am trying to use the Maven XML plugin to validate my xml against a schema but I keep having an error saying:

cvc-elt.1: Cannot find the declaration of element 'xs:schema'.

I guess it has to deal with my namespaces declaration, so here they are:

In my 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">

In my XML:

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

What is wrong with those declarations? What do I need to modify?

Thanks for your help.

Jean Logeart
  • 52,687
  • 11
  • 83
  • 118

1 Answers1

1

In your 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>

and in your catalog file src/main/resources/xsd/catalog.xml

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

For more information on catalog configuration see Maven Plugin Catalog

sweetfa
  • 5,457
  • 2
  • 48
  • 62