diff options
author | Andrew C. Oliver <acoliver@apache.org> | 2002-03-10 16:16:03 +0000 |
---|---|---|
committer | Andrew C. Oliver <acoliver@apache.org> | 2002-03-10 16:16:03 +0000 |
commit | 07e88461d523d622af14ba9944d2a959320b20b2 (patch) | |
tree | 161c400e67ec66b2c45ca311eba7a0e655fca10f | |
parent | 67d791280a988c4f0f328b22859d176b6d64e86d (diff) | |
download | poi-07e88461d523d622af14ba9944d2a959320b20b2.tar.gz poi-07e88461d523d622af14ba9944d2a959320b20b2.zip |
guess glen didn't add it to the site itself
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352176 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | build/jakarta-poi/docs/hssf/record-generator.html | 292 |
1 files changed, 292 insertions, 0 deletions
diff --git a/build/jakarta-poi/docs/hssf/record-generator.html b/build/jakarta-poi/docs/hssf/record-generator.html new file mode 100644 index 0000000000..500fe3a840 --- /dev/null +++ b/build/jakarta-poi/docs/hssf/record-generator.html @@ -0,0 +1,292 @@ +<html> +<head> +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Record Generator HOWTO</title> +</head> +<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000"> +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr> +<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td> +</tr> +<tr> +<td colspan="2" height="2" width="100%"> +<hr size="1" noshade=""> +</td> +</tr> +</table> +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr> +<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%"> +<br> +<font face="arial,helvetica,sanserif"> +<br> +<font size="+1" color="#000000">Navigation</font><font size="-1"> +<ul> +<li> +<a href="../index.html"><font size="-1">Main</font></a> +</li> +</ul> +</font> +<br> +<font size="+1" color="#000000">HSSF</font><font size="-1"> +<ul> +<li> +<a href="how-to.html"><font size="-1">HOWTO</font></a> +</li> +<li> +<a href="use-case.html"><font size="-1">Use Case</font></a> +</li> +<li> +<a href="diagrams.html"><font size="-1">Pictorial Docs</font></a> +</li> +</ul> +</font> +<br> +<font size="+1" color="#000000">Contributer's Guide</font><font size="-1"> +<ul> +<li> +<a href="record-generator.html"><font size="-1">Record Generator</font></a> +</li> +</ul> +</font> +<br> +<br> +</font></td><td align="left" valign="top" width="*"> +<title>Record Generator HOWTO</title> +<center> +<table width="80%"> +<tr> +<td bgcolor="#F3DD61"><font face="Arial,sans-serif" size="+1"> +<center> +<b>Record Generator HOWTO</b> +</center> +</font></td> +</tr> +</table> +</center> +<font size="-2" color="#000000"> +<p> +<a href="mailto:"></a> +</p> +</font> +<br> +<div align="right"> +<table cellspacing="0" cellpadding="2" border="0" width="100%"> +<tr> +<td bgcolor="#525D76"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>How to Use the Record Generator</b></font></font></td> +</tr> +<tr> +<td> +<br> + + +<div align="right"> +<table cellspacing="0" cellpadding="2" border="0" width="99%"> +<tr> +<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>History</b></font></font></td> +</tr> +<tr> +<td> +<br> + +<p align="justify"> + The record generator was born from 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. + </p> + +<p align="justify"> + A utility was needed to take the defintition of what a + record looked like and do all the boring stuff. Thus the + record generator was born. + </p> + +</td> +</tr> +</table> +</div> +<br> + + +<div align="right"> +<table cellspacing="0" cellpadding="2" border="0" width="99%"> +<tr> +<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Capabilities</b></font></font></td> +</tr> +<tr> +<td> +<br> + +<p align="justify"> + The record generator takes XML as input and produced the following + output: + <ul> + +<li>A Java file capabile of decoding and encoding the record.</li> + +<li>A test class with provides a fill-in-the-blanks implementation of a test case + for ensuring the record operates as designed.</li> + +</ul> + +</p> + +</td> +</tr> +</table> +</div> +<br> + +<div align="right"> +<table cellspacing="0" cellpadding="2" border="0" width="99%"> +<tr> +<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Usage</b></font></font></td> +</tr> +<tr> +<td> +<br> + +<p align="justify"> + 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. + </p> + +<p align="justify"> + The records themselves have the following general layout: + </p> + +<div align="center"> +<table cellspacing="2" cellpadding="2" border="1"> +<tr> +<td> +<pre> +<record id="0x1032" name="Frame" package="org.apache.poi.hssf.record"> + <description>The frame record indicates whether there is a border + around the displayed text of a chart.</description> + <author>Glen Stampoultzis (glens at apache.org)</author> + <fields> + <field type="int" size="2" name="border type"> + <const name="regular" value="0" description="regular rectangle or no border"/> + <const name="shadow" value="1" description="rectangle with shadow"/> + </field> + <field type="int" size="2" name="options"> + <bit number="0" name="auto size" + description="excel calculates the size automatically if true"/> + <bit number="1" name="auto position" + description="excel calculates the position automatically"/> + </field> + </fields> +</record> + </pre> +</td> +</tr> +</table> +</div> + +<p align="justify"> + Currently the type can be of type int, float or string. The 'int' + type covers bytes, shorts and integers which is selected using a + size of 1, 2 or 4. An additional type called varword is used to + represent a array of word values where the first short is the length + of the array. The string type generation is only partially + implemented. If choosing string you must select a size of 'var'. + </p> + +<p align="justify"> + 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. + </p> + +</td> +</tr> +</table> +</div> +<br> + +<div align="right"> +<table cellspacing="0" cellpadding="2" border="0" width="99%"> +<tr> +<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>How it Works</b></font></font></td> +</tr> +<tr> +<td> +<br> + +<p align="justify"> + The record generation works by taking an XML file and styling it + using XLST. Given that XSLT is a little limited in some ways it was + necessary to add a little Java code to the mix. + </p> + +<p align="justify"> + See record.xsl, record_test.xsl, FieldIterator.java, + RecordUtil.java, RecordGenerator.java + </p> + +</td> +</tr> +</table> +</div> +<br> + +<div align="right"> +<table cellspacing="0" cellpadding="2" border="0" width="99%"> +<tr> +<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Limitations</b></font></font></td> +</tr> +<tr> +<td> +<br> + +<p align="justify"> + 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. + </p> + +<p align="justify"> + Currently the record generator is optimized to create Excel records. + It could be adapted to create Word records with a little poking + around. + </p> + +<p align="justify"> + 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. + </p> + +</td> +</tr> +</table> +</div> +<br> + +</td> +</tr> +</table> +</div> +<br> +</td> +</tr> +</table> +<br> +<table cellpadding="0" cellspacing="0" border="0" width="100%"> +<tr> +<td> +<hr size="1" noshade=""> +</td> +</tr> +<tr> +<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i> + Copyright ©2002 Apache Software Foundation + </i></font></td><td width="5%" align="right"><img src="images/cocoon2-small.jpg" align="right" border="0" vspace="0" hspace="0"></td> +</tr> +</table> +</body> +</html> |