问题
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.
回答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
来源:https://stackoverflow.com/questions/7348353/error-with-xsd-validation-cvc-elt-1-cannot-find-the-declaration-of-element-x