HDF -> HWPF

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353289 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Tetsuya Kitahata 2003-08-05 04:00:14 +00:00
parent 952fdf889b
commit 7925e41b55
22 changed files with 639 additions and 113 deletions

View File

@ -14,7 +14,7 @@
<menu-item label="Overview" href="overview.html"/>
<menu-item label="POIFS" href="poifs/index.html"/>
<menu-item label="HSSF" href="hssf/index.html"/>
<menu-item label="HDF" href="hdf/index.html"/>
<menu-item label="HWPF" href="hwpf/index.html"/>
<menu-item label="HPSF" href="hpsf/index.html"/>
<menu-item label="POI-Utils" href="utils/index.html"/>
<menu-item label="Download" href="ext:download"/>

View File

@ -17,13 +17,13 @@
<action dev="POI-DEVELOPERS" type="add">Patch applied for deep cloning of worksheets was provided</action>
<action dev="POI-DEVELOPERS" type="add">Patch applied to allow sheet reordering</action>
<action dev="POI-DEVELOPERS" type="add">Added additional print area setting methods using row/column numbers</action>
<action dev="POI-DEVELOPERS" type="fix">HDF: Negative Array size fix</action>
<action dev="POI-DEVELOPERS" type="fix">HWPF: Negative Array size fix</action>
<action dev="POI-DEVELOPERS" type="update">Added argument pointers to support the IF formula</action>
<action dev="POI-DEVELOPERS" type="update">Formulas: Added special character support for string literals, specifically for SUMIF formula support and addresses a bug as well</action>
<action dev="POI-DEVELOPERS" type="fix">BlockingInputStream committed to help ensure reads</action>
<action dev="POI-DEVELOPERS" type="fix">Fixed problem with NaN values differing from the investigated value from file reads in FormulaRecords</action>
<action dev="POI-DEVELOPERS" type="fix">Patch for getColumnWidth in HSSF</action>
<action dev="POI-DEVELOPERS" type="add">Patch for dealing with mult-level numbered lists in HDF</action>
<action dev="POI-DEVELOPERS" type="add">Patch for dealing with mult-level numbered lists in HWPF</action>
<action dev="POI-DEVELOPERS" type="fix">Due to named reference work, several named-ranged bugs were closed</action>
<action dev="POI-DEVELOPERS" type="fix">Patch applied to prevent sheet corruption after a template modification</action>
<action dev="POI-DEVELOPERS" type="update">Shared Formulas now Supported</action>

View File

@ -129,7 +129,7 @@
<tr>
<td>generate-types</td>
<td>Generate types from the XML type definitions (this is
for HDF).</td>
for HWPF).</td>
</tr>
<tr>
<td>jar</td>

View File

@ -32,7 +32,7 @@
<strong>property set stream</strong>.</p>
<p>This document describes the internal structure of a property set stream,
i.e. the <strong>Horrible Property Set Format (HDF)</strong>. It does not
i.e. the <strong>Horrible Property Set Format (HWPF)</strong>. It does not
describe how a Microsoft Office document is organized internally and how
to retrieve a stream from it. See the <link
href="../poifs/index.html">POIFS documentation</link> for that kind of

View File

@ -170,8 +170,8 @@
RecordUtil.java, RecordGenerator.java
</p>
<p>
There is a corresponding &quot;type&quot; generator for HDF.
See the HDF documentation for details.
There is a corresponding &quot;type&quot; generator for HWPF.
See the HWPF documentation for details.
</p>
</section>
<section><title>Limitations</title>

View File

@ -0,0 +1,12 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "../dtd/book-cocoon-v10.dtd">
<book software="POI Project" title="HWPF" copyright="@year@ POI Project">
<menu label="Jakarta POI">
<menu-item label="Top" href="../index.html"/>
</menu>
<menu label="HWPF">
<menu-item label="Overview" href="index.html"/>
<menu-item label="HWPF Format" href="docoverview.html"/>
<menu-item label="HWPF Project plan" href="projectplan.html"/>
</menu>
</book>

