XSLT processing error: No stylesheets to process.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- ?xml-stylesheet href="docbook.xsl" type="text/css"? -->

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
     "http://docbook.org/xml/4.2/docbookx.dtd" []>

<article lang="en" id="SGML-EditingTutorial">

<title>SGML/XML document editing and publication on GNU/Linux systems</title>


<!-- "Phreddie Phughwitt's Instant Overview of SGML/XML document editing and publication on GNU/Linux systems",
     copyright (c) 2004, 2005 Martin S. Wheeler
     http://www.startext.co.uk/mwheeler/   +44 1458 83-1103   -->


<articleinfo>

  <title>SGML/XML editing mini-tutorial</title>

  <subtitle>document editing and publication on GNU/Linux systems</subtitle>

  <author>
    <firstname>Martin</firstname>
    <surname>Wheeler</surname>
    <othername role="mi">S.</othername>
    <affiliation>
      <orgname>
        <emphasis role="strong"><ulink url="http://www.startext.co.uk/">StarTEXT</ulink></emphasis> document engineering
      </orgname>
      <address>
        <city>Glastonbury, </city>
        <country>England - UK</country>
        <email><ulink url="mailto:mwheeler@startext.co.uk">mwheeler@startext.co.uk</ulink></email>
      </address>
    </affiliation>
  </author>

  <revhistory>
    <revision>
      <revnumber>v0.3</revnumber>
      <date>2005-01-22</date>
      <authorinitials>
        <ulink url="mailto:msw@startext.co.uk">
          msw
        </ulink>
      </authorinitials>
    </revision>
  </revhistory>

  <copyright>
    <year>2004, 2005</year>
    <holder>Martin S. Wheeler</holder>
  </copyright>

  <abstract>
    <para>
    These mini-tutorial notes are intended to give trainee document editors a bare-bones overview of the facilities open to them when they create their own personal SGML editing workstation, using the GNU/Linux operating system.
    </para>
  </abstract>

  <keywordset>
    <keyword> SGML </keyword>
    <keyword> XML </keyword>
    <keyword> DTD </keyword>
    <keyword> editing </keyword>
    <keyword> publishing </keyword>
    <keyword> Linux </keyword>
  </keywordset>

</articleinfo>


<sect1 id="SGML-publishing">

  <title>SGML Editing</title>


  <sect2 id="editing-technique">

  <title>Editing Technique</title>


<para><emphasis>
[NOTE: this document assumes that the reader has a rudimentary grasp of what
is meant by SGML markup; the types of documents it applies to; and why it is
being used.]
</emphasis></para>

<para>
Editing, then publishing documents using SGML/XML is a three-stage process.
</para>

<orderedlist numeration="arabic">
<listitem>

<para>
The first stage - <emphasis role="bold">text creation</emphasis> - is itself a two-part activity.
<itemizedlist>
<listitem>
<para>First, the basic text has to be created and written down.
This can be done any way the author wishes -- using whatever tool(s) come to
hand, from cat to OpenOffice.org. The only proviso is that the text be composed in ASCII plain text.</para>
</listitem>
<listitem>
<para>Second, this text has to have markup applied to it ('tagging').
The rules governing how markup is applied are provided in standard SGML DTDs,
thus providing the opportunity to employ DTD-aware text processing and
validation methods. Again, this is done in ASCII format.</para>
</listitem>
</itemizedlist>
</para>

<para>
The two activities may be combined into one simultaneous application of both.
This will depend on the author's degree of knowledge of markup technique and
familiarity with the relevant DTD and its allowable entities; plus the
availability of suitable DTD-aware text processors.
</para>

<para>
SGML-savvy authors may even wish to write their own conformant DTDs to specific in-house requirements.
</para>

<para>
The final result is an ASCII text file, containing marked-up ('tagged') text.
It is conventional to use the filename extension to indicate the type of markup employed; e.g .sgml, .xml.
</para>
</listitem>

