<?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: -->