View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
<document>
<header>
<title>Jakarta POI - HWPF -Java APIs with XML manipulate MS-Word</title>
<subtitle>Word file format</subtitle>
<authors>
<person name="S. Ryan Ackley" email="sackley@cfl.rr.com"/>
</authors>
</header>
<body>
<section><title>The Word 97 File Format in semi-plain English</title>
<p>The purpose of this document is to give a brief high level overview of the
HWPF document format. This document does not go into in-depth technical
detail and is only meant as a supplement to the Microsoft Word 97 Binary
File Format freely available at <link href="http://wotsit.org">Wotsit.org</link>.</p>
<p>The OLE file format is not discussed in this document. It is assumed that
the reader has a working knowledge of the POIFS API. </p>
<section><title>Word file structure</title>
<p>A Word file is made up of the document text and data structures
containing formatting information about the text. Of course, this is a
very simplified illustration. There are fields and macros and other
things that have not been considered. At this stage, HWPF is mainly
concerned with formatted text.</p>
</section>
<section><title>Reading Word files</title>
<p>The entry point for HWPF's reading of a Word file is the File Information
Block (FIB). This structure is the entry point for the locations and size
of a document's text and data structures. The FIB is located at the
beginning of the main stream.</p>
<section><title>Text</title>
<p>The document's text is also located in the main stream. Its starting
location is given as FIB.fcMin and its length is given in bytes by
FIB.ccpText. These two values are not very useful in getting the text
because of unicode. There may be unicode text intermingled with ASCII
text. That brings us to the piece table.</p>
<p>The piece table is used to divide the text into non-unicode and unicode
pieces. The size and offset are given in FIB.fcClx and FIB.lcbClx
respectively. The piece table may contain Property Modifiers (prm).
These are for complex(fast-saved) files and are skipped. Each text piece
contains offsets in the main stream that contain text for that piece.
If the piece uses unicode, the file offset is masked with a certain bit.
Then you have to unmask the bit and divide by 2 to get the real file
offset. </p>
</section>
<section><title>Text Formatting</title>
<section><title>Stylesheet</title>
<p>All text formatting is based on styles contained in the StyleSheet.
The StyleSheet is a data structure containing among other things, style
descriptions. Each style description can contain a paragraph style and
a character style or simply a character style. Each style description
is stored in a compressed version on file. Basically these are deltas
from another style.</p>
<p>Eventually, you have to chain back to the nil style which is an
imaginary style with certain implied values.</p>
</section>
<section><title>Paragraph and Character styles</title>
<p>Paragraph and Character formatting properties for a document's text are
stored on file as deltas from some base style in the Stylesheet. The
deltas are used to create a complete uncompressed style in memory.</p>
<p>Uncompressed paragraph styles are represented by the Pargraph
Properties(PAP) data structure. Uncompressed character styles are
represented by the Character Properties(CHP) data structure. The styles
for the document text are stored in compressed format in the
corresponding Formatted Disk Pages (FKP). A compressed PAP is referred
to as a PAPX and a compressed CHP is a CHPX. The FKP locations are
stored in the bin table. There are seperate bin tables for CHPXs and
PAPXs. The bin tables' locations and sizes are stored in the FIB.</p>
<p>A FKP is a 512 byte OLE page. It contains the offsets of the beginning
and end of each paragraph/character run in the main stream and the
compressed properties for that interval. The compessed PAPX is based on
its base style in the StyleSheet. The compressed CHPX is based on the
enclosing paragraph's base style in the Stylesheet.</p>
</section>
<section><title>Uncompressing styles and other data structures</title>
<p>All compressed properties(CHPX, PAPX, SEPX) contain a grpprl. A grpprl
is an array of sprms. A sprm defines a delta from some base property.
There is a table of possible sprms in the Word 97 spec. Each sprm is a
two byte operand followed by a parameter. The parameter size depends on
the sprm. Each sprm describes an operation that should be performed on
the base style. After every sprm in the grpprl is performed on the base
style you will have the style for the paragraph, character run,
section, etc.</p>
</section>
</section>
</section>
</section>
</body>
</document>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
<document>
<header>
<title>Jakarta POI - HWPF -Java APIs with XML manipulate MS-Word</title>
<subtitle>Overview</subtitle>
<authors>
<person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
<person name="Andrew C. Oliver" email="acoliver@apache.org"/>
<person name="Ryan Ackley" email="sackley@apache.org"/>
</authors>
</header>
<body>
<section><title>Overview</title>
<p>HWPF is the name of OUR port of the Microsoft Word 97(-2002) file format to
pure Java.</p>
<p>HWPF is still in early development. It is in the
<link href="http://cvs.apache.org/viewcvs/jakarta-poi/src/scratchpad/">scratchpad section of the
CVS.</link> Source code in the <em>org.apache.poi.hwpf.extractor</em> tree is
legacy code. Source in the <em>org.apache.poi.hwpf.model</em>
tree is the old legacy code refactored into an object model. Check the How-To
page for detailed examples on using HWPF.
</p>
<p>
We are looking for developers!!! If you are interested in helping with HWPF
familiarize yourself with the source code and just start coding. Make sure
you read the guidelines for <link href="http://jakarta.apache.org/poi/getinvolved/index.html">
getting involved</link></p>
</section>
</body>
</document>

