<talk>
  <slide>
    <title>Intro to DocBook</title>
    <list>
      <item>Introduction to DocBook</item>
      <item>Liam Quin</item>
      <item>Barefoot Computing, Toronto</item>
      <item><tt>liam@holoweb.net</tt></item>
    </list>
  </slide>

  <slide>
    <title>Contents</title>
    <list>
      <item>SGML Background</item>
      <item>Declarative Markup: Say What and not How</item>
      <item>When you can't say What, say Why</item>
      <item>DocBook Background</item>
      <item>SGML and XML</item>
      <item>Converting documents to XML</item>
      <item>Getting Started: Tools</item>
      <item>Resources</item>
    </list>
  </slide>

  <slide>
    <title>SGML Background</title>
    <list actuate="pause">
      <item>History: US Government and Typesetters</item>
      <item>Split: the easy part and the hard part</item>
      <item>Syntax (SGML)</item>
      <item>Semantics(DSSSL, part of the hard part)</item>
    </list>
  </slide>

  <slide>
    <title>Declarative Markup: Say What and not How</title>
    <list>
      <item>Not WYSIWYG (What You See Is What You Get)</item>
      <item>WYSIWYG is WYSIAYG (What You See Is All You Get)</item>
      <item>Use SGML to identify parts of a document</item>
      <item>Use external style sheets to say what it looks like</item>
      <item>Different style sheets can produce different results even on the same SGML input</item>
    </list>
  </slide>

  <slide>
    <title>Declarative Example: Semantic Linking</title>
    <list>
      <item>Elements show Meaning</item>
      <item>Behaviour is external</item>
    </list>
    <image>figs/oxfordjohn-xmetal-icons.png</image>
  </slide>
  <slide>
    <title>Semantic Linking</title>
    <list>
      <item>Elements show Meaning</item>
      <item>Behaviour is external</item>
    </list>
    <image>figs/semantic-linking.gif</image>
  </slide>

  <slide>
    <title>When you can't say What, say Why</title>
    <tt>Press the &lt;tt&gt;return&lt;/tt&gt; key</tt>
    <tt>Press the &lt;tt class="keycap"&gt;return&lt;/tt&gt;</tt>
    <tt>Press the &lt;place&gt;return&lt;/place&gt;</tt>
  </slide>

  <slide>
    <title>DocBook Background</title>
    <list>
      <item>It's an SGML vocabulary, with usage guidelines</item>
      <item>Started by HaL and O'Reilly for technical documentation and technical books</item>
      <item>Developed by Davenport Group, now by OASIS Open (www.oasis-open.org)</item>
      <item>Primarily used for technical documentation and books</item>
      <item>Hundreds of thousands of pages: widespread use</item>
    </list>
  </slide>

  <slide>
    <title>DocBook Structure</title>
    <image>docbooktree.gif</image>
  </slide>

  <slide>
    <title>SGML and XML</title>
    <list>
      <item>DocBook 4.1 includes XML support</item>
      <item>XML is the 30% of SGML that 99% of people used</item>
      <item>omittag: SGML DTD can permit tage to be omitted</item>
      <item>shorttag: SGML attributes without quotes, &lt;/&gt;</item>
      <item>XML processing instructions use &lt;?target data ...?&gt;</item>
    </list>
  </slide>

  <slide prefix=" ">
    <title>PUBLIC Identifiers</title>
 <tt>&lt;!DOCTYPE Article</tt>
 <tt> PUBLIC "-//OASIS//DTD DocBook V3.1//EN"&gt;</tt>
 <tt> </tt>
 <tt>-//GNOME//DTD DocBook PNG Variant V1.1//EN</tt>
    <list>
      <item>For XML, you must follow this with a URL for the DTD</item>
    </list>
 <tt>"-//OASIS//DTD DocBook V3.1//EN" "docbookx.dtd"&gt;</tt>
  </slide>

  <slide>
    <title>Converting documents to XML</title>
    <list>
      <item>If you used lowercase element names, no OMITTAG and no SHORTTAG, and no conditional sections, your document is probably already XML.</item>
    </list>
  </slide>

  <slide>
    <title>Getting Started: Tools</title>
<tt>http://www.holoweb.net/~liam/xml/docbook/</tt>
<tt>ftp://sourceware.cygnus.com/pub/docbook-tools/docware/</tt>
<tt>ftp://unix.hensa.ac.uk/mirrors/sourceware.cygnus.com/...</tt>
  </slide>

  <slide>
    <title>Validating</title>
    <list>
      <item>Use an SGML or XML-aware editor</item>
      <item>Use nsgmls -s yourfile.sgml</item>
      <item>xemacs with psgml can validate, if set up right</item>
      <item>Future: XML Schema</item>
    </list>
  </slide>

  <slide>
    <title>Editing</title>
    <list>
      <item>XML Spy</item>
      <item>emacs with psgml</item>
      <item>vim with syntax highlighting</item>
      <item>SoftQuad XMetaL</item>
      <item>Exosoft, ArborText (much more expensive)</item>
    </list>
  </slide>

  <slide>
    <title>Converting</title>
    <list>
      <item>Document Style and Semantics Specification Language, DSSSL</item>
      <item>jade, openjade (both SGML and XML)</item>
      <item>XML Style Language (Transformation), XSLT, for XML only</item>
      <item>libxml, libxslt</item>
      <item>xt (needs Java; www.jclark.com)</item>
      <item>saxon, xalan, others</item>
    </list>
  </slide>

  <slide>
    <title>Printing</title>
    <list>
      <item>db2ps (may need run it at least twice)</item>
      <item>db2pdf (uses DSSL and TeX)</item>
      <item>db2html</item>
      <item>FOP (uses XSL/FO, www.apache.org)</item>
    </list>
  </slide>


  <slide>
    <title>Viewing</title>
    <list>
      <item>Commercial (e.g. Panorama)</item>
      <item>Internet Explorer with XSL or CSS</item>
      <item>Mozilla with CSS</item>
    </list>
  </slide>

  <slide>
    <title>Other Issues</title>
    <list>
      <item>Translation</item>
      <item>Automake</item>
      <item>screenshots</item>
      <item>special characters &#38;#38;, &#38;eacute;</item>
      <item>UTF-8 (XML) or Latin 1 (XML or SGML)</item>
    </list>
  </slide>

  <slide>
    <title>Questions</title>
    <code>
      <list>
	<item>liam@holoweb.net</item>
	<item>http://www.holoweb.net/~liam/xml/docbook</item>
      </list>
    </code>
  </slide>

</talk>
