пометить как в следующем примере:
я есть десятки и десятки.xsd
файлы, для которых я хочу автоматически генерировать код. У пары файлов есть повторяющиеся имена, которые конфликтуют, когда я пытаюсь сгенерировать их все одновременно.
Я сосредотачиваюсь на том, чтобы просто попытаться заставить 2 из них работать.
Когда я получу эти 2 работы, я исправлю остальное. Но сейчас я сосредоточился только на двух из этих файлов. Я не контролирую их, они от продавца и следуют за«Стандарт», такредактирование их не вариант по нескольким причинам.
Я используюmaven-jaxb2-plugin
обрабатывать эти файлы.
Я добавилbinding.xjb
файл, как предлагается в ссылке вmat b
ответ и другие инструкции, которые я нашел в Интернете. Но я получаю следующие ошибки, нет вывода.
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings version="2.1"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:schemaLocation=" http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd">
<jxb:bindings schemaLocation="mac-3.4.xsd">
<jxb:schemaBindings>
<jxb:package name="my.company.mac"/>
</jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings schemaLocation="mac-stylesheet-3.4.xsd">
<jxb:schemaBindings>
<jxb:package name="my.company.stylesheet"/>
</jxb:schemaBindings>
</jxb:bindings>
</jxb:bindings>
выдает следующую ошибку
[ERROR] Error while parsing schema(s).Location [ file:/C:/Users/Jarrod%20Roberson/Projects/spa-tools/spa-lib/src/main/sc
hema/mac-stylesheet-3.4.xsd{165,33}].
org.xml.sax.SAXParseException: 'halign' is already defined
Нарушающий элемент: (есть много других, это только первый, который сталкивается)
<xsd:simpleType name="halign">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="left" />
<xsd:enumeration value="center" />
<xsd:enumeration value="right" />
</xsd:restriction>
</xsd:simpleType>
И идентичен в каждом из.xsd
файлы, как мне разрешить это дублирование с использованием только одного сгенерированного класса или каждого сгенерированного в своем пространстве имен пакета?
Это не единственный дублирующий элемент, подобный этому, их много, поэтому просто попытаться удалить их из файлов тоже не вариант.
Этотhalign
в нескольких.xsd
файлы, и я хочу либо поместить их в отдельные пакеты, либо иметь возможность указать компилятору использовать первый сгенерированный.
Это где я начал, прежде чем я попробовал внешний.xjb
файл, просто указавpackage
вpom.xml
.
Как настроить привязку так, чтобы она игнорировала дублирующиеся конфигурации, отображала их в отдельные пакеты или сопоставляла их с существующими реализациями?