View File

@ -0,0 +1,374 @@
<?xml version="1.0"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Ryan Ackley (Myself) -->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
<document>
<header>
<title>Jakarta POI - HWPF -Java APIs with XML manipulate MS-Word</title>
<subtitle>Project Plan</subtitle>
<authors>
<person name="Ryan Ackley" email="sackley@apache.org"/>
</authors>
</header>
<body>
<p>HWPF Milestones</p>
<table>
<tr>
<th>
Milestones
</th>
<th>
Target Date
</th>
<th>
Owner
</th>
</tr>
<tr>
<td>
Read in a Word document
with minimum formatting
(no lists, tables, footnotes,
endnotes, headers, footers)
and write it back out with the
result viewable in Word
97/2000
</td>
<td>
07/11/2003
</td>
<td>
Ryan
</td>
</tr>
<tr>
<td>
Add support for Lists and
Tables
</td>
<td>
8/15/2003
</td>
<td>
&#160;
</td>
</tr>
<tr>
<td>
HWPF 1.0-alpha release with
documentation and examples
</td>
<td>
8/18/2003
</td>
<td>
Praveen/Ryan
</td>
</tr>
<tr>
<td>
Add support for Headers,
Footers, endnotes, and
footnotes
</td>
<td>
8/31/2003
</td>
<td>
?
</td>
</tr>
<tr>
<td>
Add support for forms and
mail merge
</td>
<td>
September/October 2003
</td>
<td>
?
</td>
</tr>
</table>
<p>HWPF Task Lists</p>
<p>Read in a Word document with minimum formatting (no lists, tables, footnotes,
endnotes, headers, footers) and write it back out with the result viewable in Word 97/2000</p>
<table>
<tr>
<th>
Task
</th>
<th>
Target Date
</th>
<th>
Owner
</th>
</tr>
<tr>
<td>
Create classes to read and
write low level data
structures with test cases
</td>
<td>
7/10/2003
</td>
<td>
Ryan
</td>
</tr>
<tr>
<td>
Create classes to read and
write FontTable and Font
names with test case
</td>
<td>
7/10/2003
</td>
<td>
Praveen
</td>
</tr>
<tr>
<td>
Final test
</td>
<td>
7/11/2003
</td>
<td>
Ryan
</td>
</tr>
</table>
<p>Develop user friendly API so it is fun and easy to read and write word documents
with java.</p>
<table>
<tr>
<th>
Task
</th>
<th>
Target Date
</th>
<th>
Owner
</th>
</tr>
<tr>
<td>
Develop a way for SPRMS to
be compressed and
uncompressed
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Override CHPAbstractType
with a concrete class that
exposes attributes with
human readable names
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Override PAPAbstractType
with a concrete class that
exposes attributes with
human readable names
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Override SEPAbstractType
with a concrete class that
exposes attributes with
human readable names
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Override DOPAbstractType
with a concrete class that
exposes attributes with
human readable names
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Override TAPAbstractType
with a concrete class that
exposes attributes with
human readable names
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Override TCAbstractType
with a concrete class that
exposes attributes with
human readable names
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Develop a VerifyIntegrity
class for testing so it is easy
to determine if a Word
Document is well-formed.
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Develop general intuitive
API to tie everything together
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
<p>Add support for lists and tables</p>
<table>
<tr>
<th>
Task
</th>
<th>
Target Date
</th>
<th>
Owner
</th>
</tr>
<tr>
<td>
Add data structures for
reading and writing list data
with test cases.
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Add data structures for
reading and writing tables
with test cases.
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
<p>HWPF 1.0-alpha release with documentation and examples</p>
<table>
<tr>
<th>
Task
</th>
<th>
Target Date
</th>
<th>
Owner
</th>
</tr>
<tr>
<td>
Document the user model
API
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Document the low level
classes
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
Come up with detailed How-To&#8217;s
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</body>
</document>

View File

