2 Bob is an XML Data Binding tool. 'Bob' provides a convenient way to bind XML definitions to object representations. It can be used for:
\r
3 1. application prototyping
\r
4 2. rapid application development
\r
5 3. easily handling large amounts of xml data
\r
7 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.
\r
9 There are some articles that go into the utility and features if Data Binding tools:
\r
10 http://www.xml.com/pub/a/2003/09/03/binding.html
\r
11 http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
\r
13 'XML Data Binding Resources'
\r
14 http://www.rpbourret.com/xml/XMLDataBinding.htm
\r
18 -- 'n' documents. definition set generated from multiple documents
\r
19 -- same tag & namespace. is part of same definition across documents
\r
20 -- write objects out with 'toXML()'
\r
25 java -classpath $CP com.interrupt.bob.Main $xml_files
\r
28 gen - directory in which to put generated documents (deafult: gen)
\r
29 base - the base directory from which to run 'bob' (default: .)
\r
30 end - select xml files with a given suffix (default: .xml)
\r
33 java -classpath $CP com.interrupt.bob.Main -gen gen/ -base . -end xml $xml_files
\r
38 attributes/accessors
\r
48 attribute type definition
\r
52 LIBRARY DEPENDANCIES:
\r
54 Piccolo.jar (http://piccolo.sourceforge.net/)
\r
55 commons-cli-1.0.jar (http://jakarta.apache.org/commons/cli/)
\r
56 javafind.jar (http://sourceforge.net/projects/javafind/)
\r
57 velocity-1.3.1.jar (http://jakarta.apache.org/velocity/)
\r
58 velocity-dep-1.3.1.jar
\r
62 -- xml attributes cannot be named 'tagName' as this conflicts with bob internals
\r
63 -- xml attributes cannot have dashes in thier names
\r
64 -- tags cannot have more than 1 child with the same name (even with different packages)
\r
65 -- user should specify type of subclass to generated classes; default to 'GClazz' is 'Clazz'
\r
66 -- 'Bob' needs bob.jar to compile and begin the compile process. This is because the Queue & DocumentProcessor
\r
67 portion of the code uses generated 'Bob' classes, which need to be generated and compiled to be used.
\r
68 This makes it neccessary to have 'bob.jar' as part of the required libraries of 'Bob'.
\r