OVERVIEW:
'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:
- application prototyping
- rapid application development
- easily handling large amounts of xml data
- http://www.xml.com/pub/a/2003/09/03/binding.html
- http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
- http://www.rpbourret.com/xml/XMLDataBinding.htm
FEATURES:
- Define objects in many documents. The definition set is generated from multiple documents. The same tag & namespace is part of same definition across documents
- Write objects out with 'toXML()'.
USAGE:
java -classpath $CP com.interrupt.bob.Main $xml_files
options:
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)
ex)
java -classpath $CP com.interrupt.bob.Main -gen gen/ -base . -end xml $xml_files
DOWNLOAD:
Get all files from the the 'Bob' homepage in the download section:
http://sourceforge.net/projects/bob/
- bob.jar
- bob-src.jar
- Anonymous CVS (When prompted for a password for anonymous):
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bob login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bob co -P BOBJava
LIBRARY DEPENDANCIES:
These are runtime library dependencies:
- Piccolo.jar (http://piccolo.sourceforge.net/)
- commons-cli-1.0.jar (http://jakarta.apache.org/commons/cli/)
- javafind.jar (http://sourceforge.net/projects/javafind/)
- velocity-1.3.1.jar (http://jakarta.apache.org/velocity/)
- velocity-dep-1.3.1.jar
And junit is needed to compile the thing:
- junit.jar (http://www.junit.org)
ISSUES:
- 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().