@ -74,7 +74,7 @@
</section>
<section><title>HWPF</title>
<p>HWPF is our port of the Microsoft Word 97 file format to pure Java. It supports read and write capability.
Please see <link href="./hdf/index.html">the HWPF project page for more information</link>. This component is
Please see <link href="./hwpf/index.html">the HWPF project page for more information</link>. This component is
in the early stages of design. Jump in!</p>
</section>
<section><title>HPSF</title>

View File

@ -36,9 +36,9 @@
</p>
</section>
<section><title>HDF</title>
<section><title>HWPF</title>
<p>
<link href="hdf/index.html">HDF</link> is the set of APIs
<link href="hwpf/index.html">HWPF</link> is the set of APIs
for reading and writing Microsoft Word 97(-XP) spreadsheet using (only) Java.
</p>
</section>

View File

@ -65,7 +65,7 @@
</li>
</ul>
<p>By the completion of this release cycle the POI project will also
include the HSSF Generator and the HDF library.
include the HSSF Generator and the HWPF library.
</p>
<ul>
<li>The HSSF Generator will be responsible for using HSSF to read
@ -73,7 +73,7 @@
Generator will support the applicable interfaces specified by the
Apache Cocoon 2 project.
</li>
<li>The HDF library will provide a set of high level interfaces
<li>The HWPF library will provide a set of high level interfaces
for reading and writing Microsoft Word 97 file format using pure
Java.</li>
</ul>
@ -108,7 +108,7 @@
as the HSSF Serializer.
</li>
<li>
Create a new library (HDF) for reading and writing
Create a new library (HWPF) for reading and writing
Microsoft Word DOC format.
</li>
<li>
@ -146,7 +146,7 @@
</li>
<li>
Our intended audience for the
POIFS library is ourselves as we are developing the HSSF and HDF
POIFS library is ourselves as we are developing the HSSF and HWPF
libraries and anyone wishing to provide other libraries for
reading/writing other file formats utilizing the OLE 2 Compound
Document Format in Java.
@ -157,8 +157,8 @@
XML in a non-proprietary environment.
</li>
<li>
Our intended audience for the HDF
library is ourselves, as we will be developing a HDF Serializer in a
Our intended audience for the HWPF
library is ourselves, as we will be developing a HWPF Serializer in a
later release, and anyone wishing to add .DOC file processing and
creation to their projects.
</li>
@ -342,7 +342,7 @@
with the HSSF and POIFS APIs.
</li>
<li>
The HDF API requires a Java 2
The HWPF API requires a Java 2
implementation and the POIFS API.
</li>
<li>
@ -418,7 +418,7 @@
</li>
</ul>
<p>
The HDF API will include:
The HWPF API will include:
</p>
<ul>
<li>
@ -460,7 +460,7 @@
<li>POIFS API</li>
</ul>
<p>
The minimum system requirements for the the HDF API are:
The minimum system requirements for the the HWPF API are:
</p>
<ul>
<li>64 Mbytes memory</li>
@ -537,12 +537,12 @@
for the low level HSSF APIs.
</p>
</section>
<section><title>6.5 HDF API</title>
<section><title>6.5 HWPF API</title>
<p>
The HDF API will be documented by
javadoc. A walkthrough of using the high level HDF API shall be
The HWPF API will be documented by
javadoc. A walkthrough of using the high level HWPF API shall be
provided. No documentation outside of the Javadoc shall be provided
for the low level HDF APIs.
for the low level HWPF APIs.
</p>
</section>
<section><title>6.6 HSSF Serializer</title>

View File

@ -14,7 +14,7 @@
<actions priority="high">
<action context="code" dev="NKB">
Finish HDF
Finish HWPF
</action>
<action context="code" dev="GS">
Finish Charts

View File

@ -15,7 +15,7 @@
<actions priority="high">
<action context="code" dev="NKB">
Finish HDF
Finish HWPF
</action>
<action context="code" dev="GS">
Finish Charts

View File

@ -14,7 +14,7 @@
<menu-item label="Überblick" href="../../overview.html"/>
<menu-item label="POIFS" href="../../poifs/index.html"/>
<menu-item label="HSSF" href="../../hssf/index.html"/>
<menu-item label="HDF" href="../../hdf/index.html"/>
<menu-item label="HWPF" href="../../hwpf/index.html"/>
<menu-item label="HPSF" href="../../hpsf/index.html"/>
<menu-item label="POI-Utils" href="../../utils/index.html"/>
<menu-item label="Download" href="http://jakarta.apache.org/builds/jakarta-poi/"/>

