<?xml version="1.0" encoding="UTF-8"?>
<appendix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.docbook.org/xsd/4.5/docbook.xsd">
   <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 Web Standard Tools 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>