У меня есть некоторые части некоторых XSD:
1.
<element name="element1" type="complexType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
2.
<complexType name="complexType">
<complexContent>
<restriction base="someOtherComplexType">
<sequence>
<SOME_ELEMENTS_HERE>
</sequence>
<attribute ref="ns:someAttribute1" use="required" fixed="ABC"/>
<attribute ref="ns:someAttribute2" use="required"/>
</restriction>
</complexContent>
</complexType>
Элемент1 генерируется в коде Java в виде списка. Когда я добавляю элементы в список, JAXB сериализуется следующим образом:
<ns:element1 ns:someAttribute="ABC" ns:someAttribute2="T"/>
Хотя это не соответствует схеме, поскольку в нем отсутствуют данные из части «sequence». Поскольку я не хочу ничего добавлять для «последовательности», мне нужно сгенерировать следующий вывод, чтобы соответствовать XSD:
<ns:element1 ns:someAttribute="ABC" ns:someAttribute2="T" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
Есть ли у вас какие-либо идеи, как это сделать, сохраняяПомните, что эти элементы добавляются в список, список, который сериализуется таким образом?
PS: сделать абстракцию, если некоторые пространства имен и имена не совпадают на 100%. Мне нужно было заменить мои оригинальные XSD на несколько фиктивных имен.