View File

@ -139,12 +139,12 @@
<link href="../../hssf/index.html">HSSF-Seite</link>.
</p>
</section>
<section><title>HDF (Horrible Document Format)</title>
<section><title>HWPF (Horrible Document Format)</title>
<p>
HDF ist unsere Portierung des Microsoft Word 97 Datei-Formats
HWPF ist unsere Portierung des Microsoft Word 97 Datei-Formats
in reinem Java. Es unterstützt Lesen und Schreiben. Mehr
Informationen gibt es auf der
<link href="../../hdf/index.html">HDF-Seite</link>.
<link href="../../hwpf/index.html">HWPF-Seite</link>.
Diese Komponente ist noch nicht sehr weit fortgeschritten. Wir suchen
Entwickler, die mitmachen.
</p>

View File

@ -14,7 +14,7 @@
<menu-item label="Descripción General" href="overview.html"/>
<menu-item label="POIFS" href="../../poifs/index.html"/>
<menu-item label="HSSF" href="../../hssf/index.html"/>
<menu-item label="HDF" href="../../hdf/index.html"/>
<menu-item label="HWPF" href="../../hwpf/index.html"/>
<menu-item label="HPSF" href="../../hpsf/index.html"/>
<menu-item label="POI-Utils" href="../../utils/index.html"/>
<menu-item label="Descargas" href="http://jakarta.apache.org/builds/jakarta-poi/"/>

View File

