diff options
Diffstat (limited to 'src/documentation/xdocs/hssf/hacking-hssf.xml')
-rw-r--r-- | src/documentation/xdocs/hssf/hacking-hssf.xml | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/documentation/xdocs/hssf/hacking-hssf.xml b/src/documentation/xdocs/hssf/hacking-hssf.xml new file mode 100644 index 0000000000..b1ed8c8c39 --- /dev/null +++ b/src/documentation/xdocs/hssf/hacking-hssf.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd"> + +<document> + <header> + <title>Hacking HSSF</title> + <authors> + <person email="glens@apache.org" name="Glen Stampoultzis" id="GJS"/> + <person email="acoliver@apache.org" name="Andrew Oliver" id="AO"/> + </authors> + </header> + <body> + <section title="Where Can I Find Documentation on Feature X"> + <p> + You might find the + 'Excel 97 Developer's Kit' (out of print, Microsoft Press, no + restrictive covenants, available on Amazon.com) helpful for + understanding the file format. + </p> + <p> + Also useful is the <link href="http://sc.openoffice.org/excelfileformat.pdf">open office XLS spec</link>. We + are collaborating with the maintainer of the spec so if you think you can add something to their + document just send through your changes. + </p> + </section> + <section title="Help, I Can't Find Feature X Documented Anywhere"> + <ol> + <li> + Look at OpenOffice.org or Gnumeric sources if its implemented there. + </li> + <li> + Use org.apache.poi.hssf.dev.BiffViewer to view the structure of the + file. Experiment by adding one criteria entry at a time. See what it + does to the structure, infer behavior and structure from it. Using the + unix diff command (or get cygwin from www.cygwin.com for windows) you + can figure out a lot very quickly. Unimplemented records show up as + 'UNKNOWN' and prints a hex dump. + </li> + </ol> + </section> + <section title="Low-level Record Generation"> + <p> + Low level records can be time consuming to created. We created a record + generator to help generate some of the simpler tasks. + </p> + <p> + We use XML + descriptors to generate the Java code (which sure beats the heck out of + the PERL scripts originally used ;-) for low level records. The + generator is kinda alpha-ish right now and could use some enhancement, + so you may find that to be about 1/2 of the work. Notice this is in + org.apache.poi.hssf.record.definitions. + </p> + </section> + <section title="Important Notice"> + One thing to note: ensure any participants in this process have never + signed a "Non Disclosure Agreement" with Microsoft, and have not + received any information covered by such an agreement. If they have + they'll not be able to participate in the POI project. + </section> + <section title="What Can I Work On?"> + Check our <link href="../todo.html">todo list</link> or simply look for missing functionality. Start small + and work your way up. + </section> + <section title="What Else Should I Know?"> + Make sure you <link href="http://jakarta.apache.org/poi/contrib.html">read the contibuting section</link> + as it contains more generation information about contributing to Poi in general. + </section> + </body> +</document>
\ No newline at end of file |