<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" version="pto" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:gal="http://norman.walsh.name/rdf/gallery#">
<info>
    
    
    
    
    
    
<title>Goodbye DTDs</title><biblioid class="uri">http://norman.walsh.name/2003/09/27/dtds</biblioid>
<volumenum>6</volumenum>
<issuenum>88</issuenum>
<pubdate>2003-09-27</pubdate>
<date>$Date: 2005-09-11 10:27:02 -0400 (Sun, 11 Sep 2005) $</date>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2003</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>So long, PSGML, hello nxml.</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#XML"/>
</info>

<epigraph>
<para xml:id="p1">In the course of a full life, one must be prepared to
abandon one's baggage.</para>
</epigraph>

<para xml:id="p2">Today, I take the plunge, I turn my back on DTDs.
To celebrate, I ripped all the <systemitem role="emacs-mode">PSGML-mode</systemitem>
elisp out of my <filename>.emacs</filename> file. I ripped
<systemitem role="emacs-mode">XSL-IDE</systemitem> mode out too.
I'll be using James' <systemitem role="emacs-mode">nxml</systemitem> mode from
here on out.</para>

<para xml:id="p3">Next up: retooling <filename>xjparse</filename>, the command-line
script I rely on to validate XML documents, so that it does RNG validation instead.
This'll bang me right up against the <quote>how do I know what schema to apply</quote>
problem. But that needs thought anyway.</para>

<para xml:id="p4">I won't be completely free until DocBook has moved to RELAX NG.
And I'm going to be haunted by the occasional entity declaration for a
while too.</para>

<para xml:id="p5">But it feels good anyway.</para>

</essay>