@ -6,7 +6,7 @@
<title>Historia del Proyecto</title>
<authors>
<person id="AO" name="Andrew C. Oliver" email="acoliver@apache.org"/>
<person id="AMB" name="Agustín Martín Barbero" email="-"/>
<person id="AMB" name="Agust Mart Barbero" email="-"/>
</authors>
</header>
@ -16,127 +16,127 @@
<section><title>Breve Historia del Proyecto</title>
<p>
El proyecto POI se gestó tiempo atrás, cerca de abril de 2001,
cuando Andy Oliver obtuvo un contrato de corta duración para realizar
informes Excel basados en Java. Ya había realizado este proyecto unas
cuantas veces antes, y sabía exactamente dónde buscar las herramientas
que necesitaría.
Irónicamente, el API que solía utilizar se había disparado en precio
desde unos $300 ($US) hasta unos $10K ($US). Calculó que a dos personas
les llevaría unos seis meses el portar Excel así que le recomendó al
El proyecto POI se gesttiempo atr, cerca de abril de 2001,
cuando Andy Oliver obtuvo un contrato de corta duraci para realizar
informes Excel basados en Java. Ya hab realizado este proyecto unas
cuantas veces antes, y sab exactamente dde buscar las herramientas
que necesitar.
Iricamente, el API que sol utilizar se hab disparado en precio
desde unos $300 ($US) hasta unos $10K ($US). Calculque a dos personas
les llevar unos seis meses el portar Excel asque le recomendal
cliente que pagase los $10K.
</p>
<p>
Cerca de junio de 2001, Andy empezó a pensar lo genial que sería
tener una herramienta Java de código abierto para hacer esto y,
mientras tuvo algo de tiempo libre, comenzó el proyecto y aprendió
Cerca de junio de 2001, Andy empeza pensar lo genial que ser
tener una herramienta Java de cigo abierto para hacer esto y,
mientras tuvo algo de tiempo libre, comenzel proyecto y aprendi
cosas sobre el Formato de Documento Compuesto OLE2. Tras chocarse
con varios obstáculos insalvables, se dio cuenta de que necesitaría ayuda.
Publicó un mensaje en su Grupo de Usuarios Java local (JUG) y
preguntó si alguien estaba interesado. Tuvo mucha suerte y el
programador Java de mayor talento que había conocido nunca,
Marc Johnson, se unió al proyecto. A Marc le llevó unas pocas
con varios obstulos insalvables, se dio cuenta de que necesitar ayuda.
Publicun mensaje en su Grupo de Usuarios Java local (JUG) y
preguntsi alguien estaba interesado. Tuvo mucha suerte y el
programador Java de mayor talento que hab conocido nunca,
Marc Johnson, se unial proyecto. A Marc le llevunas pocas
iteraciones el obtener algo con lo que estaban contentos.
</p>
<p>
Mientras Marc trabajaba en eso, Andy portó XLS a Java, basándose
Mientras Marc trabajaba en eso, Andy portXLS a Java, basdose
en la biblioteca de Marc. Varios usuarios escribieron peticiones
para poder leer XLS (no sólo escribirlo como había sido planeado
originalmente) y un usuario tenía peticiones especiales para
para poder leer XLS (no so escribirlo como hab sido planeado
originalmente) y un usuario ten peticiones especiales para
un uso diferente de POIFS. Antes de que pasara mucho tiempo,
el alcance del proyecto se había triplicado. POI 1.0 se distribuyó
un mes más tarde de lo planeado, pero con muchas más características.
Marc escribió rápidamente el marco del serializador y el
Serializador HSSF en tiempo récord y Andy generó más documentación
y trabajó en hacer que la gente conociera este proyecto.
el alcance del proyecto se hab triplicado. POI 1.0 se distribuy
un mes m tarde de lo planeado, pero con muchas m caracterticas.
Marc escribiridamente el marco del serializador y el
Serializador HSSF en tiempo rord y Andy generm documentaci
y trabajen hacer que la gente conociera este proyecto.
</p>
<p>
Poco antes de la distribución, POI tuvo la fortuna de entrar
en contacto con Nicola -Ken- Barrozzi quien proporcionó ejemplos
para el Serializador HSSF y ayudó a descrubir sus desafortunados
Poco antes de la distribuci, POI tuvo la fortuna de entrar
en contacto con Nicola -Ken- Barrozzi quien proporcionejemplos
para el Serializador HSSF y ayuda descrubir sus desafortunados
fallos (que fueron arreglados de inmediato). Recientemente, Ken
portó la mayoría de la documentación del proyecto POI a XML
partiendo de los documentos HTML cutres que Andy había escrito
portla mayor de la documentaci del proyecto POI a XML
partiendo de los documentos HTML cutres que Andy hab escrito
con Star Office.
</p>
<p>
Más o menos al mismo tiempo de la primera distribución, Glen Stampoultzis
se unió al proyecto. A Glen le molestaba la actitud impertinente de Andy
en lo que añadir capacidades gráficas a HSSF se refería. Glen se molestó
tanto que decidió coger un martillo y hacerlo él mismo. Glen ya se ha
M o menos al mismo tiempo de la primera distribuci, Glen Stampoultzis
se unial proyecto. A Glen le molestaba la actitud impertinente de Andy
en lo que adir capacidades gricas a HSSF se refer. Glen se molest
tanto que decidicoger un martillo y hacerlo mismo. Glen ya se ha
convertido en parte integral de la comunidad de desarrollo de POI; sus
contribuciones a HSSF ya han comenzado a producir olas.
</p>
<p>
En algún momento decidimos finalmente remitir el proyecto a
En alg momento decidimos finalmente remitir el proyecto a
<link href="http://xml.apache.org/cocoon">El Proyecto Cocoon
de Apache</link>, sólo para descubrir que el proyecto había
crecido encajando perfectamente con Cocoon hacía tiempo.
Lo que es más, Andy comenzó a ojear otros proyectos a los que
le gustaría que se adiera la funcionalidad de POI. Así que
se decidió donar los Serializadores y Generadores a Cocoon, otros
componentes de integración con POI a otros proyectos, y los APIs
de POI pasarían a formar parte de Jakarta. Fue un camino con
baches, ¡pero parece que todo salió bien puesto que ahora estás
de Apache</link>, so para descubrir que el proyecto hab
crecido encajando perfectamente con Cocoon hac tiempo.
Lo que es m, Andy comenza ojear otros proyectos a los que
le gustar que se adiera la funcionalidad de POI. Asque
se decididonar los Serializadores y Generadores a Cocoon, otros
componentes de integraci con POI a otros proyectos, y los APIs
de POI pasarn a formar parte de Jakarta. Fue un camino con
baches, ero parece que todo salibien puesto que ahora est
leyendo esto!
</p>
</section>
<section><title>¿Hacia dónde va POI?</title>
<section><title>acia dde va POI?</title>
<p>
Primero abordaremos esto desde el punto de vista del proyecto:
Bueno, les hicimos la oferta a Microsoft y Actuate (de coña
... en su mayor parte) de que dejaríamos el proyecto y nos
retiraríamos si simplemente nos firmaban a cada uno un cheque
con muchos ceros. Todavía estoy esperando una llamada o correo
electrónico, así que de momento asumo que no nos van a pagar
Bueno, les hicimos la oferta a Microsoft y Actuate (de co
... en su mayor parte) de que dejarmos el proyecto y nos
retirarmos si simplemente nos firmaban a cada uno un cheque
con muchos ceros. Todav estoy esperando una llamada o correo
electrico, asque de momento asumo que no nos van a pagar
para quitarnos de en medio.
</p>
<p>
Después, tenemos algo de trabajo que hacer aquí en Jakarta
para terminar de integrar POI en la comunidad. Lo que es más,
todavía estamos realizando la transición del Serializador a
Despu, tenemos algo de trabajo que hacer aquen Jakarta
para terminar de integrar POI en la comunidad. Lo que es m,
todav estamos realizando la transici del Serializador a
Cocoon.
</p>
<p>
HSSF, durante el ciclo 2.0, sufrirá varias optimizaciones.
También adiremos nuevas características como una implementación
completa de Fórmulas y formatos de texto personalizados. Esperamos
ser capaces de generar ficheros más pequeños adiendo soporte de
escritura para registros RK, MulRK y MulBlank. A día de hoy, la
HSSF, durante el ciclo 2.0, sufrirvarias optimizaciones.
Tambi adiremos nuevas caracterticas como una implementaci
completa de Fmulas y formatos de texto personalizados. Esperamos
ser capaces de generar ficheros m peques adiendo soporte de
escritura para registros RK, MulRK y MulBlank. A d de hoy, la
lectura en HSSF no es muy eficiente. Esto se debe sobre todo a que
para escribir o modificar, uno necesita ser capaz de actualizar
punteros del flujo de subida (upstream pointers) a datos del flujo
de bajada. Para hacer esto hay que tener todo lo que haya en
medio en memoria. En vez de eso, un Generador permitiría que se
procesaran eventos SAX. (Esto se basará en las estructuras de
bajo nivel). Una de las mejores cosas sobre esto es que así no sólo
tendremos una manera más eficiente de leer el fichero, también
tendremos una magnífica forma de utilizar hojas de cálculo como
medio en memoria. En vez de eso, un Generador permitir que se
procesaran eventos SAX. (Esto se basaren las estructuras de
bajo nivel). Una de las mejores cosas sobre esto es que asno so
tendremos una manera m eficiente de leer el fichero, tambi
tendremos una magnica forma de utilizar hojas de cculo como
fuentes de datos XML.
</p>
<p>
El Serializador HSSF, se separará más aún en un marco genérico
para la creación de serializadores para otras plataformas y
en la implementación específica del serializador HSSF. (Esto ya
es cierto en gran medida). También adiremos soporte para
características ya soportadas por HSSF (estilos, fuentes, formatos
de texto). Esperamos añadir soporte para fórmulas durante este ciclo.
El Serializador HSSF, se separarm a en un marco genico
para la creaci de serializadores para otras plataformas y
en la implementaci especica del serializador HSSF. (Esto ya
es cierto en gran medida). Tambi adiremos soporte para
caracterticas ya soportadas por HSSF (estilos, fuentes, formatos
de texto). Esperamos adir soporte para fmulas durante este ciclo.
</p>
<p>
Estamos empezando a expandir nuestro alcance de nuevo. Si pudimos
hacer todo esto para ficheros XLS, ¿qué hay de ficheros Doc o PPT?
Pensamos que nuestro siguiente componente (HDF - Formato de
Documento Horrible) debería seguir el mismo patrón. Esperamos
hacer todo esto para ficheros XLS, uhay de ficheros Doc o PPT?
Pensamos que nuestro siguiente componente (HWPF - Formato de
Documento Horrible) deber seguir el mismo patr. Esperamos
que se nos una sangre nueva al equipo y que nos permita abordar
esto con mayor celeridad (en parte porque POIFS ya está terminado).
¡Pero a lo mejor lo que más necesitamos es a ti!
esto con mayor celeridad (en parte porque POIFS ya estterminado).
ero a lo mejor lo que m necesitamos es a ti!
</p>
</section>

