</p>
<p>
- The Apache-POI project has helped QuestionPro compete with the other players in the marketplace with proprietary technology. It leveled the playing field with respect to reporting and data analysis solutions. It helped in opening doors into closed solutions like Microsoft's CDF. Today about 100 excel reports are generated daily, each with about 10-30 sheets in them.
+ The Apache-POI project has helped QuestionPro compete with the other players in the marketplace with proprietary technology. It leveled the playing field with respect to reporting and data analysis solutions. It helped in opening doors into closed solutions like Microsoft's CDF. Today about 100 excel reports are generated daily, each with about 10-30 sheets in them.
</p>
<p>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="AO" name="Andrew C. Oliver" email="acoliver@apache.org"/>
</authors>
</header>
-
+
<body>
looks like everything turned out since you're reading this!
</p>
- <p>In Early 2007, we graduated from
+ <p>In Early 2007, we graduated from
<link href="http://jakarta.apache.org/">Jakarta</link>, and became
our own Top Level Project (TLP) within Apache.</p>
</section>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
====================================================================
-->
<!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "../dtd/book-cocoon-v10.dtd">
-<!-- $Id$ -->
-<book software="POI Project"
- title="HPSF"
+<book software="POI Project"
+ title="HPSF"
copyright="@year@ POI Project">
<menu label="Apache POI">
</menu>
</book>
-
-
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
"../dtd/document-v11.dtd">
-<!-- $Id$ -->
<document>
<header>
<p>If all you are interested in is getting the textual content of
all the document properties, such as for full text indexing, then
- take a look at
+ take a look at
<code>org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor</code>. However,
if you want full access to the properties, please read on!</p>
<note>This section explains how to <strong>write standard
properties</strong>. HPSF provides some high-level classes and methods
which make writing of standard properties easy. They are based on the
- low-level writing functions explained in <link href="#sec4">another
+ low-level writing functions explained in <link href="#sec4">another
section</link>.</note>
<p>As explained above, standard properties are located in the summary
<section><title>Low-level Writing Functions In Details</title>
<p>Writing properties is introduced by an artificial but simple example: a
program creating a new document (aka POI file system) which contains only
- a single document: a summary information property set stream. The latter
+ a single document: a summary information property set stream. The latter
will hold the document's title only. This is artificial in that it does
not contain any Word, Excel or other kind of useful application document
data. A document containing just a property set is without any practical
/**
* <p>Runs the example program.</p>
*
- * @param args Command-line arguments. The first and only command-line
+ * @param args Command-line arguments. The first and only command-line
* argument is the name of the POI file system to create.
* @throws IOException if any I/O exception occurs.
- * @throws WritingNotSupportedException if HPSF does not (yet) support
+ * @throws WritingNotSupportedException if HPSF does not (yet) support
* writing a certain property type.
*/
public static void main(final String[] args)
* SectionIDMap.SUMMARY_INFORMATION_ID. */
ms.setFormatID(SectionIDMap.SUMMARY_INFORMATION_ID);
- /* Create an empty property. */
+ /* Create an empty property. */
final MutableProperty p = new MutableProperty();
/* Fill the property with appropriate settings so that it specifies the
====================================================================
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
-<!-- $Id$ -->
<document>
<header>
<title>Apache POI - HPSF - Java API to Handle Microsoft Format Document
Properties</title>
<subtitle>Overview</subtitle>
- <authors>
+ <authors>
<person name="Rainer Klute" email="klute@apache.org"/>
</authors>
</header>
====================================================================
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
-<!-- $Id$ -->
<document>
<header>
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
"../dtd/document-v11.dtd">
-<!-- $Id$ -->
<document>
<header>
====================================================================
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
-<!-- $Id$ -->
<document>
<header>
People interested should also follow the
<link href="mailinglists.html">dev list</link> to track progress.</p>
<p>
- The release is also available from the central Maven repository
+ The release is also available from the central Maven repository
under Group ID "org.apache.poi" and Version "3.5-beta5".
- </p>
+ </p>
</section>
<section><title>POI 3.2-FINAL Released (2008-10-19)</title>
<p>
The POI team is pleased to announce the release of 3.2 FINAL, the latest release of Apache POI.
- There have been many important bug fixes since the 3.1 release and a lot of new features.
+ There have been many important bug fixes since the 3.1 release and a lot of new features.
</p><p> A full list of changes is available in
- <link href="./changes.html">the changelog</link>, and
+ <link href="./changes.html">the changelog</link>, and
<link href="http://www.apache.org/dyn/closer.cgi/poi/release/">download</link>
the source and binaries from your
<link href="http://www.apache.org/dyn/closer.cgi/poi/release/">local mirror</link>.
</p>
<p>
- The release is also available from the central Maven repository
+ The release is also available from the central Maven repository
under Group ID "org.apache.poi" and Version "3.2-FINAL".
- </p>
+ </p>
</section>
<section><title>Purpose</title>
<p>
The POI project consists of APIs for manipulating various file formats
- based upon Microsoft's OLE 2 Compound Document format, and Office OpenXML format, using
+ based upon Microsoft's OLE 2 Compound Document format, and Office OpenXML format, using
pure Java. In short, you can read and write MS Excel files using Java. In addition,
- you can read and write MS Word and MS PowerPoint files using Java. POI is your Java Excel
- solution (for Excel 97-2007). However, we have a complete API for porting other OLE 2
+ you can read and write MS Word and MS PowerPoint files using Java. POI is your Java Excel
+ solution (for Excel 97-2007). However, we have a complete API for porting other OLE 2
Compound Document formats and welcome others to participate.
</p>
<p>
provide this functionality. Examples include: <link href="http://xml.apache.org/cocoon">Cocoon</link> for
which there are serializers for HSSF;
<link href="http://www.openoffice.org">Open Office.org</link> with whom we collaborate in documenting the
- XLS format; and <link href="http://lucene.apache.org/">Lucene</link>
- for which we provide format interpretors. When practical, we donate
+ XLS format; and <link href="http://lucene.apache.org/">Lucene</link>
+ for which we provide format interpretors. When practical, we donate
components directly to those projects for POI-enabling them.
</p>
<section><title>Why/when would I use POI?</title>
definition. Please see <link href="./poifs/index.html">the POIFS project page</link> for more information.</p>
</section>
<section><title>HSSF and XSSF for Excel Documents</title>
- <p>HSSF is our port of the Microsoft Excel 97(-2007) file format (BIFF8) to pure
+ <p>HSSF is our port of the Microsoft Excel 97(-2007) file format (BIFF8) to pure
Java. XSSF is our port of the Microsoft Excel XML (2007+) file format (OOXML) to
- pure Java. They both supports read and write capability. Please see
- <link href="./spreadsheet/index.html">the HSSF+XSSF project page</link> for more
+ pure Java. They both supports read and write capability. Please see
+ <link href="./spreadsheet/index.html">the HSSF+XSSF project page</link> for more
information.</p>
</section>
<section><title>HWPF for Word Documents</title>
<section><title>Component map</title>
<p>
The POI distribution consists of several JAR files. Not all of them are needed in every case. The following table
- shows the relationships between POI components and the JAR files.
+ shows the relationships between POI components and the JAR files.
</p>
<table>
<tr>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation. All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<body>
<section><title>Apache POI - Legal Stuff</title>
<p>
-All material on this website is Copyright © 2002-2003, The Apache
+All material on this website is Copyright © 2002-2003, The Apache
Software Foundation
</p>
<p>
-Sun, Sun Microsystems, Solaris, Java, JavaServer Web Development Kit,
-and JavaServer Pages are trademarks or registered trademarks of Sun
-Microsystems, Inc. UNIX is a registered trademark in the United States
+Sun, Sun Microsystems, Solaris, Java, JavaServer Web Development Kit,
+and JavaServer Pages are trademarks or registered trademarks of Sun
+Microsystems, Inc. UNIX is a registered trademark in the United States
and other countries, exclusively licensed through 'The Open Group'.
Microsoft, Windows, WindowsNT, Excel, Word, PowerPoint and Win32 are
-registered trademarks of
+registered trademarks of
Microsoft Corporation. Linux is a registered trademark of Linus Torvalds.
All other product names mentioned herein and throughout the entire
web site are trademarks of their respective owners.
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="AO" name="Andrew C. Oliver" email="acoliver@apache.org"/>
</authors>
</header>
-
+
<body>
<section><title>Mirrors</title>
<p>
- These are mirrors of the
+ These are mirrors of the
<link href="http://poi.apache.org/">POI</link> website.
If you know of others...report them! :-)
- </p>
+ </p>
</section>
<section><title>Austria</title>
- <ul>
+ <ul>
<li><link href="http://gd.tuwien.ac.at/infosys/servers/http/apache-jakarta-site/poi/index.html">Austrian Mirror of Jakarta POI</link></li>
</ul>
</section>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="TK" name="Tetsuya Kitahata" email="tetsuya@apache.org"/>
</authors>
</header>
-
+
<body>
<section><title>POI in the news</title>
<p>
equal time will be given so please feel free to send inflamatory
defamation as well as favorable, technical and factual. Really
stupid things won't be mentioned (sorry).
- </p>
+ </p>
</section>
<section><title>English</title>
<ul>
- <li>
+ <li>
<link href="http://archive.midrange.com/web400/200204/msg00023.html">Discussion about using POI on AS/400s</link>
</li>
<li>
- <link href="http://www.somelist.com/mails/23819.html">Discussion from back when we almost had POI as the filter for KOffice if politics and licenses hadn't killed iit</link>
+ <link href="http://www.somelist.com/mails/23819.html">Discussion from back when we almost had POI as the filter for KOffice if politics and licenses hadn't killed iit</link>
</li>
<li>
<link href="http://www.oreillynet.com/pub/wlg/1552?page=last&x-showcontent=text">Java discussion on O'Reilly Network including discussion about POI</link> - O'Reilly.net
<li>
<link href="http://www.rollerweblogger.org/page/roller/20020715">Poor Obfuscation Implementation.</link> - Blog of David M. Johnson
</li>
- <li>
+ <li>
<link href="http://www.jsurfer.org/article.php?sid=322">
POI 1.5-dev-rc2 released </link> - JSurfer
</li>
<li>
<link href="http://javalobby.org/discussionContext/showThreaded/frm/javalobby?folderId=20&discussionContextId=11523">
Jakarta POI 1.4583 Released</link> - JavaLobby
- </li>
+ </li>
<li>
<link href="http://javalobby.org/discussionContext/showThreaded/frm/javalobby?discussionContextId=11442&folderId=20">
- POI project moves to Jakarta (OLE 2 CDF/Excel/Word in
+ POI project moves to Jakarta (OLE 2 CDF/Excel/Word in
pure java)</link> - JavaLobby
</li>
<li>
<li>
<link href="http://chicago.sourceforge.net/devel/">
Chicago Developer Page
- </link>
+ </link>
</li>
<li>
<link href="http://www.onjava.com/pub/d/1157">
News Around the Net
</link> - Java World
</li>
-
+
</ul>
</section>
<section><title>Nederlandstalige (Dutch)</title>
<ul>
<li>
- <link
+ <link
href="http://www.ster.be/java/java9.html">
- Een Excel-werkboek maken vanuit Java - Lieven Smits
+ Een Excel-werkboek maken vanuit Java - Lieven Smits
</link>
</li>
</ul>
</section>
<section><title>Deutsch (German)</title>
<ul>
- <li> <link
- href="http://www.entwickler.com/itr/news/show.php3?id=6132&nodeid=82 ">Apache POI verffentlicht</link> - entwicker.com
+ <li> <link
+ href="http://www.entwickler.com/itr/news/show.php3?id=6132&nodeid=82 ">Apache POI verffentlicht</link> - entwicker.com
</li>
<li>
- <link
+ <link
href="http://www.jsp-develop.de/newsletter/10/">
Apache Jakarta-Projekt bringt Word und Excel in die Java-Welt </link> - jsp-develop.de (for the misguided who use JSP ;-) )
</li>
</li>
<li>
<link href="http://p2p.wrox.com/archive/java_espanol/2002-08/3.asp">Spanish discussion about Excel and Java including POI from Wrox forums</link>
- </li>
+ </li>
</ul>
</section>
<section><title>Français (French)</title>
<ul>
<li>
<link href="http://linuxfr.org/section/D%E9veloppeur,0,1,8,0.html">
- Excel/OLE accessibles
+ Excel/OLE accessibles
</link> - Da Linux French Page
</li>
<li>
<li><link href="http://www.tech-arts.co.jp/macosx/webobjects-jp/htdocs/3200/3218.html">Various discussion in Japanese including on POI</link></li>
<li><link href="http://muimi.com/j/jakarta/">Japanese resources on Jakarta projects including POI</link></li>
<li><link href="http://www.fk.urban.ne.jp/home/kishida/">Kishida's site</link> -- Weekly Forte Lectures -- includes a snip about POI and Japanese.</li>
-
+
</ul>
</section>
<section><title>Russkii Yazyk (Russian)</title>
telling us what language it is and we'll categorize it!
</p>
<ul>
- <li>
- <link
+ <li>
+ <link
href="http://www.javacentrix.com/index.htm">
If I had to guess, I'd say this is Thai, but
maybe you actually know</link> - javacentrix.com
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="RK" name="Rainer Klute" email="klute@apache.org"/>
</authors>
</header>
-
+
<body>
<section><title>What is it?</title>
<p>The POI project is the master project for developing pure
</p>
<section><title>POIFS</title>
<p>
- <link href="poifs/index.html">POIFS</link> is the set of APIs
+ <link href="poifs/index.html">POIFS</link> is the set of APIs
for reading and writing OLE 2 Compound Document Formats using (only) Java.
- </p>
+ </p>
</section>
-
+
<section><title>HSSF and XSSF</title>
<p>
- <link href="spreadsheet/index.html">HSSF and XSSF</link> are
- the set of APIs for reading and writing Microsoft Excel
+ <link href="spreadsheet/index.html">HSSF and XSSF</link> are
+ the set of APIs for reading and writing Microsoft Excel
97-2007 and OOXML spreadsheets using (only) Java.
</p>
</section>
<section><title>HWPF</title>
<p>
- <link href="hwpf/index.html">HWPF</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) documents using (only) Java.
</p>
</section>
<section><title>HSLF</title>
<p>
- <link href="slideshow/index.html">HSLF</link> is the set of APIs
+ <link href="slideshow/index.html">HSLF</link> is the set of APIs
for reading and writing Microsoft PowerPoint 97(-XP) documents using (only) Java.
</p>
</section>
<section><title>HPSF</title>
<p>
- <link href="hpsf/index.html">HPSF</link> is the set of APIs
+ <link href="hpsf/index.html">HPSF</link> is the set of APIs
for reading property sets using (only) Java.
- </p>
+ </p>
</section>
<section><title>POI-Utils</title>
<p>
<link href="utils/index.html">POI-Utils</link> are general purpose artifacts
- from POI development that have not yet been implemented elsewhere. We're
+ from POI development that have not yet been implemented elsewhere. We're
always looking to donate these and maintain them as part of a general library
used in another project. These are things we need to complete our mission but
- are generally outside of it.
+ are generally outside of it.
</p>
</section>
</section>
studying the source code you might want to have a look at the
"Examples" section of the <link
href="apidocs/overview-summary.html">POI API
- documentation</link>.</p>
+ documentation</link>.</p>
</section>
<section><title>Contributed Software</title>
<footer>
<legal>
Copyright 2007 The Apache Software Foundation or its licensors, as applicable.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="AS" name="Avik Sengupta" email="avik@apache.org"/>
</authors>
</header>
-
+
<body>
<section><title>Intro</title>
<p>The POI library can now be compiled as a Ruby extension, allowing the API to be called from
</p>
<p>The bindings are generated by compiling POI with <link href="http://gcc.gnu.org/java/">gcj</link>,
and generating the Ruby wrapper using <link href="http://www.swig.org">SWIG</link>. The aim is the keep
- the POI api as-is. However, where java standard library objects are used, an effort is made to transform them smoothly
+ the POI api as-is. However, where java standard library objects are used, an effort is made to transform them smoothly
into Ruby objects. Therefore, where the POI API takes an OutputStream, you can pass an IO object. Where the POI works
java.util.Date or java.util.Calendar object, you can work with a Ruby Time object. </p>
</section>
<section><title>Getting Started</title>
<section><title>Pre-Requisites</title>
<p>The bindings have been developed with GCC 3.4.3 and Ruby 1.8.2. You are unlikely to get correct results with
- versions of GCC prior to 3.4 or versions of Ruby prior to 1.8. To compile the Ruby extension, you must have
+ versions of GCC prior to 3.4 or versions of Ruby prior to 1.8. To compile the Ruby extension, you must have
GCC (compiled with java language support), Ruby development headers, and SWIG. To run, you will need Ruby (obviously!) and
- <em>libgcj </em>, presumably from the same version of GCC with which you compiled.
- </p>
+ <em>libgcj </em>, presumably from the same version of GCC with which you compiled.
+ </p>
</section>
<section><title>Subversion</title>
<p>
The POI-Ruby module sits under the POI <link href="http://jakarta.apache.org/site/cvsindex.html">Subversion</link> in the <em>src/contrib/poi-ruby</em> directory. Running <em>make</em>
- inside that directory will create a loadable ruby extention <em>poi4r.so</em> in the release subdirectory. Tests
+ inside that directory will create a loadable ruby extention <em>poi4r.so</em> in the release subdirectory. Tests
are in the <em>tests/</em> subdirectory, and should be run from the <em>poi-ruby</em> directory. Please read the tests to figure out the usage.
</p>
- <p>Note that the makefile, though designed to work accross Linux/OS X/Cygwin, has been tested only on linux.
+ <p>Note that the makefile, though designed to work accross Linux/OS X/Cygwin, has been tested only on linux.
There are likely to be issues on other platform; fixes gratefully accepted! </p>
</section>
<section><title>Binary</title>
with GCC 3.4.3 and Ruby 1.8.2. It dynamically links to libgcj. No guarantees about working on any other box. </p>
</section>
</section>
-
+
h=Poi4r::HSSFWorkbook.new
#Test Sheet Creation
s=h.createSheet("Sheet1")
-
+
#Test setting cell values
s=h.getSheetAt(0)
r=s.createRow(0)
c=r.createCell(0)
c.setCellValue(1.5)
-
+
c=r.createCell(1)
c.setCellValue("Ruby")
-
+
#Test styles
st = h.createCellStyle()
c=r.createCell(2)
st.setAlignment(Poi4r::HSSFCellStyle.ALIGN_CENTER)
c.setCellStyle(st)
c.setCellValue("centr'd")
-
+
#Date handling
c=r.createCell(3)
t1=Time.now
c.setCellValue(Time.now)
t2= c.getDateCellValue().gmtime
-
+
st=h.createCellStyle();
st.setDataFormat(Poi4r::HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"))
c.setCellStyle(st)
-
+
#Formulas
c=r.createCell(4)
c.setCellFormula("A1*2")
c.getCellFormula()
-
+
#Writing
h.write(File.new("test.xls","w"))
</source>
<p> The <em>tc_base_tests.rb</em> file in the <em>tests</em> sub directory of the source distribution
contains examples of simple uses of the API. The <link href="spreadsheet/quick-guide.html">quick quide </link> is the best
place to learn HSSF API use. (Note however that none of the Drawing features are implemented in the Ruby binding.)
- See also the <link href="apidocs/overview-summary.html">POI API documentation</link> for more details.
+ See also the <link href="apidocs/overview-summary.html">POI API documentation</link> for more details.
</p>
</section>
<ul>
<li>Implement support for reading Excel files (easy)</li>
<li>Expose POIFS API to read raw OLE2 files from Ruby</li>
- <li>Expose HPSF API to read property streams </li>
- <li>Tests... Tests... Tests...</li>
+ <li>Expose HPSF API to read property streams </li>
+ <li>Tests... Tests... Tests...</li>
</ul>
</section>
<section><title>Limitations</title>
<ul>
- <li>Check operations in 64bit machines - Java primitive types are fixed irrespective of machine type, unlike C/C++ types. The wrapping code
+ <li>Check operations in 64bit machines - Java primitive types are fixed irrespective of machine type, unlike C/C++ types. The wrapping code
that converts C/C++ primitive types to/from Java types is making assumptions on type sizes that MAY be incorrect on wide architectures. </li>
- <li>The current implementation is with the POI 2.0 release. The 2.5 release adds support for Excel drawing primitives, and
+ <li>The current implementation is with the POI 2.0 release. The 2.5 release adds support for Excel drawing primitives, and
thus has a dependency on java AWT. Since AWT is not very mature in gcj, leaving it out seemed to be the safer option.</li>
<li>Packaging - The current make file makes no effort to install the extension into the standard ruby directories. This should probably be
packaged as a <link href="http://www.rubygems.org">gem</link>.</li>
</ul>
</section>
-
+
</section>
-
+
</body>
<footer>
<legal>
Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- $Revision$ $Date$
</legal>
</footer>
</document>
zu stellen. Einige Beispiele: Für
<link href="http://xml.apache.org/cocoon">Cocoon</link>
werden bald Generatoren und Serializer zur Verfügung stehen. Wir
- arbeiten mit
+ arbeiten mit
<link href="http://www.openoffice.org/">Open Office.org</link>
zusammen, um das Excel-Dateiformat zu
dokumentieren.
wie tar, gzip, zip oder arc genutzt, sondern stattdessen ein
eigenes Archivformat erfunden,
das keinerlei Standardverschlüsselung oder -komprimierung
- bietet, das schlecht erweiterbar ist, und das zur
+ bietet, das schlecht erweiterbar ist, und das zur
Fragmentierung neigt.
</p>
<p>POI ist außerdem eine Spezialität der hawaiianischen Küche. Sie wird
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="AMB" name="AgustÃn MartÃn Barbero" email="-"/>
</authors>
</header>
-
+
<body>
<section>
<title>Introducción</title>
<p>
Mucha gente está utilizando POI para distintos propósitos. Como con cualquier
nueva API o tecnologia, la primera pregunta que la gente pregunta normalmente
- no es "cómo puedo" sino "Quién más está haciendo lo que yo estoy a punto de
+ no es "cómo puedo" sino "Quién más está haciendo lo que yo estoy a punto de
hacer?" Esto es comprensible con el abismal porcentage de éxito en el negocio
del software. Estos Casos pretenden ayudar a crear
confianza y comprensión.
solución de informes basada en POI para un paquete software de optimización de precios
que se usa en grandes cadenas de venta.
</p>
- <p> La solución permitió a los planificadores y gestores de la mercancÃa mercancÃa pedir
- unos informes de soporte a la decisión e informes de cambios de precios utilizando un
+ <p> La solución permitió a los planificadores y gestores de la mercancÃa mercancÃa pedir
+ unos informes de soporte a la decisión e informes de cambios de precios utilizando un
navegador estándar. Los usuarios pueden especificar el tipo de informe, las opciones, asÃ
como criterios de filtros como la división de la compañÃa
- o departamento. La generación de informes se llevó a cabo en el
+ o departamento. La generación de informes se llevó a cabo en el
servidor de aplicaciones multi-hilo
y fue capaz de soportar muchas peticiones de informe simultáneas.
</p>
<p>La aplicación de informes recogÃa información del negocio de la base
- de datos Oracle de la aplicación de optimización de precios.
- Los datos se agregaban y resumÃan basándose en el tipo especÃfico
+ de datos Oracle de la aplicación de optimización de precios.
+ Los datos se agregaban y resumÃan basándose en el tipo especÃfico
de informe y los criterios de filtro pedidos por el usuario. El
informe final se generaba como una hoja de cálculo de Microsoft Excel utilizando
el API de POI HSSF y se almacenaba en el
a datos del negocio crÃticios
a través de una interfaz basada en navegador extremadamente fácil de usar.
No necesitaban entrenar a su amplia comunidad de usuarios en las complejidades de la
- aplicación de optimización. Lo que es más, los informes se generaban en un formato de
+ aplicación de optimización. Lo que es más, los informes se generaban en un formato de
hoja de cálculo Excel,
que todo el mundo conocÃa y que también permitÃa análisis
de datos adicionales utilizando
<p>
El
<link href="http://www.lbank.lt/">Banco de Lituania</link>
- genera informes de datos estadÃsticos financieros en formato Excel
+ genera informes de datos estadÃsticos financieros en formato Excel
utilizando el API <link href="http://jakarta.apache.org/poi/spreadsheet/">
- HSSF</link> del proyecto
+ HSSF</link> del proyecto
<link href="http://jakarta.apache.org/poi/">Jakarta POI</link>
El sistema está basado en Oracle JServer y utiliza
- un procedimiento almacenado Java que utilizando el API HSSF
+ un procedimiento almacenado Java que utilizando el API HSSF
responde en formato XLS. - Arian Lashkov (alaskov at lbank.lt)
</p>
</section>
para la industria de las Telecomunicaciones.
basado en Turbine y Velocity.
Originalmente la factura se hacÃa con una sencilla
- hoja CVS que era entonces
+ hoja CVS que era entonces
marcada por cada cuenta y particularizada para cada cliente.
Como el crecimiento ha sido consistente con la aplicación, las necesidades de
facturas que no necesitasen ser retocadas a mano aumentaron. POI proporcionó la
<p>Es evidente que los ficheros de Microsoft Excel también estan soportados.
POI se ha utilizado para implementar con éxito este soporte en ETL4ALL.</p>
</section>
-
+
</section>
</body>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="AMB" name="AgustÃn MartÃn Barbero" email="-"/>
</authors>
</header>
-
+
<body>
y trabajen hacer que la gente conociera este proyecto.
</p>
- <p>
+ <p>
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
<p>
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
+ todav estamos realizando la transici del Serializador a
Cocoon.
</p>
<p>
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 que se
+ 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
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
+ 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>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
<p>
El proyecto POI consiste en APIs para manipular varios formatos de ficheros
basados en el formato de Documento Compuesto OLE 2 de Microsoft, utilizando Java puro. En concreto, se pueden
- leer y escribir ficheros MS Excel utilizando Java. Pronto se podrá leer y escribir
+ leer y escribir ficheros MS Excel utilizando Java. Pronto se podrá leer y escribir
ficheros Word utilizando Java. POI es su solución Java Excel asà como su solución Java Word.
En cualquier caso, tenemos un API completo para portar otros formatos de Documento Compuesto OLE 2 y todo aquel
que quiera participar será bienvenido.
</p>
<p>
- Entre los ficheros basados en el formato de Documento Compuesto OLE 2 de Microsoft se incluyen la mayor parte de los
+ Entre los ficheros basados en el formato de Documento Compuesto OLE 2 de Microsoft se incluyen la mayor parte de los
ficheros de Microsoft Office tales como XLS y DOC asà como formatos de fichero basados en el API de serialización MFC.
</p>
<p>
Como regla general intentamos colaborar lo más posible con otros proyectos para proporcionar esta
funcionalidad. Algunos ejemplos: <link href="http://xml.apache.org/cocoon">Cocoon</link> para
el que hay serializadores para HSSF;
- <link href="http://www.openoffice.org">Open Office.org</link> con quienes colaboramos en la documentación del
- formato XLS; y <link href="http://jakarta.apache.org/lucene">Lucene</link> para el que pronto tendremos intérpretes del
+ <link href="http://www.openoffice.org">Open Office.org</link> con quienes colaboramos en la documentación del
+ formato XLS; y <link href="http://jakarta.apache.org/lucene">Lucene</link> para el que pronto tendremos intérpretes del
formato de fichero. Cuando es práctico, donamos componentes directamente a los proyectos para dotarles de capacidad-POI.
</p>
<section><title>¿Por qué/cuándo utilizar POI?</title>
Asà que, ¿por qué deberÃa utilizar POIFS o HSSF?
</p>
<p>
- UtilizarÃas POIFS si tuvieras un documento escrito en el Formato de Documento Compuesto OLE 2, probablemente escrito utilizando
- MFC, que necesitaras leer en Java. Alternativamente, utilizarÃas POI para escribir en el Formato de Documento Compuesto OLE 2
- si necesitaras inter-operar con programas ejecutándose en la plataforma Windows. No nos estamos jactando cuando decimos que
+ UtilizarÃas POIFS si tuvieras un documento escrito en el Formato de Documento Compuesto OLE 2, probablemente escrito utilizando
+ MFC, que necesitaras leer en Java. Alternativamente, utilizarÃas POI para escribir en el Formato de Documento Compuesto OLE 2
+ si necesitaras inter-operar con programas ejecutándose en la plataforma Windows. No nos estamos jactando cuando decimos que
¡POIFS es la adaptación más completa y correcta de este formato de fichero hasta la fecha!
</p>
<p>
- UtilizarÃas HSSF si necesitaras leer o escribir un fichero Excel utilizando Java (XLS). También se pueden leer y modificar
+ UtilizarÃas HSSF si necesitaras leer o escribir un fichero Excel utilizando Java (XLS). También se pueden leer y modificar
hojas de cálculo utilizando este API, aunque ahora mismo la escritura está más madura.
</p>
</section>
</section>
<section><title>HPSF</title>
<p>HPSF es nuestra adaptación del formato de conjunto de propiedades OLE 2 a java puro.
- Los conjuntos de propiedades se utilizan mayoritariamente para almacenar las propiedades
- de un documento (tÃtulo, autor, fecha de la última modificación etc.), pero también pueden ser
- utilizados para propósitos especÃficos de una aplicación. Actualmente HPSF soporta
+ Los conjuntos de propiedades se utilizan mayoritariamente para almacenar las propiedades
+ de un documento (tÃtulo, autor, fecha de la última modificación etc.), pero también pueden ser
+ utilizados para propósitos especÃficos de una aplicación. Actualmente HPSF soporta
sólo funcionalidad de lectura. Por favor, vea
- <link href="../../hpsf/index.html">la página del proyecto HPSF [EN]</link> para más
+ <link href="../../hpsf/index.html">la página del proyecto HPSF [EN]</link> para más
información.</p>
</section>
<section><title>Contribuyendo </title>
<p>
- Asà que ¿te gustarÃa contribuir al proyecto? ¡Genial! Necesitamos gente entusiasta, que trabaje duro, que tenga talento para ayudarnos
- con el proyecto en varias áreas. ¡La primera es petición de nuevas funciones y aviso de errores! La segunda es documentación -
- estaremos a tu entera disposición si tienes alguna crÃtica o te gustarÃa contribuir o mejorar de alguna forma la documentación.
+ Asà que ¿te gustarÃa contribuir al proyecto? ¡Genial! Necesitamos gente entusiasta, que trabaje duro, que tenga talento para ayudarnos
+ con el proyecto en varias áreas. ¡La primera es petición de nuevas funciones y aviso de errores! La segunda es documentación -
+ estaremos a tu entera disposición si tienes alguna crÃtica o te gustarÃa contribuir o mejorar de alguna forma la documentación.
¡Especialmente no nos vendrÃa mal algo de ayuda en documentar el formato de fichero HSSF! ¡Por último, aunque no por ello
- menos importante, nos vendrÃa bien algunos programadores Java que mastiquen binario, para que le echen el diente a la convolución que caracteriza
+ menos importante, nos vendrÃa bien algunos programadores Java que mastiquen binario, para que le echen el diente a la convolución que caracteriza
los formatos de fichero de Microsoft y para que nos ayude a adaptar nuevos formatos a una plataforma Java superior!
</p>
<p> ¡Asà que si estás motivado, listo, y tienes tiempo, únete a las listas de correo y estaremos encantados de ayudarte a
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="AMB" name="AgustÃn MartÃn Barbero" email="-"/>
</authors>
</header>
-
+
<body>
<section><title>POI en los medios de comunicación</title>
<p>
dedicaremos el mismo tiempo asà que no tengáis reparos en enviar
difamaciones coléricas asà como comentarios favorables, técnicos y
objetivos. No mencionaremos mensajes realmente estúpidos (lo sentimos).
- </p>
+ </p>
</section>
<section><title>Inglés</title>
<ul>
- <li>
+ <li>
<link href="http://archive.midrange.com/web400/200204/msg00023.html">Discusión sobre el uso de POI en AS/400s</link>
</li>
<li>
- <link href="http://www.somelist.com/mails/23819.html">Discusión de cuando casi tuvimos POI como el filtro para KOffice si asuntos de polÃtica y licencias no lo hubieran condenado al fracaso</link>
+ <link href="http://www.somelist.com/mails/23819.html">Discusión de cuando casi tuvimos POI como el filtro para KOffice si asuntos de polÃtica y licencias no lo hubieran condenado al fracaso</link>
</li>
<li>
<link href="http://www.oreillynet.com/pub/wlg/1552?page=last&x-showcontent=text">Discusión Java en O'Reilly Network incluyendo discusión sobre POI</link> - O'Reilly.net
</li>
- <li>
+ <li>
<link href="http://www.rollerweblogger.org/page/roller/20020715">Poor Obfuscation Implementation (Implementación Pobre de Ofuscación).</link> - Blog de David M. Johnson
</li>
- <li>
+ <li>
<link href="http://www.jsurfer.org/article.php?sid=322">
Descarga POI 1.5-dev-rc2 </link> - JSurfer
</li>
<li>
<link href="http://javalobby.org/discussionContext/showThreaded/frm/javalobby?folderId=20&discussionContextId=11523">
Descarga Jakarta POI 1.4583</link> - JavaLobby
- </li>
+ </li>
<li>
<link href="http://javalobby.org/discussionContext/showThreaded/frm/javalobby?discussionContextId=11442&folderId=20">
- El proyecto POI se mueve a Jakarta (OLE 2 CDF/Excel/Word en
+ El proyecto POI se mueve a Jakarta (OLE 2 CDF/Excel/Word en
java puro)</link> - JavaLobby
</li>
<li>
<li>
<link href="http://chicago.sourceforge.net/devel/">
Página del Desarrollador de Chicago
- </link>
+ </link>
</li>
<li>
<link href="http://www.onjava.com/pub/d/1157">
Noticias en la Red
</link> - Java World
</li>
-
+
</ul>
</section>
<section><title>Nederlandstalige (Holandés)</title>
<ul>
<li>
- <link
+ <link
href="http://www.ster.be/java/java9.html">
- Een Excel-werkboek maken vanuit Java - Lieven Smits
+ Een Excel-werkboek maken vanuit Java - Lieven Smits
</link>
</li>
</ul>
</section>
<section><title>Deutsch (Alemán)</title>
<ul>
- <li> <link
- href="http://www.entwickler.com/itr/news/show.php3?id=6132&nodeid=82 ">Apache POI verffentlicht</link> - entwicker.com
+ <li> <link
+ href="http://www.entwickler.com/itr/news/show.php3?id=6132&nodeid=82 ">Apache POI verffentlicht</link> - entwicker.com
</li>
<li>
- <link
+ <link
href="http://www.jsp-develop.de/newsletter/10/">
Apache Jakarta-Projekt bringt Word und Excel in die Java-Welt </link> - jsp-develop.de (for the misguided who use JSP ;-) )
</li>
</li>
<li>
<link href="http://p2p.wrox.com/archive/java_espanol/2002-08/3.asp">Discusión sobre Excel y Java incluyendo POI de los foros de Wrox</link>
- </li>
+ </li>
</ul>
</section>
<section><title>Francais (Francés)</title>
<ul>
<li>
<link href="http://linuxfr.org/section/D%E9veloppeur,0,1,8,0.html">
- Excel/OLE accessibles
+ Excel/OLE accessibles
</link> - Da Linux French Page
</li>
<li>
diciéndonos en qué idioma está escrito y lo pondremos donde corresponda!
</p>
<ul>
- <li>
- <link
+ <li>
+ <link
href="http://www.javacentrix.com/index.htm">
Si tuviera que adivinar, dirÃa que es Tailandés, pero a lo mejor
alguno de vosotros lo sabe con seguridad.</link> - javacentrix.com
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<person id="AMB" name="AgustÃn MartÃn Barbero" email="-"/>
</authors>
</header>
-
+
<body>
<section><title>¿Qué es?</title>
<p>El proyecto POI es el proyecto principal para el desarrollo de adaptaciones (ports)
</p>
<section><title>POIFS</title>
<p>
- <link href="../../poifs/index.html">POIFS [EN]</link> es el conjunto de APIs (Interfaces de Aplicación)
+ <link href="../../poifs/index.html">POIFS [EN]</link> es el conjunto de APIs (Interfaces de Aplicación)
para la lectura y escritura del Formato de Documento Compuesto OLE 2 utilizando (únicamente) Java.
- </p>
+ </p>
</section>
-
+
<section><title>HSSF</title>
<p>
<link href="../../spreadsheet/index.html">HSSF [EN]</link> es el conjunto de APIs para la lectura y
<p>
<link href="../../hpsf/index.html">HPSF [EN]</link> es el conjunto de APIs para la lectura
de conjuntos de propiedades utilizando (únicamente) Java.
- </p>
+ </p>
</section>
<section><title>Utilidades-POI (POI-Utils)</title>
<footer>
<legal>
Copyright (c) @year@ The POI Project All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<body>
<section><title>Purpose</title>
- <p>This document hopes to serve as a general introduction and helpful set of
- guidelines for translating POI documentation into other languages. We hope
+ <p>This document hopes to serve as a general introduction and helpful set of
+ guidelines for translating POI documentation into other languages. We hope
to capture both general information here (such as "how do I test my changes")
as well as language specific guidelines and translation conventions.</p>
</section>
<section><title>Introduction</title>
<p>
POI's XML based documentation is built along side the sources. To build poi's documentation
- you run "./build.sh docs" (UNIX/cygwin) or "build docs" (Windows) from the jakarta-poi
+ you run "./build.sh docs" (UNIX/cygwin) or "build docs" (Windows) from the jakarta-poi
directory. This will put the documentation under the build/docs directory, you can navigate
there using your browser generally by typing in the path name or File -> Open new web location
- (or some similar wording)
- and browsing to the "index.html" file. You may also want to run "./build.sh clean docs" or
+ (or some similar wording)
+ and browsing to the "index.html" file. You may also want to run "./build.sh clean docs" or
"build clean docs" so that all documentation previously built is erased before running the build.
- The words "clean" and "docs" are called "targets", from here on out we will refer to them as
- "targets" in which case you may assume you type "./build.sh" or "build" before them in order to
- execute them.
+ The words "clean" and "docs" are called "targets", from here on out we will refer to them as
+ "targets" in which case you may assume you type "./build.sh" or "build" before them in order to
+ execute them.
</p>
<p>
- To generate all of the documentation such as it would appear on the
+ To generate all of the documentation such as it would appear on the
<link href="http://poi.apache.org/">POI Website</link> you can execute the "site" target (optionally
preceeded by the "clean" target. See "<link href="../howtobuild.html">How to Build</link>" page for more detail (Now, POI build uses <link href="http://xml.apache.org/forrest/">Forrest</link>).
</p>
- <p>
+ <p>
The source for POI's XML documentation is in src/documentation/content/xdocs. To edit one of these files you can use
- a standard text editor. Translated documentation is under src/documentation/content/xdocs/trans/xx, where xx is a
+ a standard text editor. Translated documentation is under src/documentation/content/xdocs/trans/xx, where xx is a
two to three letter country code, in general this should match the internet domain suffix of the country where
- that language generally evolved or just be generally recognizable and unique. The directory structure under
- build/site/trans/xx should match the structure of build/site (the English edition) minus the
- trans directory.
+ that language generally evolved or just be generally recognizable and unique. The directory structure under
+ build/site/trans/xx should match the structure of build/site (the English edition) minus the
+ trans directory.
</p>
<p>
The translated documentation should match the content and meaning of the "master" or English documentation.
All documentation should originate in English (this is for simplicity). While documentation written in other
- languages is certainly welcome, it must first be translated (perhaps by posting it to the mail list and
+ languages is certainly welcome, it must first be translated (perhaps by posting it to the mail list and
requesting it be translated) into English and applied to the master before being applied to a translation.
</p>
<p>
We prefer you donate translations directly to the <link href="http://poi.apache.org/">Apache POI</link>
- project rather than hosting them offsite. We will make every effort to accomidate you as we greatly appreciate your
+ project rather than hosting them offsite. We will make every effort to accomidate you as we greatly appreciate your
efforts. However, we understand that sites located within a country are the fastest and most searchable. Therefore,
- we recommend and welcome folks mirroring the POI site and making the translated page the home page. You can do this
+ we recommend and welcome folks mirroring the POI site and making the translated page the home page. You can do this
either via an HTML copy with some <link href="http://httpd.apache.org/info/how-to-mirror.html">appropriate software</link>
or the preferred method of executing the POI build directly. You can contact us via the mail list for both push and
pull options. The same scripts which regenerate the POI website every 2 hours, should work for others. These are not
yet in CVS as they are nasty dirty shell scripts ;-). If you mirror us, tell us so we can link you. (This will help google
- associate you strongly with the project)
+ associate you strongly with the project)
</p>
<p>
- Submitting translations is simple, you follow the same
+ Submitting translations is simple, you follow the same
<link href="/getinvolved/index.html">instructions</link> as you would for submitting a code patch.
Remeber to always generate patchs in diff -u format preserving the context relative to the jakarta-poi directory. Also remember
- to submit any new files in a directory preserving archive format. Never post these to the list, always use
+ to submit any new files in a directory preserving archive format. Never post these to the list, always use
<link href="http://issues.apache.org/bugzilla/buglist.cgi?product=POI&short_desc=%5BPATCH%5D&short_desc_type=allwordssubstr">Bugzilla</link>
and create attachments per the above linked instructions.
</p>
</section>
<section><title>Credits</title>
<p>
- Some people feel uncomfortable putting themselves in the <authors> tags at the top of the documentation as they feel that
+ Some people feel uncomfortable putting themselves in the <authors> tags at the top of the documentation as they feel that
translation does not give them the right to claim authorship. Please don't feel this way, please add yourself to the authors
tags. It can be assumed that authors on the master documentation are all content creators and any additional authors listed
- on the translation that are not on the master document are translators of the documentation. You authored the xx language
- version of the document and should freely add yourself there. Additionally, please supply a patch to the
- <link href="../who.html">Who We Are</link> page noting you as a developer once you've submitted a few translation patches. You deserve
+ on the translation that are not on the master document are translators of the documentation. You authored the xx language
+ version of the document and should freely add yourself there. Additionally, please supply a patch to the
+ <link href="../who.html">Who We Are</link> page noting you as a developer once you've submitted a few translation patches. You deserve
credit and it helps the project to give you credit. Remember documentation is on par with code contribution.
</p>
</section>
<section><title>Starting a new translation</title>
<p>
- To start a translation for a language not already in existance you must create a directory under src/documentation/content/xdocs/trans with a
+ To start a translation for a language not already in existance you must create a directory under src/documentation/content/xdocs/trans with a
two or three letter designation of the country where the language originated. (For example es = Spanish, de = German)
- Copy the book.xml and index.xml file from src/documentation/content/xdocs directory into the src/documentation/content/xdocs/trans/xx directory.
- Change all paths in the book.xml and index.xml to match the relative location of the English version. For example if there is a
+ Copy the book.xml and index.xml file from src/documentation/content/xdocs directory into the src/documentation/content/xdocs/trans/xx directory.
+ Change all paths in the book.xml and index.xml to match the relative location of the English version. For example if there is a
link in index.html that references ./poifs/index.html, you'd change that to ../../poifs/index.html (up 2 directories from trans/xx).
- Create a link from the book.xml file in the src/documentation/content/trans directory (this is necessary or the build will ignore your
+ Create a link from the book.xml file in the src/documentation/content/trans directory (this is necessary or the build will ignore your
documentation) similar to the other languages.
Run the clean target followed by the docs target. If the build is successful, congratulations! If it fails, you probably got one of
the relative paths incorrect! Go fix it (the first error message generally contains the most useful information). If you need help
<p>
So now you have a directory with a copy of the index from the master documentation...so what? Well now translate book.xml and index.xml.
Try to build again. It probably won't work. Why? The encoding. At the top of every file there is an encoding="UTF-8" (in general).
- This encoding will work for many Western European languages, but not for others, or will require some nasty escape sequencing. This is
- where trial and error + guess work come in. This <link
- href="http://www.ibiblio.org/xml/books/xmljava/chapters/ch03s03.html#encoding_table">Table of encodings</link> may help. There is a
+ This encoding will work for many Western European languages, but not for others, or will require some nasty escape sequencing. This is
+ where trial and error + guess work come in. This <link
+ href="http://www.ibiblio.org/xml/books/xmljava/chapters/ch03s03.html#encoding_table">Table of encodings</link> may help. There is a
catch. Your encoding should work on a Linux system under Java 1.3.1 and of course with the build in general. If in doubt, ask.
(This is a practical consideration as thats the setup of the machine currently running the nightly/site builds.)
</p>
</section>
<section><title>Need help?</title>
- <p>
- Andy Oliver is the cofounder of the POI project and one of its most active documentation contributers. Well, Andy used to think he
- spoke very clearly until he traveled abroad and discovered his speech was composed almost entirely of coloquialisms. This can make some
+ <p>
+ Andy Oliver is the cofounder of the POI project and one of its most active documentation contributers. Well, Andy used to think he
+ spoke very clearly until he traveled abroad and discovered his speech was composed almost entirely of coloquialisms. This can make some
of the POI documentation difficult to translate, if in doubt...ask. Its also appropriate to eliminate these from the master documentation
- where it makes it clearer.
+ where it makes it clearer.
</p>
</section>
<section><title>Translation Conventions</title>
<p>
- In addition to the above practical guidelines we hope to come up with a set of translation guidelines here (or linked from here) for
+ In addition to the above practical guidelines we hope to come up with a set of translation guidelines here (or linked from here) for
general use as well as language specific translation guidelines and conventions. We assume that the POI translators will document
them here as they develop.
</p>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
<body>
<section><title>Introduction</title>
<p>
- The POI project has always had a very international following. In fact even today POI is
- more popular in Europe than in the US where the original founders reside. Today POI is
- developed by people from all over the world including India, Austrailia, Japan, and Russia.
+ The POI project has always had a very international following. In fact even today POI is
+ more popular in Europe than in the US where the original founders reside. Today POI is
+ developed by people from all over the world including India, Austrailia, Japan, and Russia.
We recognize and welcome our geographically and culturally diverse users and contributors and
- wish to accomidate you as best as we can.
+ wish to accomidate you as best as we can.
</p>
<p>
- Documentation has always been a cornerstone to POI's success. No matter how fluent one is in
+ Documentation has always been a cornerstone to POI's success. No matter how fluent one is in
a second language, it is always easier to comprehend concepts explained in one's native language,
- therefore, we encourage volunteers to come and help us translate the documentation into other
+ therefore, we encourage volunteers to come and help us translate the documentation into other
languages. Below is a list of the translations that are currently in progress and their status.
</p>
</section>
<footer>
<legal>
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
</document>
</div>
which is then merged with other HTML by site2xhtml.xsl
-$Id$
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Section handling
- <a name/> anchors are added if the id attribute is specified
-$Id$
-->
-<xsl:stylesheet version="1.0"
+<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- the skinconf file -->
<xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
<xsl:variable name="config" select="document($config-file)/skinconfig"/>
-
+
<!-- If true, a PDF link for this page will not be generated -->
<xsl:variable name="disable-pdf-link" select="$config/disable-pdf-link"/>
<!-- If true, a "print" link for this page will not be generated -->
<xsl:variable name="disable-print-link" select="$config/disable-print-link"/>
<!-- If true, an XML link for this page will not be generated -->
- <xsl:variable name="disable-xml-link" select="$config/disable-xml-link"/>
+ <xsl:variable name="disable-xml-link" select="$config/disable-xml-link"/>
<!-- Get the section depth to use when generating the minitoc (default is 2) -->
<xsl:variable name="config-max-depth" select="$config/toc/@level"/>
<!-- Whether to obfuscate email links -->
<xsl:otherwise>2</xsl:otherwise>
</xsl:choose>
</xsl:variable>
-
+
<xsl:param name="notoc"/>
<xsl:param name="path"/>
<!-- <xsl:include href="split.xsl"/> -->
<xsl:with-param name="path" select="$path"/>
</xsl:call-template>
</xsl:variable>
-
+
<xsl:variable name="skin-img-dir" select="concat(string($root), 'skin/images')"/>
<xsl:template match="document">
<div class="content">
<table summary="" class="title">
- <tr>
- <td valign="middle">
+ <tr>
+ <td valign="middle">
<xsl:if test="normalize-space(header/title)!=''">
<h1>
<xsl:value-of select="header/title"/>
</h1>
</xsl:if>
</td>
- <xsl:call-template name="printlink"/>
+ <xsl:call-template name="printlink"/>
<xsl:call-template name="pdflink"/>
<xsl:call-template name="xmllink"/>
</tr>
<!-- Generates the "printer friendly version" link -->
<xsl:template name="printlink">
- <xsl:if test="$disable-print-link = 'false'">
+ <xsl:if test="$disable-print-link = 'false'">
<script type="text/javascript" language="Javascript">
-function printit() {
+function printit() {
if (window.print) {
- window.print() ;
+ window.print() ;
} else {
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
- WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = "";
+ WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = "";
}
}
</script>
<!-- Generates the PDF link -->
<xsl:template name="pdflink">
- <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 'false'">
+ <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 'false'">
<td align="center" width="40" nowrap="nowrap"><a href="{$filename-noext}.pdf" class="dida">
<img class="skin" src="{$skin-img-dir}/pdfdoc.gif" alt="PDF"/><br/>
PDF</a>
</td>
</xsl:if>
</xsl:template>
-
+
<!-- Generates the XML link -->
<xsl:template name="xmllink">
</td>
</xsl:if>
</xsl:template>
-
+
<xsl:template match="body">
<xsl:if test="$max-depth>0 and not($notoc='true')" >
<xsl:call-template name="minitoc">
<xsl:apply-templates/>
<!--
<xsl:call-template name="format">
- <xsl:with-param select="." name="txt" />
- <xsl:with-param name="width">80</xsl:with-param>
+ <xsl:with-param select="." name="txt" />
+ <xsl:with-param name="width">80</xsl:with-param>
</xsl:call-template>
-->
</pre>
</xsl:attribute>
</xsl:template>
- <xsl:template name="minitoc">
+ <xsl:template name="minitoc">
<xsl:param name="tocroot"/>
- <xsl:param name="depth"/>
+ <xsl:param name="depth"/>
<xsl:if test="count($tocroot/section) > 0">
<ul class="minitoc">
<xsl:for-each select="$tocroot/section">
</xsl:choose>
</span>
</xsl:template>
-
+
<xsl:template match="@major">
v<xsl:value-of select="."/>
</xsl:template>
-
+
<xsl:template match="@minor">
<xsl:value-of select="concat('.',.)"/>
</xsl:template>
-
+
<xsl:template match="@fix">
<xsl:value-of select="concat('.',.)"/>
</xsl:template>
-
+
<xsl:template match="@tag">
<xsl:value-of select="concat('-',.)"/>
</xsl:template>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
-
-</xsl:stylesheet>
+</xsl:stylesheet>
filename-noext: return the file part of a path without its last extension
@author Jeff Turner <jefft@apache.org>
-$Id$
-->
<!-- Returns the directory part of a path. Equivalent to Unix 'dirname'.
<!-- Returns the filename part of a path. Equivalent to Unix 'basename'
Examples:
-'index.html' -> 'index.html'
-'foo/bar/' -> ''
-'foo/bar/index.html' -> 'index.html'
+'index.html' -> 'index.html'
+'foo/bar/' -> ''
+'foo/bar/index.html' -> 'index.html'
-->
<xsl:template name="filename">
<xsl:param name="path"/>
<!-- Returns the last extension of a filename in a path.
Examples:
-'index.html' -> '.html'
-'index.dtdx.html' -> '.html'
-'foo/bar/' -> ''
-'foo/bar/index.html' -> '.html'
-'foo/bar/index' -> ''
+'index.html' -> '.html'
+'index.dtdx.html' -> '.html'
+'foo/bar/' -> ''
+'foo/bar/index.html' -> '.html'
+'foo/bar/index' -> ''
-->
<xsl:template name="ext">
<xsl:param name="path"/>
path-nofrag = <xsl:call-template name="path-nofrag">
<xsl:with-param name="path" select="$path"/>
</xsl:call-template>
-
+
</xsl:message>
</xsl:template>
-->
</div>
</site>
-$Id$
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Add links to any standards-compliance logos -->
<xsl:template name="compliancy-logos">
<xsl:if test="$config/disable-compliance-links = 'false'">
- <a href="http://validator.w3.org/check/referer"><img class="logoImage"
+ <a href="http://validator.w3.org/check/referer"><img class="logoImage"
src="{$skin-img-dir}/valid-html401.png"
alt="Valid HTML 4.01!" height="31" width="88"/></a>
-
- <a href="http://jigsaw.w3.org/css-validator/"><img class="logoImage"
- src="{$skin-img-dir}/vcss.png"
+
+ <a href="http://jigsaw.w3.org/css-validator/"><img class="logoImage"
+ src="{$skin-img-dir}/vcss.png"
alt="Valid CSS!" height="31" width="88"/></a>
</xsl:if>
</xsl:template>
which is then merged by site2xhtml.xsl
-$Id$
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
..which site2xhtml.xsl then combines with HTML from the index (book2menu.xsl)
and tabs (tab2menu.xsl) to generate the final HTML.
-$Id$
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<body>
<xsl:apply-templates/>
<xsl:if test="header/authors">
- <div align="right" id="authors">
+ <div align="right" id="authors">
<xsl:for-each select="header/authors/person">
<xsl:choose>
<xsl:when test="position()=1">by </xsl:when>
<!-- </a> -->
</xsl:for-each>
</div>
- </xsl:if>
+ </xsl:if>
<!--xsl:call-template name="pdflink"/-->
</body>
</document>
</xsl:if>
-
-
+
+
<xsl:if test="book">
<xsl:apply-templates/>
</xsl:if>
<xsl:template match="body">
<xsl:apply-templates/>
</xsl:template>
-
-
+
+
<!-- ====================================================================== -->
<!-- header section -->
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<xsl:template match="section">
-
+
<xsl:variable name = "level" select = "count(ancestor::section)+1" />
-
+
<xsl:choose>
<xsl:when test="$level=1">
<div class="h3"><h3><xsl:value-of select="title"/></h3></div>
</xsl:when>
<xsl:otherwise>
<div class="h5"><h5><xsl:value-of select="title"/></h5></div>
- <xsl:apply-templates/>
+ <xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
- </xsl:template>
+ </xsl:template>
<xsl:template match="title">
</xsl:template>
-
+
<!-- ====================================================================== -->
<!-- footer section -->
<!-- ====================================================================== -->
<xsl:template match="source">
<xsl:apply-imports/>
</xsl:template>
-
+
<xsl:template match="//source/font">
<font color="{@color}"><xsl:apply-templates/></font>
</xsl:template>
-
+
<xsl:template match="fixme">
<xsl:apply-imports/>
</xsl:template>
<xsl:template match="ul|ol|dl">
<xsl:apply-imports/>
</xsl:template>
-
+
<xsl:template match="li">
<xsl:apply-imports/>
</xsl:template>
<xsl:attribute name="class">b</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
-
+
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="tn">
<xsl:apply-imports/>
</xsl:template>
-
+
<xsl:template match="caption">
<!-- ignore since already used -->
</xsl:template>
<xsl:template match="code">
<xsl:apply-imports/>
</xsl:template>
-
+
<!-- ====================================================================== -->
<!-- images section -->
<!-- ====================================================================== -->
<xsl:template match="figure">
<xsl:apply-imports/>
</xsl:template>
-
+
<xsl:template match="img">
<xsl:apply-imports/>
</xsl:template>
<xsl:template match="anchor">
<xsl:apply-imports/>
- </xsl:template>
+ </xsl:template>
<!-- ====================================================================== -->
<!-- specials section -->
<!-- Generates the PDF link -->
<xsl:template name="pdflink">
- <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 'false'">
+ <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 'false'">
<div align="right" id="pdf"><a href="{$filename-noext}.pdf">
<img class="skin" src="{$skin-img-dir}/pdfdoc.gif" alt="PDF"/><br/>
PDF</a>
</div>
</site>
-$Id$
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:value-of select="/site/document/title" />
</title>
</head>
-
+
<body class="composite" bgcolor="white">
-
+
<xsl:comment>================= start Banner ==================</xsl:comment>
<div id="banner">
<table border="0" summary="banner" cellspacing="0" cellpadding="8" width="100%">
- <tbody>
+ <tbody>
<tr>
<xsl:comment>================= start Group Logo ==================</xsl:comment>
<xsl:if test="$config/group-name">
</td>
<xsl:comment>================= end Project Logo ==================</xsl:comment>
</tr>
- </tbody>
+ </tbody>
</table>
</div>
<xsl:comment>================= end Banner ==================</xsl:comment>
<xsl:comment>================= start Main ==================</xsl:comment>
<table id="breadcrumbs" summary="nav" border="0" cellspacing="0" cellpadding="0" width="100%">
- <tbody>
+ <tbody>
<xsl:comment>================= start Status ==================</xsl:comment>
<tr class="status">
<td>
<xsl:comment>================= start BreadCrumb ==================</xsl:comment>
- <a href="{$config/trail/link1/@href}"><xsl:value-of select="$config/trail/link1/@name" /></a>
- <xsl:if test = "($config/trail/link2/@name)and(normalize-space($config/trail/link2/@name)!='')"><xsl:text> | </xsl:text></xsl:if>
+ <a href="{$config/trail/link1/@href}"><xsl:value-of select="$config/trail/link1/@name" /></a>
+ <xsl:if test = "($config/trail/link2/@name)and(normalize-space($config/trail/link2/@name)!='')"><xsl:text> | </xsl:text></xsl:if>
<a href="{$config/trail/link2/@href}"><xsl:value-of select="$config/trail/link2/@name" /></a>
- <xsl:if test = "($config/trail/link3/@name)and(normalize-space($config/trail/link3/@name)!='')"><xsl:text> | </xsl:text></xsl:if>
+ <xsl:if test = "($config/trail/link3/@name)and(normalize-space($config/trail/link3/@name)!='')"><xsl:text> | </xsl:text></xsl:if>
<a href="{$config/trail/link3/@href}"><xsl:value-of select="$config/trail/link3/@name" /></a>
- <!-- useful when we have <link> elements instead of link(n:=1..3)
+ <!-- useful when we have <link> elements instead of link(n:=1..3)
<xsl:for-each select="$config/trail/link">
<xsl:if test="position()!=1">|</xsl:if>
<a href="{@href}"><xsl:value-of select="@name"/></a>
<xsl:comment>================= end Tabs ==================</xsl:comment>
</td>
</tr>
- </tbody>
- </table>
+ </tbody>
+ </table>
<xsl:comment>================= end Status ==================</xsl:comment>
</td>
<xsl:comment>================= end Content ==================</xsl:comment>
</tr>
- </tbody>
+ </tbody>
</table>
<xsl:comment>================= end Main ==================</xsl:comment>
<footer>
<legal>
Copyright (c) @year@ The Poi Project All rights reserved.
- $Revision$ $Date$
</legal>
</footer>
<footer>
<legal>
Copyright (c) @year@ The Poi Project All rights reserved.
- $Revision$ $Date$
</legal>
</footer>