<listitem>
<para>
The second stage - <emphasis role="bold">text transformation</emphasis> - is also a two-stage activity.
<itemizedlist>
<listitem>
<para>First the marked-up text must be passed through a processor to produce the desired final form of processed text (pdf, html, xhtml, dvi, ps, tex, etc.).</para>
</listitem>
<listitem>
<para>Simultaneously, presentational formatting is applied to the document via the application of a pre-defined style-sheet, to determine the final visual appearance of the document within the chosen document type. (E.g. 'house style' for a pdf sales document or catalogue, or html web page.)</para>
<para>Style sheets may be chosen from a library of pre-written elements; or written from scratch by the document editor/publisher -- the latter demanding appropriate knowledge of style sheet syntax.</para></listitem>
</itemizedlist>
</para>

<para>
Note that there exists two different ways of applying these transformations, each with its own type of stylesheet (.dsl for DSSSL transformations; .xsl for XSL transformations).
</para>

<para>
The result is a formatted file, whose filename extension is again used to denote the formatting used; e.g. .pdf, .ps, .xhtml.
</para>
</listitem>

<listitem>
<para>
The third stage - <emphasis role="bold">document publication</emphasis> - demands only that a means be available to view or
otherwise present ('publish') the document in its final form; e.g. web-browser
for html document; graphical viewer for pdf document, etc.
</para>

<para>
Some means of transferring screen output to printed hard-copy is also desirable.
</para>
</listitem>
</orderedlist>

<para>
Of course, an overall fundamental requirement is for the availability of a
working GNU/Linux system with all necessary software tools installed, and to
which the editor/publisher has full user access. (This is easily achieved by, for example, running a copy of Ubuntu Linux <emphasis>[q.v.]</emphasis> or similar, from freely available CD - with no need to install any software to the hard disk.)  
</para>

<para>
Considerations concerning the storage and retrieval of documents in marked-up
text form, or full final presentation form -- whether in the guise of a full 
document library or database of discrete text elements -- is beyond the scope
of the present.
</para>

  </sect2>


  <sect2 id="software-tools">

  <title>SGML software tools</title>

    <para>The following are some of the most commonly-encountered SGML publishing software tools.</para>

    <orderedlist numeration="arabic">

  <listitem><para>Text production tools</para>

<para>
<emphasis>a) accessible from the command line</emphasis>
<simplelist type='horiz' columns='1'>
<member><filename>cat</filename></member>
<member><filename>ed</filename> / <filename>red</filename></member>
<member>[<filename>edit</filename>] / <filename>editor</filename></member>
<member>[<filename>pico</filename>] / <filename>nano</filename></member>
<member><filename>mcedit</filename></member>
</simplelist>

<emphasis>b) accessible from under X</emphasis>
<simplelist type='horiz' columns='1'>
<member><filename>nedit</filename></member>
<member><filename>vi / vim / gvim</filename></member>
<member><filename>emacs / xemacs</filename></member>
</simplelist>

<emphasis>c) text-processing apps</emphasis>
<simplelist type='horiz' columns='1'>
<member><application>Abiword</application></member>
<member><application>LyX</application></member>
<member><application>OpenOffice.org</application></member>
</simplelist>

<emphasis>d) specialist markup apps</emphasis>
<simplelist type='horiz' columns='1'>
<member><application>quanta</application></member>
<member><application>conglomerate</application></member>
<member><application>amaya</application></member>
</simplelist>

<emphasis>e) commercial wysiwyg editors</emphasis>
<simplelist type='horiz' columns='1'>
<member><application>HoTMetaL</application></member>
<member><application>XMetaL</application></member>
</simplelist>
</para>

  </listitem>


  <listitem><para>Transformation tools</para>

<para>
<emphasis>a) DSSSL tools (use .dsl stylesheets)</emphasis>
<simplelist type='horiz' columns='1'>
<member><filename>jade</filename></member>
<member><filename>openjade</filename></member>
</simplelist>

<emphasis>b) XSL tools (use .xsl stylesheets)</emphasis>
<simplelist type='horiz' columns='1'>
<member><filename>xsltproc</filename></member>
<member><filename>saxon</filename></member>
<member><filename>xalan</filename></member>
</simplelist>

