The eXtensible Markup Language is a meta-language which is used to
create markup languages. It is not a markup language itself however. The name is a bit misleading.
Since there can be an infinite number of markup languages created with XML, it is very difficult to create tools the "automatically" create instances of "any" markup language.
When building custom binding tools to move from
Java object to an XML-based representation, you typically need to perform significant data anaylsis and know a lot of details beforehand. Attempting to design a solution without all the information is not very efficient and your chances of getting it "right" are very small.
However, building a
custom solution is usually the best option. The public frameworks out there that attempt to execute "generic" binding introduce a whole lot of unnecessary complexities and unwanted stuff. Moreover, they tend to force you to write your code in a certain complex way which introduces a bunch of other problems and limitations eventually.