diff --git a/src/documentation/xdocs/hssf/book.xml b/src/documentation/xdocs/hssf/book.xml index be8d03b21..d3f5fd478 100644 --- a/src/documentation/xdocs/hssf/book.xml +++ b/src/documentation/xdocs/hssf/book.xml @@ -12,6 +12,7 @@
\ No newline at end of file diff --git a/src/documentation/xdocs/hssf/record-generator.xml b/src/documentation/xdocs/hssf/record-generator.xml new file mode 100644 index 000000000..2b2aba6a1 --- /dev/null +++ b/src/documentation/xdocs/hssf/record-generator.xml @@ -0,0 +1,98 @@ + + + ++ The record generator was born from my frustration with translating + the Excel records to Java classes. Doing this manually is a time + consuming process. It's also very easy to make mistakes. +
++ I wanted something that would take the defintition of what a + record looked like and do all the boring stuff for me. Thus the + record generator was born. +
++ The record generator takes XML as input and produced the following + output: +
+ The record generator is invoked as an Ant target (generate-records). It goes + through looking for all files in src/records/defintitions ending with _record.xml. + It then creates two files; the Java record definition and the Java test case template. +
++ The records themselves have the following general layout: +
+ ++ The Java records are regenerated each time the record generator is run, however the test stubs are + only created if the test stub does not already exist. What this means is that you may change + test stubs but not the generated records. +
++ TODO: Fill this out more +
++ See record.xsl, record_test.xsl, FieldIterator.java, RecordUtil.java, RecordGenerator.java +
++
++ The record generator does not handle all possible record types and is not ment to. Sometimes it's + going to make more sense to generate the records manually. The main point of this thing is to + make the easy stuff simple. +
++ Currently the record generator is optimized to create Excel records. It could be adapted to create + Word records with a little poking around. +
++ Currently the the XSL file that generates the record calls out to java objects. This would have been + better done as Javascript inside the XSL file itself. The java code for the record generation is + currently quite messy with minimal comments. Sorry, I wrote it as a proof-of-concept and just went + too far. +
+