Было бы лучше, если вы зададите эти вопросы отдельно.
Первый вопрос - просто используйте несколько jaxb:schemaBindings
.
<jaxb:bindings schemaLocation="a.xsd" node="/xs:schema">
<jaxb:schemaBindings>
<jaxb:package name="com.a"/>
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings schemaLocation="b.xsd" node="/xs:schema">
<jaxb:schemaBindings>
<jaxb:package name="com.b"/>
</jaxb:schemaBindings>
</jaxb:bindings>
Второй вопрос - многократное исполнение или выполнение некоторой постобработки с перемещением файлов по своему усмотрению. Почему несколько казней не работают для вас?
Обновление: Вы говорите, что вас интересует пространство имен, а не решение для каждого файла.
Во-первых, это не имеет большого значения, в конце концов, это решение для пространства имен в любом случае. Если вы связываете через schemaLocation
, XJC связывает schemaBindings
с целевым пространством имен этой схемы. Вам не нужно настраивать каждый файл этой схемы, и вы не можете определить два пакета для одного пространства имен.
Во-вторых, вы можете использовать SCD привязок вместо:
<jaxb:bindings scd="x-schema::tns" xmlns:tns="http://a.com">
<jaxb:schemaBindings>
<jaxb:package name="com.a"/>
</jaxb:schemaBindings>
</jaxb:bindings>
Ваше решение для каждого файла, и я заинтересован в решении в пространстве имен. – trzeci
@trzeci См. Обновление. – lexicore