<emphasis>c) 'N'-conversion tools</emphasis>
<simplelist type='horiz' columns='1'>
<member><filename>xmlto</filename></member>
</simplelist>
</para>

  </listitem>


  <listitem><para>Publication tools</para>

  <para>
    <simplelist type='horiz' columns='1'>
    <member><application>gs</application></member>
    <member><application>mozilla-firefox</application></member>
    <member><application>OpenOffice.org</application></member>
    <member><application>xdvi</application></member>
    <member><application>xpdf</application></member>
    </simplelist>
  </para>

  </listitem>


  <listitem><para>Commonly-used DTDs</para>

  <para>
    <simplelist type='horiz' columns='1'>
    <member>HTML</member>
    <member>Docbook</member>
    <member>TEI</member>
    <member>MathML</member>
    <member>CALS</member>
    <member>EAD</member>
    <member>ISO 12083</member>
    </simplelist>
  </para>

  </listitem>
  </orderedlist>

  </sect2>


  <sect2 id="exercises">

  <title>Exercises</title>

<para>Produce DocBook XML marked up text for, and then process, using your own preferred toolchain:</para>

<para>XML to:
<simplelist type='horiz' columns='1'>
<member>- rtf</member>
<member>- tex</member>
<member>- pdf</member>
<member>- dvi</member>
<member>- ps</member>
<member>- html</member>
<member>- xhtml</member>
<member>- man</member>
<member>- info</member>
<member>- text</member>
</simplelist>
</para>

<para>Produce DocBook SGML marked up text for, and then process, using your own preferred toolchain:</para>

<para>SGML to:
<simplelist type='horiz' columns='1'>
<member>- xml</member>
<member>- rtf</member>
<member>- tex</member>
<member>- pdf</member>
<member>- dvi</member>
<member>- ps</member>
<member>- html</member>
<member>- man</member>
<member>- info</member>
</simplelist>
</para>

  </sect2>


  <sect2 id="links">

  <title>Links</title>

    <itemizedlist>
    <listitem><para><ulink url="http://nwalsh.com/">http://nwalsh.com/</ulink></para></listitem>
    <listitem><para><ulink url="http://docbook.org">http://docbook.org/</ulink></para></listitem>
    <listitem><para><ulink url="http://xml.org/">http://xml.org/</ulink></para></listitem>
    <listitem><para><ulink url="http://xsl.org/">http://xsl.org/</ulink></para></listitem>
    <listitem><para><ulink url="http://xml.coverpages.org/">http://xml.coverpages.org/</ulink></para></listitem>
  <listitem><para>The latest version of this text may be found at:
     <ulink url="http://startext.demon.co.uk/">http://startext.demon.co.uk/SGMLdocs/</ulink></para>
  <para>In the same directory will be found sample markup texts for students to experiment with.</para></listitem>
    </itemizedlist>

  </sect2>


  <sect2 id="further-reading">

  <title>Further reading</title>

  <itemizedlist>
  <listitem><para><ulink url="">DocBook-OpenJade-SGML-XML-HOWTO.pdf</ulink></para></listitem>
  <listitem><para><ulink url="">DocBook-Demystification-HOWTO.pdf</ulink></para></listitem>
  <listitem><para><ulink url="">DocBook-Install.pdf</ulink></para></listitem>
  <listitem><para><ulink url="">DocBook_dbtexmath.pdf</ulink></para></listitem>
  <listitem><para><ulink url="">LDP-Author-Guide.pdf</ulink></para></listitem>
 </itemizedlist>

  </sect2>


  <sect2 id="glossary">

  <title>Glossary</title>

  <para>Add your own terms to the following glossary list:
  <simplelist type='horiz' columns='1'>
  <member> DocBook </member>
  <member> DSSSL </member>
  <member> DTD </member>
  <member> psgml </member>
  <member> SGML </member>
  <member> TEI </member>
  <member> XML </member>
  <member> XSL </member>
  </simplelist>
  </para>

  </sect2>


  <sect2 id="index">

  <title>Index</title>

  <para>Producing an index for this document is left as an exercise for trainees. Write it yourself. Then mark it up. Enjoy!</para>

  </sect2>


</sect1>


</article>