En anden mulighed ville være at bruge JAXB til at generere Java-objekter og bruge Hibernate til at oprette et skema baseret på klassehierarkiet.
Når det er sagt, afhænger det af, hvad du forsøger at gøre, og jeg tror, at sådanne løsninger sandsynligvis vil være sprøde og svære at vedligeholde.