У меня есть несколько больших файлов DTD. Я использовал trangдля преобразования их в файлы XSD, поэтому я мог легко использовать его из JAXB и других утилит. Однако в сгенерированном файле XSD все объявленные элементы находятся на верхнем уровне. Это означает, что любой элемент может быть корневым элементом входного XML. Я хочу указать только конкретный элемент.
Наличие этих нескольких корневых элементов вызывает несколько проблем, например. xjc
генерирует @XmlRootElement
для всех классов, поэтому мне нужно добавить больше дополнительных проверок.
Насколько я понимаю, мне нужно переписать сгенерированный XSD, переместив
s в
s, изменив element ref
s в element type
s и т. д., но это было бы слишком большой работой, без возможности проверить, все ли сделано правильно.
Есть ли более эффективный способ сделать это?