Document Editing on Small Devices - XMergeBackground | Overview | News and Updates | Proposed Future Projects | Plugins | Documentation and Resources | Building XMerge
Project Owner: Svante Schubert
(Please use the provided mailing lists for discussion of the XML based file format and related issues.)
The goals of the Document Editing on Small Devices project is to:
- Allow for the editing of rich format documents on small devices, using 3rd party applications native to the device to do the editing.
- Support the most widely used small devices, namely:
- Provide the ability to merge edits made in the small device's lossy format back into the original richer format document maintaining it's original style.
- Take advantage of the open and well defined OpenOffice.org XML document format.
- Provide a framework with the ability to have plugin-able Convert, Diff and Merge implementations. It should be possible determine a converter's capabilities at run-time.
The XMerge SDK provides a Java-based framework for converting documents between different formats using conversion plugins to read and write each format. More about what plugins are available can be found in the plugin section below.
In addition to format conversion, the XMerge SDK provides a
framework for merging changes in one document format (usually a simpler
or lower quality format) into an original document (typically in a
richer format). The benefit of merging is that richer styles or
content in the original document are retained, while the edits made to
the simpler format can be applied or merged into the original document.
To meet these goals there are two significant interfaces in XMerge:
- the Conversion API's, used by applications to use a supported format conversion
- the Plugin SPI, which is used by developers who want to add conversion support for a new document format.
News and updates
- Mobile Device Support in OpenOffice
The Mobile Device Support Pack for OpenOffice 1.0 is now available. Grab it here
This mini-install integrates XMerge plugins into OpenOffice using the upcoming XmlFilterAdapter. Try it out and let us know how it goes.
- ActiveSync and OpenOffice
ActiveSync Support has been added. You can now sync OpenOffice Writer and Calc documents to and from a Pocket PC device. ActiveSync will automatically invoke XMerge plugins to perform the appropriate conversions. You can get the filter from the downloads section.
- Nokia Communication Word Processor Format Support
Nick Richards has taken on the writing of a plugin for the PsiWord format. PsiWord is the format used by the word processor on the Nokia 9210 Communicator, the Symbian based PDA/phone and other PDA's running the EPOC OS.
Nick is looking for others to help in writing the plugin, so if you can spare the time he can be reached at firstname.lastname@example.org
- Writer2LaTeX XMerge Plugin
Henrik Just has now implemented his Writer2LaTeX converter as an XMerge plugin. This means that now his converter can now be used as an OpenOffice.org export filter as well as being able to perform standalone command line conversions. For more information and the latest versions, visit Henrik's web-page.
Proposed future projects
- Synchronisation support for devices, could be any of the following:
- Application on small device that pulls down a document in desired format and synchronises back.
- Desktop synchronisation integration (eg. HotSync).
- New plugins for other small document formats.
- Enhancements to existing plugins
- Alternate implementations to the diff and merge engines
- Support for OpenOffice.org presentations.
- Provision of a parser independent "XMLWriter". This would in theory allow XMerge to work with any XML parser with DOM level 2 support.
|Platform||Plug-in Name||Description||Current Status
||The XSLT plug-in, makes use of the Xalan XSLT
processor, in order to translate an xml document to and from a
specified xml/xhtml format.
||Plugin for editing StarWriter documents in the AportisDoc format originally developed by Aportis Technology Corporation. However Aportis as of 31st Dec 2002 were acquired by UltraSoft. There are still many palm applications that use the Aportisdoc format. This plugin supports merging of textual changes.||Source Available
||Sample implementation for
editing StarCalc spreadsheets with MiniCalc on the Palm. This
supports merging of textual changes.
||Support of editing text documents through
||Support for editing spreadsheets in PocketExcel
Documentation and Resources
|Documentation for the XMerge SDK|
|Document||Summary||Format and Size|
Document Conversion SDK
||A developer's guide for the
XMerge SDK. Describes how to use the client API, implement plugins,
testing and installing plug-ins.
|| PDF, 180K
||Describes the XSLT converter
plugin, how to use it and also how to implement further XSLT plugins.
|| PDF, 11K
| XMerge JavaDocs
|| Generated from JavaDoc
comments in the sources.
|| ZIP, 364K
The following document describes the process for building the OpenOffice.org XMerge project, either standalone or as part of the OpenOffice.org build environment.
RequirementsThe following tools are necessary in order to build the XMerge project.
Note: Java 1.4 includes the Crimson XML parser and Xalan. If using Java 1.4 the only requirement is Ant.
N.B. Xalan 2.3 splits the XSLT classes between two JAR files.
The build environment expects the XSLT classes to be contained in
Obtaining the sourceThe source for XMerge is maintained under CVS control as part of the XML project.
See the XML Project's Source page for information on obtaining and contributing to source code.
If using CVS, setup your CVS access according to the Source page and checkout the xmerge module.
% cvs -d:pserver:email@example.com:/cvs co oo/xml/xmerge
The source can also be downloaded as a ZIP file here.
Building in a Standalone Environment
To build XMerge in a standalone environment, copy all of the jar files mentioned above and the Xalan-J archive into a directory.
You will need to include the Ant binary directory in your PATH.
Ant requires that the JAVA_HOME variable also be set.
Wrapper scripts have been provided to execute the build. On a UNIX based system use:
% build_xmerge -jars <jar_location> [-debug | optimize]
and on Windows use :
C:\XMerge> build_xmerge.bat -jars <jar_location> [-debug | -optimize]
where <jar_location> is the directory containing the required JAR files.
Note: If using Java 1.4 the jar file location can be given as any directory as Java 1.4 includes the XML and XSLT class files.
The scripts also support building a debug version and an optimized version. Simply specify -debug or -optimize as options. These options are mutually exclusive. If both are set, the first one encountered will be used for build purposes.
Building as part of OpenOffice.org
Setup your OpenOffice.org build environment as detailed in the OpenOffice.org
To build XMerge, you will also need to copy the Ant and Xalan-J Jar
files into your solver's bin directory, e.g.
Once these files are present simply execute the build:
The build will execute and JAR files and documentation will be
contained in a platform-named directory created in the xmerge
Running the Test Driver command-line utility
Once the sources have been built, you can test the plugins using the
test Driver command-line utility.
To this you will need to know the location of all the JAR files that were built, this will vary depending on the mechanism used to build. You will also need the location of the JAR files that you downloaded as stated in the Requirements section above.
Once you have all of this, you execute the test Driver as
% java -cp <jar_location> org.openoffice.xmerge.test.Driver -from <mime-type> -to <mime-type> [-merge <original file>] <file>...
The from and to mime-types to use will depend on the type of
documents being converted. The "-merge" option is only usable when
converting from the device format to the OpenOffice.org document.