Schemaless Java-XML Data Binding with VTD-XML
Subject:   Old task - new tool?
Date:   2007-09-30 00:21:20
From:   lexicore

When introducing a new Java-XML binding tool its is absolutely necessary to compare it to existing instruments. In your case - what are the principal functional differences from Commons Digester which is out there for ages?

The point that VTD-XML is more prone to changes of XML Schema is unsound. Even if the processing itself is schema-less, XPath expressions you use for binding are in most cases not. So if XML Schema evolves, instead of tracking down changes in generated classes, you have to track down changes in XPath expressions - which are integrated in the code as string. Which task is easier, what do you think?

Speaking of "developers dealing with XML documents" who "don't always have their schemas on hand" in a context of SOA is a further arguable point. Defined format of XML messages used in information exchange is essential to SOA. So you usually have to obey certain schema.

Next, when talking about performance, you have to do benchmarking and compare results of different tools in identical environments and tasks. You can't just say "runs very fast on our Athlon machine", it's simply not representative.

Last, you mention "Java-XML binding" in the title and do not say anything about marshalling Java objects in XML (which is the reverse but not less important task). How is this task fulfilled by VTD-XML?

Finalizing, the tool certainly has it's application as an XML to objects parser in cases where parsing speed is mission-critical. However I seriously doubt that it is applicable as a general-purpose binding tool, especially in the context of SOA.