我正在使用maven-jaxb-plugin和maven-jaxb2-plugin来编译一个xsd文件,该文件有两个具有相同名称的元素,但代码编译时没有抛出错误。生成的类没有共同相关的属性。请参阅生成的类:
...
* <element name="elementName" type="{http://namespace}typeElementName"/>
* <element name="elementName" type="{http://namespace}typeElementName"/>
public class TypeNameType {
@XmlElementRefs({
@XmlElementRef(name = "elementName", namespace = "http://namespace", type = JAXBElement.class)
})
protected List<JAXBElement<? extends Serializable>> content;
public List<JAXBElement<? extends Serializable>> getContent() {
if (content == null) {
content = new ArrayList<JAXBElement<? extends Serializable>>();
}
return this.content;
}
}
和XSD:
<schema elementFormDefault="qualified"
targetNamespace="http://namespace"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://namespace">
<complexType name="typeNameType">
<sequence>
<element minOccurs="1" maxOccurs="1" name="elementName" type="string" />
<element minOccurs="1" maxOccurs="1" name="elementName" type="string" />
</sequence>
</complexType>
</schema>
有人可以帮我解决这个问题吗?
韩国社交协会!
马塞洛
答案 0 :(得分:0)
验证一堆xml文件和xsd文件也可以通过xml-maven-plugin完成:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>validate</goal>
</goals>
</execution>
</executions>
<configuration>
<validationSets>
<validationSet>
<dir>src/main/xsd</dir>
<systemId>http://www.w3.org/2001/XMLSchema.xsd</systemId>
</validationSet>
</validationSets>
</configuration>
<plugin>
将src/main/xsd
以下的所有xsd文件隐藏起来,该插件将通过运行http://www.w3.org/2001/XMLSchema.xsd
来针对mvn xml:validate
对其进行验证。您应该将XMLSchema.xsd
下载到您的项目中以更快地进行验证并跳过对w3.org的请求。