JiBX

JiBX is an open source Java framework for XML data binding. It solves the same problem as JAXB, XMLBeans and JDOM , but works differently. It lets developers work with data from XML documents using Plain Old Java Objects (POJOs). The JiBX framework uses a binding definition to tell it how the Java objects relate to the XML. It is designed to perform the translation between internal data structures and XML with very high efficiency, and is generally considered the fastest XML data binding framework for Java.

JiBX differs from other Java-XML transformation tools such as JAXB, XMLBeans and JDOM in that it is not based on code generation but on "Mapped Data Binding". In other words, the Java class and the XML document being mapped are both treated as first class objects and one is not generated from the other. This approach is particularly powerful in building systems to a Service-Oriented Architecture (SOA) because it decouples the domain model (Java) from the service interface (input and output XML documents).

With traditional Java-XML tools, the XML document is first used to generate a set of Java classes, then in a second step, attributes are copied from these intermediate Java classes to the domain Java classes using a tool like Dozer (or simple getters and setters). JiBX reduces this two-step transformation to a single step. Byte code enhancement is used to embed the conversion code directly into the classes, thus avoiding the generation of additional translation classes.

External links