View File

@ -108,9 +108,9 @@
<p>HSSF es nuestra adaptaci del formato de fichero de Microsoft Excel 97(-2002) a Java puro. Soporta lectura y
escritura. Por favor, vea <link href="../../hssf/index.html">la pina del proyecto HSSF</link> para m informaci.</p>
</section>
<section><title>HDF (Formato de Documento Horrible)</title>
<p>HDF es nuestra adaptaci del formato de fichero de Microsoft Word 97 a Java puro. Soporta lectura y escritura.
Por favor, vea <link href="../../hdf/index.html">la pina del proyecto HDF para m informaci</link>. Este
<section><title>HWPF (Formato de Documento Horrible)</title>
<p>HWPF es nuestra adaptaci del formato de fichero de Microsoft Word 97 a Java puro. Soporta lectura y escritura.
Por favor, vea <link href="../../hwpf/index.html">la pina del proyecto HWPF para m informaci</link>. Este
componente esten la fase inicial de dise. alta dentro!</p>
</section>
<section><title>HPSF (Formato de Conjunto de Propiedades Horrible)</title>

View File

@ -38,9 +38,9 @@
</p>
</section>
<section><title>HDF</title>
<section><title>HWPF</title>
<p>
<link href="../../hdf/index.html">HDF</link> es el conjunto de APIs para la lectura y
<link href="../../hwpf/index.html">HWPF</link> es el conjunto de APIs para la lectura y
escritura de documentos Word 97(-XP) de Microsoft utilizando (únicamente) Java.
</p>
</section>

