description | Bob is an XML Data Binding tool. 'Bob' provides a convenient way to bind XML definitions to object representations. |
owner | twashing@gmail.com |
last change | Fri, 26 Mar 2010 04:14:16 +0000 (26 00:14 -0400) |
URL | git://repo.or.cz/Bob.git |
| https://repo.or.cz/Bob.git |
push URL | ssh://repo.or.cz/Bob.git |
| https://repo.or.cz/Bob.git (learn more) |
bundle info | Bob.git downloadable bundles |
content tags
|
|
README
Bob is an XML Data Binding tool. 'Bob' provides a convenient way to bind XML definitions to object representations. It can be used 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:
http://www.xml.com/pub/a/2003/09/03/binding.html
http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
'XML Data Binding Resources'
http://www.rpbourret.com/xml/XMLDataBinding.htm
FEATURES:
-- 'n' documents. definition set generated from multiple documents
-- 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
IBob:
content/accessors
attributes/accessors
all
adders
removers
finders
toXML
CDATA
attribute type definition
LIBRARY DEPENDANCIES:
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
ISSUES
-- xml attributes cannot be named 'tagName' as this conflicts with bob internals
-- xml attributes cannot have dashes in thier names
-- tags cannot have more than 1 child with the same name (even with different packages)
-- user should specify type of subclass to generated classes; default to 'GClazz' is 'Clazz'
-- 'Bob' needs bob.jar to compile and begin the compile process. This is because the Queue & DocumentProcessor
portion of the code uses generated 'Bob' classes, which need to be generated and compiled to be used.
This makes it neccessary to have 'bob.jar' as part of the required libraries of 'Bob'.