tools.xml

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