Недавно я перешел в проект, где я заметил, что существует определенное требование хранить некоторые данные в формате XML.Классы, созданные с помощью Castor (XML Marshalling) - XSD Недоступно
Предыдущая команда использовала классы Castor для Marshall и Unmarshall.
Теперь у меня есть новое требование, требующее добавить некоторые дополнительные (но необязательные) поля в этот XML-код. Однако я понял, что предыдущая команда якобы никогда не проверялась в XSD вообще, и у меня нет возможности связаться с ними.
XSD наверняка был большим и сложным, так как он отвечает за создание около 50 классов. Так что запись XSD снова будет подвержена ошибкам, а также риск, что я могу в конечном итоге создать XML-файлы, которые совместимы со старым XML.
Другая альтернатива, о которой я думал, использовал инструмент, подобный XML Spy, и попытался перестроить XSD из XML, однако это звучит немного сложно, так как мне нужно будет перепроектировать 20 нечетных XML для генерации XSD, а затем объединить все эти XSD в один, поскольку XML имел несколько необязательных разделов. В этом подходе все еще существует элемент ошибки.
Лучший вариант, о котором я могу думать, - это обратное проектирование классов для XSD - однако Кастор якобы не поддерживает эту функцию. Поэтому у меня нет средств для преобразования этих классов, созданных Castor, в XSD! Хотя классы, созданные Castor, имеют некоторые специфические методы Castor, по сути это Pojos, если специфические методы Castor игнорируются!
Есть ли у нас какие-либо предложения по получению или генерации XSD из классов Java? Есть ли у нас какие-либо другие предложения по решению вопросов, которые я обсуждал?
спасибо.