View File

@ -15,7 +15,7 @@
<actions priority="high">
<action context="code" dev="NKB">
Terminar HDF
Terminar HWPF
</action>
<action context="code" dev="NKB">
Terminar Gráficas (Charts)

View File

@ -9,7 +9,8 @@ be used to configure the chosen Forrest skin.
<!ENTITY % links.att 'name CDATA #REQUIRED'>
<!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
<!ELEMENT skinconfig (disable-search?, disable-compliance-links?, searchsite-domain?, searchsite-name?,
<!ELEMENT skinconfig (disable-search?, disable-print-link?, disable-pdf-link?,
disable-xml-link?, disable-compliance-links?, searchsite-domain?, searchsite-name?,
project-name, project-url, project-logo, group-name?, group-url?, group-logo?,
host-url?, host-logo?, year?, vendor?, trail?, credits?)*>
<!ELEMENT credits (credit*)>
@ -18,7 +19,10 @@ be used to configure the chosen Forrest skin.
<!ATTLIST credit id CDATA #IMPLIED
role CDATA #IMPLIED>
<!ELEMENT disable-search (#PCDATA)>
<!ELEMENT disable-compliance-links (#PCDATA)>
<!ELEMENT disable-print-link (#PCDATA)>
<!ELEMENT disable-pdf-link (#PCDATA)>
<!ELEMENT disable-xml-link (#PCDATA)>
<!ELEMENT disable-compliance-links (#PCDATA)>
<!ELEMENT searchsite-domain (#PCDATA)>
<!ELEMENT searchsite-name (#PCDATA)>
<!ELEMENT project-name (#PCDATA)>
@ -49,7 +53,15 @@ be used to configure the chosen Forrest skin.
<skinconfig>
<!-- Do we want to disable the Google search box? -->
<disable-search>false</disable-search>
<!-- Do we want to disable the print link? -->
<disable-print-link>false</disable-print-link>
<!-- Do we want to disable the PDF link? -->
<disable-pdf-link>false</disable-pdf-link>
<!-- Do we want to disable the xml source link? -->
<disable-xml-link>true</disable-xml-link>
<!-- Do we want to disable w3c compliance links? -->
<disable-compliance-links>false</disable-compliance-links>
<searchsite-domain>jakarta.apache.org</searchsite-domain>
<searchsite-name>jakarta</searchsite-name>
@ -71,7 +83,7 @@ be used to configure the chosen Forrest skin.
<host-logo></host-logo>
<!-- The following are used to construct a copyright statement -->
<year>2003</year>
<year>2002-2003</year>
<vendor>The Apache Software Foundation.</vendor>
<!-- Some skins use this to form a 'breadcrumb trail' of links. If you don't
@ -80,7 +92,7 @@ be used to configure the chosen Forrest skin.
<trail>
<link1 name="Apache" href="http://www.apache.org/"/>
<link2 name="Jakarta" href="http://jakarta.apache.org/"/>
<link3 name="POI" href="http://jakarta.apache.org/poi/"/>
<!-- <link3 name="POI" href="http://jakarta.apache.org/poi/"/>-->
</trail>
<!-- Credits are typically rendered as a set of small clickable images in the