Я хочу создать две группы классов и один класс с одинаковым именем - TAG из двух разных XML.
<templates xmlns="http://xxxxxxxxxxx.xx.xxx.xxx">
<template name="XXXXXXXXXXXXXXXXXXXXX">
<tag id="XXXXXXXXXXX">
<tag id="XXXXXXX" value="XXXXXXXXX" />
</tag>
<tag id="YYY" value="YYYYY" />
</template>
</templates>
и xsd-файл для этого XML
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://xxxxxxxxxxx.xx.xxx.xxx"
xmlns:tns="http://xxxxxxxxxxx.xx.xxx.xxx">
<xsd:element name="templates" type="tns:Templates"/>
<xsd:complexType name="Tag">
<xsd:sequence>
<xsd:element type="tns:Tag" name="tag"/>
</xsd:sequence>
<xsd:attribute type="xsd:string" name="id"/>
</xsd:complexType>
<xsd:complexType name="Template">
<xsd:sequence>
<xsd:element type="tns:Tag" name="tag" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute type="xsd:string" name="name"/>
</xsd:complexType>
<xsd:complexType name="Templates">
<xsd:sequence>
<xsd:element type="tns:Template" name="template"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
и другой XML с тем же именем элемента
<?xml version="1.0" encoding="UTF-8"?>
<keys>
<key label="XXXXXXXXXXXXXXX">
<tag id="YYYYY" />
<tag id="ZZZZZZZZZ" />
</key>
</keys>
с другим xml.
Для генерации класса я использую зависимость maven:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>xjc_pos</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<packageName>ru.bpc.cg.cainterface</packageName>
<generateEpisode>false</generateEpisode>
<clearOutputDir>false</clearOutputDir>
</configuration>
</execution>
</executions>
<configuration>
<outputDirectory>src/main/java</outputDirectory>
<sources>
<source>src/main/resources/ru/bpc/cg/cainterface/caTemplates.xsd</source>
<source>src/main/resources/ru/bpc/cg/storagehandler/keyStorage.xsd</source>
</sources>
</configuration>
</plugin>
После очистки пакета mvn появляется ошибка:
org.xml.sax.SAXParseException: A class/interface with the same name "com.xxxxxxxxxxxxx.Tag" is already in use. Use a class customization to resolve this conflict.
Как разрешить этот конфликт? Может быть, есть ссылка от одного xsd к другому с тем же определением класса.