blob: 0d9047c67e36e59165e272ee28e0ac87749bde30 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Authoring with Eclipse</title><link href="../article.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.73.2" name="generator"><meta name="description" content="The topic of technical publishing is relatively new to the world of Eclipse. One can make the argument that technical publishing is just another collaborative development process involving several people with different backgrounds and skills. This article will show that the Eclipse platform is a viable platform for technical publishing by discussing how to write documents such as an article or a book within Eclipse. In fact, this article was written using Eclipse."></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><h1>Authoring with Eclipse</h1><div class="summary"><h2>Summary</h2><p>
The topic of technical publishing is relatively new to
the world of Eclipse. One can make the argument that
technical publishing is just another collaborative
development process involving several people with
different backgrounds and skills. This article will show
that the Eclipse platform is a viable platform for technical
publishing by discussing how to write documents such as
an article or a book within Eclipse. In fact, this
article was written using Eclipse.
</p><div class="author">
By
Chris&nbsp;Aniszczyk,
IBM Corporation<br>Lawrence&nbsp;Mandel,
IBM Corporation<br></div><div class="copyright">
Copyright &copy;
2005&nbsp;International Business Machines Corporation. All rights reserved.</div><div class="date"><span class="date">December 14, 2005<br></span></div><div class="releaseinfo"><em><span class="remark">Updated May 2008 by Peter Friese, itemis AG (see <a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=225714" target="_new">Bug 225714)</a>.</span></em></div></div><div class="content"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1004C"></a>Environment</h2></div></div></div><div class="note" style="margin-left: 0.38in; margin-right: 0.38in;"><table class="note-table"><tr><td><img alt="[Note]" src="images/note.gif"></td><td><p>
The examples in this article were built and tested with:
<div class="itemizedlist"><ul type="disc"><li>
<a class="ulink" href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.1-200506271435/eclipse-SDK-3.1-win32.zip" target="_new">
Eclipse 3.1
</a>
</li><li>
<a class="ulink" href="http://download.eclipse.org/webtools/downloads/drops/R-1.0-/" target="_new">
Eclipse Web Tools Platform (WTP) 1.0
</a>
</li><li>
<a class="ulink" href="http://eclipsexslt.sourceforge.net/" target="_new">
Orangevolt XSLT 1.0.4
</a>
</li></ul></div>
</p></td></tr></table></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N10069"></a>Introduction</h2></div></div></div><p>
The authors of this document view technical documentation as
another development process that shares the same
characteristics as a software process. In technical
publishing, you have writers, editors, typesetters, QA
reviewers, and so on. Technical publishing is a collaborative
process that currently lacks the tools to facilitate
collaboration. The goal of this article is two-fold: give an
introduction to technical documentation and show, through an
example, how Eclipse can help make technical documentation a
collaborative process.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1006E"></a>Technical Documentation</h2></div></div></div><p>
In the open source world, technical documentation is
primarily accomplished using two popular formats: DocBook
and the Darwin Information Typing Architecture (DITA). These two
formats share two important characteristics: they are both
systems for creating structured documents using XML and both focus on content that is written
in plain text (or in an editor such as OpenOffice). In this
article we focus on DocBook because of our familiarity with the
format. However, we will also provide complementary DITA
information where appropriate.
</p><div class="note" style="margin-left: 0.38in; margin-right: 0.38in;"><table class="note-table"><tr><td><img alt="[Tip]" src="images/tip.gif"></td><td><p>
If you're unfamiliar with DocBook, there's an
<a class="ulink" href="http://www-128.ibm.com/developerworks/library/l-docbk.html" target="_new">
article
</a>
on the <span class="trademark">IBM</span>&reg; <span class="trademark">developerWorks</span>&reg; site by Joe Brockmeier that can serve as a
gentle introduction. There is also an
<a class="ulink" href="http://www-128.ibm.com/developerworks/xml/library/x-dita1/index.html" target="_new">
introduction
</a>
to DITA on developerWorks.
</p></td></tr></table></div><p>
The technical documentation process can be broken down into
three broad stages: creation, review, and publication.
</p><p>
Creation simply refers to populating a document with
content that adheres to whatever format you choose to write
against. This document is usually edited using an XML editor
of choice, although it can be edited with any text editor as
well. In this article we will use WTP's XML editor to edit
documents.
</p><p>
Once an initial version of the content has been written, it
is typically handed off to one or more trusted colleagues
for review. The role of these reviewers is to ensure
technical accuracy and improve the quality of the writing.
The comments and suggestions gathered from the review stage
are then used by the document's authors to create a final
revision of the document.
</p><p>
The final revision of a document involves making it is ready for
publication. When authoring in an XML format, you must eventually transform the document
must be transformed from XML to a human-readable format
(that is, one that has both style and formatting applied)
such as HTML or PDF. Once in a human-readable format, the
document is ready to be published by a selected publisher.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N1008E"></a>Advantages of an XML format</h3></div></div></div><p>
Before diving into an actual example of the technical
documentation process using Eclipse, let's take a look
at some of the benefits of authoring in an XML format.
</p><p>
There are four advantages to authoring in XML that
really show the benefit of this format: modularity,
version control, consistent formatting, and publishing
to multiple formats.
</p><p>
<span class="emphasis"><em>Modularity</em></span>
<div class="itemizedlist"><ul type="disc"><li>
XML formats such as DocBook and DITA are
modular. This allows you to break up your
documents into multiple sections, which can
be automatically combined into one document
using transformation during the publication
stage. Modularizing your documents can be
very beneficial when working on large
documents, such as a book, or when working
with multiple authors. As an example, the
book <span class="emphasis"><em>Java Web
Application Development with Eclipse</em></span> (set to
be published in time for EclipseCon 2006),
was written in DocBook. The book
was structured with one table of
contents XML file and a separate file for
each chapter. Of course, it's up to you to
determine the structure that works best for
your project. The key is that by using an
XML format, you have the freedom to configure
your document's structure.
</li></ul></div>
<span class="emphasis"><em>Version Control</em></span>
<div class="itemizedlist"><ul type="disc"><li>
Version control is very useful and has
become a staple in most development
processes. Why is it, then, that a system that
allows you to maintain the complete history
of your files, allowing you to revert to a
previous version at any time, is not part of
the authoring process? One reason is that many
documents are authored using word-processing
tools that mix formatting information and
content, such as <span class="trademark">Microsoft</span>&reg; Word or Corel
WordPerfect. This mix results in files
containing many changes between revisions,
reducing the usefulness of version control
because it is difficult to view the relevant
changes between versions of the document.
XML formats do not suffer from this problem
as they are content-specific. Authoring in
an XML format allows you to use a version
control system and reap the benefits that
go with it.
</li></ul></div>
<span class="emphasis"><em>Consistent Formatting</em></span>
<div class="itemizedlist"><ul type="disc"><li>
Ensuring that your document is consistently
formatted is a time-consuming aspect of the
authoring process. This task can be further
aggravated when the authoring format
mixes content and formatting in one document
or when working with multiple authors or
files. One of the typical final steps in the
authoring process is ensuring that your
document uses consistent formatting. Using
an XML format solves the consistent
formatting problem by separating your
document's content from its formatting. In
the XML case, formatting can be applied
uniformly to your entire document using a
style sheet. An XML format saves you time and
guarantees consistent formatting.
</li></ul></div>
<span class="emphasis"><em>Publishing to Multiple Formats</em></span>
<div class="itemizedlist"><ul type="disc"><li>
By separating your document's
formatting from its content, you gain
an enormous freedom. Documents authored
in the XML format are not bound by one set
of formatting rules. This means that you can
author an article, such as this one, and
create an HTML version, a PDF version, and
even an Eclipse help system version simply
by transforming your document with different
style sheets. In fact, DocBook includes all
three of these stylesheets allowing you to
easily publish to any of the formats listed
above.
</li></ul></div>
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N100BE"></a>Examples</h2></div></div></div><p>
To show the authoring tool chain in Eclipse, this article
will use a sample book document from the DocBook XSL project. The
XML version of the document can be seen
<a class="ulink" href="files/book.xml" target="_new">here</a>. This DocBook source for this
article is also available and can be seen <a class="ulink" href="AuthoringWithEclipse.xml" target="_new">here</a>.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N100CB"></a>Tool Chain</h3></div></div></div><p>
A tool chain is a set of tools that are used to create a
more complex tool or product. The tools may be used in a
chain, so the output of each tool becomes the input of
the next
<a class="xref" href="#toolchain" title="???TITLE???">[3]</a>
. This concept should be very familiar to those who work
on the <span class="trademark">UNIX</span>&reg;,
<span class="trademark">Linux</span>&reg;, and
<span class="trademark">AIX</span>&reg; platforms,
for example, where the output of one command
line tool is typically piped to the next tool, allowing
complex operations to be performed using several simple
tools.
</p><p>
The beginning of our technical publishing tool chain is
the WTP XML editor, which we use to edit our content.
After we have finished editing the content, we will feed the
output of what we edited into OrangeVolt, an XSLT
transformation engine, which will use style sheets to
publish the content into a human-readable format.
</p><p>
The limitation we put on these examples is that our
tool chain, including all three stages, creation, review,
and publication, will be built with tools available within
Eclipse. From our experience, Eclipse has enormous
potential as an integrated documentation
development environment. In the following sections, we'll
discuss how you can make this a reality with current
Eclipse tooling and where the tooling falls short.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N100E3"></a>Creation and Review</h4></div></div></div><p>
Although creation and review are two separate parts
of the technical documentation process, the same
tools are required and therefore will be discussed
together.
</p><p>
As you may already know, the Eclipse project
is composed of serveral top-level projects including
Eclipse itself (known as the Eclipse base) and the
WTP project. WTP adds many tools to the Eclipse base
including an XML editor with graphical and source
representations of the content. Although the
graphical editor is useful for viewing your document,
we've found that the source editor, shown in
<a class="xref" href="#xml-source-editor" title="Figure&nbsp;1.&nbsp;The XML Source Editor">Figure&nbsp;1, &ldquo;The XML Source Editor&rdquo;</a>
, is more useful when authoring in XML.
</p><div class="figure"><a name="xml-source-editor"></a><p class="title"><b>Figure&nbsp;1.&nbsp;The XML Source Editor</b></p><div class="figure-contents"><div class="mediaobject"><table cellpadding="0" cellspacing="0" summary="manufactured viewport for HTML img" border="0" width="807"><tr style="height: 598px"><td><img src="images/xmlsourceeditor.gif" width="807" alt="The XML Source Editor"></td></tr></table></div></div></div><br class="figure-break"><p>
The XML editor provides many of the Eclipse
franchise functions that <span class="trademark">Java</span>&trade; developers have become
accustomed to with the Java editor.
</p><p>
<span class="emphasis"><em>Content Assistance</em></span>
</p><div class="itemizedlist"><ul type="disc"><li>
Gives you a list of valid XML elements
constrained by an associated grammar.
</li></ul></div><p>
<span class="emphasis"><em>Syntax Highlighting</em></span>
</p><div class="itemizedlist"><ul type="disc"><li>
Gives you improved code readability by
making certain errors instantly visible.
</li></ul></div><p>
<span class="emphasis"><em>Validation</em></span>
</p><div class="itemizedlist"><ul type="disc"><li>
Ensures validity of an XML document based
on an associated grammar.
</li></ul></div><p>
<span class="emphasis"><em>Outline View</em></span>
</p><div class="itemizedlist"><ul type="disc"><li>
Assists you in editing and viewing the
content of your document.
</li></ul></div><p>
<span class="emphasis"><em>XML Catalog</em></span>
</p><div class="itemizedlist"><ul type="disc"><li>
Allows you to register Document Type
Definitions (DTD) and XML Schema grammars
associated with your document with your
workspace so you can work with the benefits
of validation while disconnected from the
Internet.
</li></ul></div><p>
Aside from the benefits of the XML editor, working
in Eclipse provides other benefits. Eclipse includes
integrated version control for CVS. (There is also a
freely available plug-in for subversion
<a class="xref" href="#subversion" title="???TITLE???">[6]</a>, another version control
system.) Integrated
version control allows you to check your changes
into, and view others' changes in, your version
control system from within Eclipse. These tools are
also useful for your reviewers, who, if you give them
permission, can add comments and suggestions to your
document and check their changes in. Giving your reviewers
permission to make these changes allows you to avoid
the need to use e-mail or some other communication
mechanism.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N10131"></a>Publication</h4></div></div></div><p>
The DocBook XSL
<a class="xref" href="#docbookxsl" title="???TITLE???">[1]</a>
and DITA
<a class="xref" href="#dita" title="???TITLE???">[2]</a>
projects offer numerous transformations, including
HTML and PDF formats. The most common
transformation technique is to use an Ant file with
the appropriate tasks for the various
transformations. In this article we use the
Orangevolt XSLT tool to simplify this task.
Orangevolt XSLT integrates into the familiar Eclipse
launcher framework. This integration allows you to
select the style sheet and pass in necessary
parameters for the transformation.
</p><div class="note" style="margin-left: 0.38in; margin-right: 0.38in;"><table class="note-table"><tr><td><img alt="[Tip]" src="images/tip.gif"></td><td><p>
The DITA Open Toolkit (DITA-OT) includes a DITA to DocBook
<a class="ulink" href="http://dita-ot.sourceforge.net/doc/DITA-antscript.html" target="_new">
transformation
</a>.
</p></td></tr></table></div><p>
Along with the description in this article, we have
provided Flash movies that demonstrate how to
perform each transformation. Transformations for
both DocBook and DITA will be provided where
appropriate.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="N10145"></a>HTML</h5></div></div></div><p>
Of all the available transformations,
transforming your document into HTML is the
easiest to use. All that you need to do is
create a proper transformation launch
configuration and run the transformation.
Specifically, you need to specify the correct
style sheet:
<div class="itemizedlist"><ul type="disc"><li><p>DocBook</p><div class="itemizedlist"><ul type="circle"><li>html/docbook.xsl</li></ul></div></li><li><p>DITA</p><div class="itemizedlist"><ul type="circle"><li>xsl/dita2html.xsl</li></ul></div></li></ul></div>
<a class="xref" href="#html-transformation" title="Figure&nbsp;2.&nbsp;Sample HTML Transformation Configuration for book.xml">Figure&nbsp;2, &ldquo;Sample HTML Transformation Configuration for book.xml&rdquo;</a>
shows a sample transformation configuration that
will transform our DocBook sample
<a class="ulink" href="files/book.xml" target="_new">document</a>
into HTML.
</p><div class="figure"><a name="html-transformation"></a><p class="title"><b>Figure&nbsp;2.&nbsp;Sample HTML Transformation Configuration for book.xml</b></p><div class="figure-contents"><div class="mediaobject"><table cellpadding="0" cellspacing="0" summary="manufactured viewport for HTML img" border="0" width="692"><tr style="height: 517px"><td><img src="images/html.png" width="692" alt="Sample HTML Transformation Configuration for book.xml"></td></tr></table></div></div></div><br class="figure-break"><div class="note" style="margin-left: 0.38in; margin-right: 0.38in;"><table class="note-table"><tr><td><img alt="[Tip]" src="images/tip.gif"></td><td><p>
You can augment the transformation by
passing parameters to the style sheet.
There's a full listing of DocBook XSL
parameters that can be used to configure the
transformation located
<a class="ulink" href="http://docbook.sourceforge.net/release/xsl/current/doc/html/" target="_new">
here
</a>.
</p></td></tr></table></div><p>
A Flash movie that
shows how to run the transformation can be seen
<a class="ulink" href="files/DocBook-HTML.htm" target="_new">here</a>
.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="N1017A"></a>PDF</h5></div></div></div><p>
Transforming a DocBook XML file to PDF format is
more involved than the transformation to HTML
but it is still possible using a style sheet. The
difference lies in a task that must be performed
before the actual transformation. So, the
transformation from XML to PDF is a two-step
process.
</p><p>
Step one is to generate an XSL formatting objects
(XSL-FO) document. This document will then be
transformed into a PDF. In order to generate an
XSL-FO document, you need to use the following
stylesheet:
<span class="emphasis"><em>fo/docbook.xsl</em></span>.
<a class="xref" href="#xslfo-transformation" title="Figure&nbsp;3.&nbsp;Sample XSL-FO Transformation Configuration for book.xml">Figure&nbsp;3, &ldquo;Sample XSL-FO Transformation Configuration for book.xml&rdquo;</a>
shows a sample transformation configuration used
to generate an XSL-FO document from book.xml.
</p><div class="figure"><a name="xslfo-transformation"></a><p class="title"><b>Figure&nbsp;3.&nbsp;Sample XSL-FO Transformation Configuration for book.xml</b></p><div class="figure-contents"><div class="mediaobject"><table cellpadding="0" cellspacing="0" summary="manufactured viewport for HTML img" border="0" width="692"><tr style="height: 517px"><td><img src="images/xsl-fo.png" width="692" alt="Sample XSL-FO Transformation Configuration for book.xml"></td></tr></table></div></div></div><br class="figure-break"><p>
Step two is to use a Formatting Objects
Processor (FOP) to transform your XSL-FO
document into a PDF. One of the more popular
open source FOPs is the
<a class="ulink" href="http://xmlgraphics.apache.org/fop/" target="_new">
Apache FOP
</a>
. We'll use a third-party
<a class="ulink" href="http://www.ahmadsoft.org/fopbridge.html" target="_new">
plug-in from Ahmadsoft
</a>
that integrates Apache FOP into Eclipse. After
installing this plug-in, all that you need to do
to render the XSL-FO document is run the FOP
transformation.
<a class="xref" href="#pdf-transformation" title="Figure&nbsp;4.&nbsp;Sample FOP Transformation">Figure&nbsp;4, &ldquo;Sample FOP Transformation&rdquo;</a>
shows an example of running the FOP
transformation.
</p><div class="figure"><a name="pdf-transformation"></a><p class="title"><b>Figure&nbsp;4.&nbsp;Sample FOP Transformation</b></p><div class="figure-contents"><div class="mediaobject"><table cellpadding="0" cellspacing="0" summary="manufactured viewport for HTML img" border="0" width="430"><tr style="height: 447px"><td><img src="images/fop.png" width="430" alt="Sample FOP Transformation"></td></tr></table></div></div></div><br class="figure-break"><div class="note" style="margin-left: 0.38in; margin-right: 0.38in;"><table class="note-table"><tr><td><img alt="[Note]" src="images/note.gif"></td><td><p>
The example includes a sample Ant
<a class="ulink" href="files/pdf/build.xml" target="_new">
file
</a>
that performs the same transformation as
running the FOP transformation using the
<a class="ulink" href="http://www.ahmadsoft.org/fopbridge.html" target="_new">
plug-in from Ahmadsoft
</a>. An Ant script is a popular method of
performing the publishing stage, and this
example should give you a good starting
point if you'd prefer to go this route. The
DITA project already includes an Ant script
(found in ant/sample_pdf.xml in DITA-OT) to perform
this exact task on DITA source files.
</p></td></tr></table></div><p>
As before, a Flash movie that shows the
transformation is available
<a class="ulink" href="files/DocBook-PDF.htm" target="_new">here</a>
.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="N101BD"></a>Eclipse Infocenter</h5></div></div></div><p>
In our opinion, one of the coolest features of
the DocBook and DITA projects is the generation
of an Eclipse help plug-in (information center) from
your source XML file. In order to perform this
transformation in DocBook, you need to specify a
few parameters and use the following style sheet:
<span class="emphasis"><em>eclipse/eclipse.xsl</em></span>.
<a class="xref" href="#eclipse-transformation" title="Figure&nbsp;5.&nbsp;Sample Eclipse Infocenter Transformation Configuration">Figure&nbsp;5, &ldquo;Sample Eclipse Infocenter Transformation Configuration&rdquo;</a>
shows a sample transformation configuration
along with the correct parameters. To perform
this transformation using a DITA source file, use
the
<span class="emphasis"><em>ant/sample_eclipsehelp.xml</em></span>
Ant file.
</p><div class="figure"><a name="eclipse-transformation"></a><p class="title"><b>Figure&nbsp;5.&nbsp;Sample Eclipse Infocenter Transformation Configuration</b></p><div class="figure-contents"><div class="mediaobject"><table cellpadding="0" cellspacing="0" summary="manufactured viewport for HTML img" border="0" width="803"><tr style="height: 388px"><td><img src="images/eclipse.png" height="388" alt="Sample Eclipse Infocenter Transformation Configuration"></td></tr></table></div></div></div><br class="figure-break"><div class="note" style="margin-left: 0.38in; margin-right: 0.38in;"><table class="note-table"><tr><td><img alt="[Tip]" src="images/tip.gif"></td><td><p>
The complete list of DocBook XSL parameters
for the Eclipse Infocenter transformation
is located
<a class="ulink" href="http://docbook.sourceforge.net/release/xsl/current/doc/html/rn22.html" target="_new">
here
</a>
.
</p></td></tr></table></div><p>
The Flash movie that shows the Eclipse
Infocenter DocBook transformation can be found
<a class="ulink" href="files/DocBook-InfoCenter.htm" target="_new">
here
</a>
.
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N101E4"></a>Current Limitations</h4></div></div></div><p>
Although we have shown that Eclipse's current XML
authoring support is pretty good, there are a two
noteworthy limitations.
</p><p>
The first is grammar and spell-checking. While these
tools are commonplace in word-processing software,
they do not yet exist for WTP's XML editor.
</p><p>
The second is a WYSIWYG editor for XML documentation
formats such as DITA and DocBook (or a preview
window). The lack of a sophisticated editor or a way
to preview what you've written requires that you
stop authoring and transform your document in order
to view the results of your changes.
</p><p>
While neither of these limitations has been a show-stopper
in our authoring process, our hope is that as
Eclipse is recognized as an integrated documentation
development environment, these limitations will be
addressed.
</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N101EF"></a>Summary</h2></div></div></div><p>
In this article, we introduced the technical documentation
process and showed that technical documentation development
is possible in Eclipse. We worked through examples showing
how to use Eclipse to aid the different phases of the
technical documentation process. Although there is still a
lot of room for improvement in this area we hope we've
convinced you that technical documentation in Eclipse is
both possible and already viable. It's now up to you in
the technical documentation community to speak up, make it
clear that Eclipse is being used for the authoring process,
and push to get the current limitations addressed.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N101F4"></a>Acknowledgements</h2></div></div></div><p>
We'd like to thank:
<div class="itemizedlist"><ul type="disc"><li>
Sushma Patel and Anne James for correcting our horrible
grammar.
</li></ul></div>
<div class="itemizedlist"><ul type="disc"><li>
Don Day and Michael Priestly for their DITA
expertise.
</li></ul></div>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N10203"></a>About the Authors</h2></div></div></div><p>
Chris Aniszczyk is a software developer at the IBM Austin
Labs and works in Tivoli Security. He's a developer on the
<a class="ulink" href="http://www.gentoo.org" target="_new">Gentoo Linux</a>
distribution and also a committer on the
<a class="ulink" href="http://www.eclipse.org/emft" target="_new">
Eclipse Modeling Framework Technology (EMFT)
</a>
project.
</p><p>
Lawrence Mandel, a software developer at the IBM Toronto
Laboratory, is the documentation lead and a
committer for the Eclipse
<a class="ulink" href="http://www.eclipse.org/webtools" target="_new">
Web Tools Platform (WTP)
</a>
project. He is also authoring a book with Arthur Ryman and
Naci Dai about Java Web application development with
Eclipse.
</p></div><div class="appendix" lang="en"><h2 class="title" style="clear: both"><a name="N10249"></a>A.&nbsp;Appendix</h2><p>
The appendix contains a discussion about how this article
was written (including the HTML style sheet so you can write
your own eclipse.org article in DocBook). The appendix also
reviews a couple of other editors out there for technical
documentation in case WTP's XML editor doesn't suit your fancy.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N1024E"></a>The Article</h3></div></div></div><p>
This article was written in DocBook using WTP's XML
editor. To transform the article into the correct format
for eclipse.org, a style sheet was developed that extends
the transformation included in the DocBook XSL project.
The eclipse.org article style sheet can be downloaded
<a class="ulink" href="files/article.xsl" target="_new">here</a>.
<div class="note" style="margin-left: 0.38in; margin-right: 0.38in;"><table class="note-table"><tr><td><img alt="[Note]" src="images/note.gif"></td><td><p>
Eclipse.org is in the process of moving to a data driven format
for articles. You can find more information about this process
by following bug <a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=115473" target="_new">
#115473</a>. We will be contributing our stylesheets for DocBook and
DITA to this bug.
</p></td></tr></table></div>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N1025F"></a>Editors</h3></div></div></div><p>
Part of the creation process involves editing the
content of your XML document in an editor. The editor
you use is a preference that is usually precious to the
content creator (think EMACS versus VI). We decided to
use the WTP XML editor as the editor for this article
because of our familiarity with it and because both of us like working
within Eclipse. However, we realize that there are other
options for creating and editing content so we'll
discuss of a couple of those options in the following
sections.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N10264"></a>Vex</h4></div></div></div><p>
Vex
<a class="xref" href="#vex" title="???TITLE???">[4]</a>
is an open source project that lets you edit XML
files visually. Vex uses standard Document Type
Definition (DTD) files to define document types and
Cascading Style Sheets (CSS) to define document
layout. In essence, Vex only requires that you have
knowledge of CSS and DTDs in order to contribute a
visual editor for XML files. The Vex editor can be
seen in
<a class="xref" href="#vex-editor" title="Figure&nbsp;A.1.&nbsp;Vex DocBook editor screenshot">Figure&nbsp;A.1, &ldquo;Vex DocBook editor screenshot&rdquo;</a>
.
<div class="figure"><a name="vex-editor"></a><p class="title"><b>Figure&nbsp;A.1.&nbsp;Vex DocBook editor screenshot</b></p><div class="figure-contents"><div class="mediaobject"><table cellpadding="0" cellspacing="0" summary="manufactured viewport for HTML img" border="0" width="652"><tr style="height: 498px"><td><img src="images/vex.png" width="652" alt="Vex DocBook editor screenshot"></td></tr></table></div></div></div><br class="figure-break">
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N1027C"></a>OpenOffice</h4></div></div></div><p>
OpenOffice
<a class="xref" href="#openoffice" title="???TITLE???">[5]</a>
is a multi-platform open source office suite that is
capable of visually editing DocBook and various
other formats. OpenOffice is a popular editing
choice because of its ability to open multiple
document formats, including Microsoft Word, and then
export the documents to DocBook.
</p><p>
OpenOffice doesn't fully support DocBook. An
updated list of what portions of DocBook OpenOffice
supports can be found on the OpenOffice site
<a class="ulink" href="http://xml.openoffice.org/xmerge/docbook/DocBookTags.html" target="_new">
here
</a>
. The site also contains a getting started
<a class="ulink" href="http://xml.openoffice.org/xmerge/docbook/UserGuide.html" target="_new">
guide
</a>
that will get you started with DocBook in
OpenOffice.
</p></div></div></div><div class="bibliography"><div class="titlepage"><div><div><h2 class="title"><a name="N10216"></a>Resources</h2></div></div></div><div class="biblioentry"><a name="docbookxsl"></a><p>[1] <span class="bibliosource">
<a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/" target="_new">
DocBook XSL Style Sheets
</a>
. </span></p></div><div class="biblioentry"><a name="dita"></a><p>[2] <span class="bibliosource">
<a class="ulink" href="http://dita-ot.sourceforge.net/" target="_new">
DITA Open Toolkit
</a>
. </span></p></div><div class="biblioentry"><a name="toolchain"></a><p>[3] <span class="bibliosource">
<a class="ulink" href="http://en.wikipedia.org/wiki/Toolchain" target="_new">
Wikipedia: Toolchain
</a>
. </span></p></div><div class="biblioentry"><a name="vex"></a><p>[4] <span class="bibliosource">
<a class="ulink" href="http://vex.sf.net" target="_new">
Vex
</a>
. </span></p></div><div class="biblioentry"><a name="openoffice"></a><p>[5] <span class="bibliosource">
<a class="ulink" href="http://www.openoffice.org" target="_new">
OpenOffice
</a>
. </span></p></div><div class="biblioentry"><a name="subversion"></a><p>[6] <span class="bibliosource">
<a class="ulink" href="http://subversion.tigris.org/" target="_new">
Subversion
</a>
. </span></p></div></div><div class="notices"><h3>Legal Notices</h3><p>
IBM, AIX, and developerWorks are registered trademarks of International Business Machines
Corporation in the United States, other countries, or both.
</p><p>
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United
States, other countries, or both.
</p><p>
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
</p><p>
Microsoft is a trademark of Microsoft Corporation in the United States, other countries, or both.
</p><p>
UNIX is a registered trademark of The Open Group in the United States and other countries.
</p><p>
Other company, product, or service names may be trademarks or service marks of others.
</p></div></div><div class="content"></div></body></html>