'Bob' is an XML/Java Data Binding tool. 'Bob' provides a convenient way to bind XML definitions to object representations. It is an excellent tool for:

  1. application prototyping
  2. rapid application development
  3. easily handling large amounts of xml data
The idea is to map out your business objects in xml. Xml tags with matching names and namespaces can be mentioned across many documents and still represent the same business object. There are some articles that go into the utility and features if Data Binding tools:


  1. Define objects in many documents. The definition set is generated from multiple documents. The same tag & namespace is part of same definition across documents
  2. Write objects out with 'toXML()'.


java -classpath $CP com.interrupt.bob.Main $xml_files

gen - directory in which to put generated documents (deafult: gen)
base - the base directory from which to run 'bob' (default: .)
end - select xml files with a given suffix (default: .xml)

java -classpath $CP com.interrupt.bob.Main -gen gen/ -base . -end xml $xml_files


Get all files from the the 'Bob' homepage in the download section: http://sourceforge.net/projects/bob/


These are runtime library dependencies:

And junit is needed to compile the thing:


  1. Xml tag attributes cannot have dashes in their names. There is an xml/java naming mismatch where java variables cannot have dashes in their names. This will be solved by inserting a simple translation layer to remove illegal characters for java names, then inserting them when writing toXML().