<?xml version='1.0' encoding='utf-8'?> <!-- -*- xml -*- -->
<chapter id="tools">
<title>Tools</title>
<para>The &sdb; is held together by magic <command>sed</command>
glue, which is activated by some rules in the <link
linkend="Makefile">Makefile</link> in <xref linkend="source"/>.
So, in order to build the &sdb; you will need
<command>make</command> and <command>sed</command> (and also
<command>fold</command>). Note that <command>sed</command> and
<command>fold</command> won't be necessary for all SGML projects,
but using a <filename>Makefile</filename> is usually a good
idea.</para>
<para>To have a functioning XML environment, you will need to have
various programs installed. On a Red Hat Linux 7.3 system, you
need to install these packages:</para>
<itemizedlist>
<listitem>
<indexterm>
<primary>sgml-common</primary>
</indexterm>
<indexterm>
<primary>xml-common</primary>
</indexterm>
<para><literal>sgml-common</literal> and
<literal>xml-common</literal></para>
</listitem>
<listitem>
<indexterm>
<primary>xmltex</primary>
</indexterm>
<para><literal>xmltex</literal></para>
</listitem>
<listitem>
<indexterm>
<primary>passivetex</primary>
</indexterm>
<para><literal>passivetex</literal></para>
</listitem>
<listitem>
<indexterm>
<primary>docbook-style-xsl</primary>
</indexterm>
<para><literal>docbook-style-xsl</literal></para>
</listitem>
<listitem>
<indexterm>
<primary>docbook-dtds</primary>
</indexterm>
<para><literal>docbook-dtds</literal></para>
</listitem>
<listitem>
<indexterm>
<primary>xmlto</primary>
</indexterm>
<para><literal>xmlto</literal></para>
</listitem>
</itemizedlist>
<para>See <ulink
url="http://cyberelk.net/tim/docbook/">http://cyberelk.net/tim/docboo
k/</ulink>
for more information.</para>
<para>The last package in the list there is
<literal>xmlto</literal>, which is just a small shell script which
invokes the other tools for you so that you don't have to remember
which commands to run, how many times, and so on. It is similar to
<citerefentry><refentrytitle>jw</refentrytitle><manvolnum>1</manvolnu
m>
</citerefentry> from the <literal>docbook-utils</literal>
package.</para>
<para><indexterm><primary>emacs</primary>
</indexterm><indexterm><primary>psgml</primary>
</indexterm>I use an <command>emacs</command> package called
<literal>psgml</literal> for editing SGML or XML documents. The
keybindings I find most useful are:</para>
<itemizedlist>
<listitem>
<para><keysym>Tab</keysym> indents the current element to a level
appropriate to its nesting depth.</para>
</listitem>
<listitem>
<para><keycombo action="seq">
<keycombo action="simul">
<keysym>C</keysym><keysym>c</keysym>
</keycombo>
<keycombo action="simul">
<keysym>C</keysym><keysym>t</keysym>
</keycombo>
</keycombo> lists the valid tags for the current element.</para>
</listitem>
<listitem>
<para><keycombo action="seq">
<keycombo action="simul">
<keysym>C</keysym><keysym>c</keysym>
</keycombo>
<keysym>/</keysym>
</keycombo> closes the current element.</para>
</listitem>
</itemizedlist>
</chapter>
<!-- Local Variables: -->
<!-- sgml-indent-step: 1 -->
<!-- sgml-indent-data: 1 -->
<!-- sgml-parent-document: "selfdocbookx.xml" -->
<!-- End: -->