Другой вариант - использовать JAXB для генерации объектов Java и использовать Hibernate для создания схемы на основе иерархии классов.
Это, как говорится, зависит от того, что вы пытаетесь сделать, и я думаю, что такие решения, вероятно, будут хрупкими и трудными для поддержки.