<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<article id="article">
	<articleinfo>
		<title>Authoring with Eclipse</title>
		<releaseinfo>
			<remark>Updated May 2008 by Peter Friese, itemis AG (see <ulink url="https://bugs.eclipse.org/bugs/show_bug.cgi?id=225714">Bug 225714)</ulink>.</remark>
		</releaseinfo>
		<date>December 14, 2005</date>
		<authorgroup>
			<author>
				<firstname>Chris</firstname>
				<surname>Aniszczyk</surname>
				<affiliation>
					<orgname>IBM Corporation</orgname>
					<address>
						<email>zx@us.ibm.com</email>
					</address>
				</affiliation>
			</author>
			<author>
				<firstname>Lawrence</firstname>
				<surname>Mandel</surname>
				<affiliation>
					<orgname>IBM Corporation</orgname>
					<address>
						<email>lmandel@ca.ibm.com</email>
					</address>
				</affiliation>
			</author>
		</authorgroup>
		<copyright>
			<year>2005</year>
			<holder>International Business Machines Corporation. All rights reserved.</holder>
		</copyright>
		<abstract>
			<para>
				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.
			</para>
		</abstract>
		<legalnotice>
			<para>
				IBM, AIX, and developerWorks are registered trademarks of International Business Machines 
				Corporation in the United States, other countries, or both.
			</para>
			<para>
				Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United 
				States, other countries, or both.
			</para>
			<para>
				Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
			</para>
			<para>
				Microsoft is a trademark of Microsoft Corporation in the United States, other countries, or both.
			</para>
			<para>
				UNIX is a registered trademark of The Open Group in the United States and other countries.
			</para>
			<para>
				Other company, product, or service names may be trademarks or service marks of others.
			</para>
		</legalnotice>
	</articleinfo>
	<section>
		<title>Environment</title>
		<note>
			<para>
				The examples in this article were built and tested with:
				<itemizedlist>
					<listitem>
						<simpara>
							<ulink 
								url="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.1-200506271435/eclipse-SDK-3.1-win32.zip">
								Eclipse 3.1
							</ulink>
						</simpara>
					</listitem>
					<listitem>
						<simpara>
							<ulink 
								url="http://download.eclipse.org/webtools/downloads/drops/R-1.0-/">
								Eclipse Web Tools Platform (WTP) 1.0
							</ulink>
						</simpara>
					</listitem>
					<listitem>
						<simpara>
							<ulink 
								url="http://eclipsexslt.sourceforge.net/">
								Orangevolt XSLT 1.0.4
							</ulink>
						</simpara>
					</listitem>
				</itemizedlist>
			</para>
		</note>
	</section>
	<section>
		<title>Introduction</title>

		<para>
			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.
		</para>

	</section>

	<section>
		<title>Technical Documentation</title>

		<para>
			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.
		</para>

		<tip>
			<para>
				If you're unfamiliar with DocBook, there's an
				<ulink 
					url="http://www-128.ibm.com/developerworks/library/l-docbk.html">
					article
				</ulink>
				on the <trademark class="registered">IBM</trademark> <trademark class="registered">developerWorks</trademark> site by Joe Brockmeier that can serve as a
				gentle introduction. There is also an
				<ulink 
					url="http://www-128.ibm.com/developerworks/xml/library/x-dita1/index.html">
					introduction
				</ulink>
				to DITA on developerWorks.
			</para>
		</tip>

		<para>
			The technical documentation process can be broken down into
			three broad stages: creation, review, and publication.
		</para>
		<para>
			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.
		</para>
		<para>
			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.
		</para>
		<para>
			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.
		</para>

		<section>
			<title>Advantages of an XML format</title>

			<para>
				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.
			</para>
			<para>
				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.
			</para>
			<para>
				<emphasis>Modularity</emphasis>
				<itemizedlist>
					<listitem>
						<simpara>
							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 <emphasis>Java Web
							Application Development with Eclipse</emphasis> (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.
						</simpara>
					</listitem>
				</itemizedlist>

				<emphasis>Version Control</emphasis>
				<itemizedlist>
					<listitem>
						<simpara>
							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 <trademark class="registered">Microsoft</trademark> 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.
						</simpara>
					</listitem>
				</itemizedlist>

				<emphasis>Consistent Formatting</emphasis>
				<itemizedlist>
					<listitem>
						<simpara>
							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.
						</simpara>
					</listitem>
				</itemizedlist>

				<emphasis>Publishing to Multiple Formats</emphasis>
				<itemizedlist>
					<listitem>
						<simpara>
							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.
						</simpara>
					</listitem>
				</itemizedlist>
			</para>
		</section>
	</section>

	<section>
		<title>Examples</title>
		<para>
			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
			<ulink url="files/book.xml">here</ulink>. This DocBook source for this
			article is also available and can be seen <ulink url="AuthoringWithEclipse.xml">here</ulink>.
		</para>

		<section>
			<title>Tool Chain</title>

			<para>
				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
				<xref linkend="toolchain" />
				. This concept should be very familiar to those who work
				on the <trademark class="registered">UNIX</trademark>, 
				<trademark class="registered">Linux</trademark>, and 
				<trademark class="registered">AIX</trademark> 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.
			</para>
			<para>
				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.
			</para>
			<para>
				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.
			</para>

			<section>
				<title>Creation and Review</title>
				<para>
					Although creation and review are two separate parts
					of the technical documentation process, the same
					tools are required and therefore will be discussed
					together.
				</para>
				<para>
					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
					<xref linkend="xml-source-editor" />
					, is more useful when authoring in XML.
				</para>
				<figure id="xml-source-editor">
					<title>The XML Source Editor</title>
					<mediaobject>
						<imageobject>
							<imagedata width="807" depth="598" fileref="images/xmlsourceeditor.gif"
								format="GIF" />
						</imageobject>
					</mediaobject>
				</figure>

				<para>
					The XML editor provides many of the Eclipse
					franchise functions that <trademark>Java</trademark> developers have become
					accustomed to with the Java editor.
				</para>
				<simpara>
					<emphasis>Content Assistance</emphasis>
				</simpara>
				<itemizedlist>
					<listitem>
						<simpara>
							Gives you a list of valid XML elements
							constrained by an associated grammar.
						</simpara>
					</listitem>
				</itemizedlist>
				<simpara>
					<emphasis>Syntax Highlighting</emphasis>
				</simpara>
				<itemizedlist>
					<listitem>
						<simpara>
							Gives you improved code readability by
							making certain errors instantly visible.
						</simpara>
					</listitem>
				</itemizedlist>
				<simpara>
					<emphasis>Validation</emphasis>
				</simpara>
				<itemizedlist>
					<listitem>
						<simpara>
							Ensures validity of an XML document based
							on an associated grammar.
						</simpara>
					</listitem>
				</itemizedlist>
				<simpara>
					<emphasis>Outline View</emphasis>
				</simpara>
				<itemizedlist>
					<listitem>
						<simpara>
							Assists you in editing and viewing the
							content of your document.
						</simpara>
					</listitem>
				</itemizedlist>
				<simpara>
					<emphasis>XML Catalog</emphasis>
				</simpara>
				<itemizedlist>
					<listitem>
						<simpara>
							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.
						</simpara>
					</listitem>
				</itemizedlist>
				<para>
					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
					<xref linkend="subversion" />, 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.
				</para>
			</section>
			<section>
				<title>Publication</title>

				<para>
					The DocBook XSL
					<xref linkend="docbookxsl" />
					and DITA
					<xref linkend="dita" />
					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.
				</para>
				<tip>
				<simpara>
					The DITA Open Toolkit (DITA-OT) includes a DITA to DocBook
					<ulink 
						url="http://dita-ot.sourceforge.net/doc/DITA-antscript.html">
						transformation
					</ulink>.
				</simpara>
				</tip>
				<para>
					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.
				</para>

				<section>
					<title>HTML</title>

					<para>
						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:
						<itemizedlist>
							<listitem>
								<simpara>DocBook</simpara>
								<itemizedlist>
									<listitem>
										<simpara>html/docbook.xsl</simpara>
									</listitem>
								</itemizedlist>
							</listitem>
							<listitem>
								<simpara>DITA</simpara>
								<itemizedlist>
									<listitem>
										<simpara>xsl/dita2html.xsl</simpara>
									</listitem>
								</itemizedlist>
							</listitem>
						</itemizedlist>
						<xref linkend="html-transformation" />
						shows a sample transformation configuration that
						will transform our DocBook sample
						<ulink url="files/book.xml">document</ulink>
						into HTML.
					</para>
					<figure id="html-transformation">
						<title>Sample HTML Transformation Configuration for book.xml</title>
						<mediaobject>
							<imageobject>
								<imagedata width="692" depth="517" fileref="images/html.png"
									format="PNG" />
							</imageobject>
						</mediaobject>
					</figure>
					<tip>
						<para>
							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
							<ulink 
								url="http://docbook.sourceforge.net/release/xsl/current/doc/html/">
								here
							</ulink>.
						</para>
					</tip>
					<para>
						A Flash movie that
						shows how to run the transformation can be seen
						<ulink  url="files/DocBook-HTML.htm">here</ulink>
						.
					</para>

				</section>

				<section>
					<title>PDF</title>

					<para>
						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.
					</para>
					<para>
						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:
						<emphasis>fo/docbook.xsl</emphasis>.
						<xref linkend="xslfo-transformation" />
						shows a sample transformation configuration used
						to generate an XSL-FO document from book.xml.
					</para>
					<figure id="xslfo-transformation">
						<title>Sample XSL-FO Transformation Configuration for book.xml</title>
						<mediaobject>
							<imageobject>
								<imagedata width="692" depth="517" fileref="images/xsl-fo.png"
									format="PNG" />
							</imageobject>
						</mediaobject>
					</figure>
					<para>
						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
						<ulink 
							url="http://xmlgraphics.apache.org/fop/">
							Apache FOP
						</ulink>
						. We'll use a third-party
						<ulink 
							url="http://www.ahmadsoft.org/fopbridge.html">
							plug-in from Ahmadsoft
						</ulink>
						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.
						<xref linkend="pdf-transformation" />
						shows an example of running the FOP
						transformation.
					</para>
					<figure id="pdf-transformation">
						<title>Sample FOP Transformation</title>
						<mediaobject>
							<imageobject>
								<imagedata width="430" depth="447" fileref="images/fop.png"
									format="PNG" />
							</imageobject>
						</mediaobject>
					</figure>
					<note>
						<para>
							The example includes a sample Ant
							<ulink url="files/pdf/build.xml">
								file
							</ulink>
							that performs the same transformation as
							running the FOP transformation using the
							<ulink 
								url="http://www.ahmadsoft.org/fopbridge.html">
								plug-in from Ahmadsoft
							</ulink>. 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.
						</para>
					</note>
					<para>
						As before, a Flash movie that shows the
						transformation is available
						<ulink  url="files/DocBook-PDF.htm">here</ulink>
						.
					</para>

				</section>

				<section>
					<title>Eclipse Infocenter</title>

					<para>
						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:
						<emphasis>eclipse/eclipse.xsl</emphasis>.
						<xref linkend="eclipse-transformation" />
						shows a sample transformation configuration
						along with the correct parameters. To perform
						this transformation using a DITA source file, use
						the
						<emphasis>ant/sample_eclipsehelp.xml</emphasis>
						Ant file.
					</para>
					<figure id="eclipse-transformation">
						<title>Sample Eclipse Infocenter Transformation Configuration</title>
						<mediaobject>
							<imageobject>
								<imagedata width="803" depth="388" fileref="images/eclipse.png"
									format="PNG" />
							</imageobject>
						</mediaobject>
					</figure>
					<tip>
						<para>
							The complete list of DocBook XSL parameters
							for the Eclipse Infocenter transformation
							is located
							<ulink 
								url="http://docbook.sourceforge.net/release/xsl/current/doc/html/rn22.html">
								here
							</ulink>
							.
						</para>
					</tip>
					<para>
						The Flash movie that shows the Eclipse
						Infocenter DocBook transformation can be found
						<ulink  url="files/DocBook-InfoCenter.htm">
							here
						</ulink>
						.
					</para>
				</section>
			</section>
			
			
			
			<section>
				<title>Current Limitations</title>
				<para>
					Although we have shown that Eclipse's current XML
					authoring support is pretty good, there are a two
					noteworthy limitations.
				</para>
				<para>
					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.
				</para>
				<para>
					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.
				</para>
				<para>
					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.
				</para>
			</section>
		</section>
	</section>

	<section>
		<title>Summary</title>

		<para>
			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.
		</para>

	</section>

	<section>
		<title>Acknowledgements</title>
		<para>
			We'd like to thank:
			<itemizedlist>
				<listitem>
					<simpara>
						Sushma Patel and Anne James for correcting our horrible
						grammar.
					</simpara>
				</listitem>
			</itemizedlist>
			<itemizedlist>
				<listitem>
					<simpara>
						Don Day and Michael Priestly for their DITA
						expertise.
					</simpara>
				</listitem>
			</itemizedlist>
		</para>
	</section>

	<section>
		<title>About the Authors</title>

		<para>
			Chris Aniszczyk is a software developer at the IBM Austin
			Labs and works in Tivoli Security. He's a developer on the
			<ulink url="http://www.gentoo.org">Gentoo Linux</ulink>
			distribution and also a committer on the
			<ulink url="http://www.eclipse.org/emft">
				Eclipse Modeling Framework Technology (EMFT)
			</ulink>
			project.
		</para>
		<para>
			Lawrence Mandel, a software developer at the IBM Toronto
			Laboratory, is the documentation lead and a
			committer for the Eclipse
			<ulink url="http://www.eclipse.org/webtools">
				Web Tools Platform (WTP)
			</ulink>
			project. He is also authoring a book with Arthur Ryman and
			Naci Dai about Java Web application development with
			Eclipse.
		</para>
	</section>

	<bibliography>
		<title>Resources</title>
		<biblioentry id="docbookxsl">
			<bibliosource>
				<ulink  url="http://docbook.sourceforge.net/projects/xsl/">
					DocBook XSL Style Sheets
				</ulink>
			</bibliosource>
		</biblioentry>
		<biblioentry id="dita">
			<bibliosource>
				<ulink  url="http://dita-ot.sourceforge.net/">
					DITA Open Toolkit
				</ulink>
			</bibliosource>
		</biblioentry>
		<biblioentry id="toolchain">
			<bibliosource>
				<ulink  url="http://en.wikipedia.org/wiki/Toolchain">
					Wikipedia: Toolchain
				</ulink>
			</bibliosource>
		</biblioentry>
		<biblioentry id="vex">
			<bibliosource>
				<ulink  url="http://vex.sf.net">
					Vex
				</ulink>
			</bibliosource>
		</biblioentry>
		<biblioentry id="openoffice">
			<bibliosource>
				<ulink  url="http://www.openoffice.org">
					OpenOffice
				</ulink>
			</bibliosource>
		</biblioentry>
		<biblioentry id="subversion">
			<bibliosource>
				<ulink  url="http://subversion.tigris.org/">
					Subversion
				</ulink>
			</bibliosource>
		</biblioentry>
	</bibliography>

	<appendix>
		<title>Appendix</title>

		<para>
			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.
		</para>

		<section>
			<title>The Article</title>

			<para>
				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
				<ulink url="files/article.xsl">here</ulink>.
				<note>
					<para>
						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 <ulink url="https://bugs.eclipse.org/bugs/show_bug.cgi?id=115473">
						#115473</ulink>. We will be contributing our stylesheets for DocBook and
						DITA to this bug.
					</para>
				</note>
			</para>
		</section>
		<section>
			<title>Editors</title>

			<para>
				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.
			</para>
			<section>
				<title>Vex</title>

				<para>
					Vex
					<xref linkend="vex" />
					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
					<xref linkend="vex-editor" />
					.
					<figure id="vex-editor">
						<title>Vex DocBook editor screenshot</title>
						<mediaobject>
							<imageobject>
								<imagedata width="652" depth="498" fileref="images/vex.png"
									format="PNG" />
							</imageobject>
						</mediaobject>
					</figure>

				</para>

			</section>

			<section>
				<title>OpenOffice</title>

				<para>
					OpenOffice
					<xref linkend="openoffice" />
					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.
				</para>
				<para>
					OpenOffice doesn't fully support DocBook. An
					updated list of what portions of DocBook OpenOffice
					supports can be found on the OpenOffice site
					<ulink 
						url="http://xml.openoffice.org/xmerge/docbook/DocBookTags.html">
						here
					</ulink>
					. The site also contains a getting started
					<ulink 
						url="http://xml.openoffice.org/xmerge/docbook/UserGuide.html">
						guide
					</ulink>
					that will get you started with DocBook in
					OpenOffice.
				</para>

			</section>


		</section>
	</appendix>
	
</article>