<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="/style/browser.xsl" type="text/xsl"?>
<essay 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#'
       xmlns:foaf="http://xmlns.com/foaf/0.1/"
       xml:lang="en"
       version='5.0'>
<info>
<title>White space</title>
<volumenum>9</volumenum>
<issuenum>23</issuenum>
<pubdate>2006-02-23T13:32:55-05:00</pubdate>
<date>$Date: 2006-02-23 18:38:55 -0500 (Thu, 23 Feb 2006) $</date>
<author><personname>
<firstname>Norman</firstname><surname>Walsh</surname>
</personname></author>
<copyright><year>2006</year><holder>Norman Walsh</holder></copyright>
<abstract>
<para>On white space and mixed content. A rant.</para>
</abstract>
</info>

<para xml:id='p1'>This is a rant. A tirade. A lunch-time release of
pent up frustration. Move along, nothing to see here.</para>

<para xml:id='p2'>Hey, you! Yeah, you! XML editing tool vendor! Lemme ask you
something, why is it that you think you can fuck with the white space
in my mixed content? White space in mixed content <emphasis>is
significant</emphasis>. If I put it there, <emphasis>leave it
alone!</emphasis> If I didn't put it there, <emphasis>keep your
“helpful” fingers out of it!</emphasis></para>

<para xml:id='p3'>If I typed this:</para>

<programlisting><![CDATA[<para><emphasis>This</emphasis> is what I typed. It's what I meant.
If I meant something else, I would have typed something else. If you so
completely hide the details from me that I can't <emphasis>tell</emphasis>
what I typed, that's a bug. Leave my white space alone!</para>]]></programlisting>

<para xml:id='p5'>You aren't allowed to turn it into this<footnote><para xml:id='p6'>Well,
technically, we could argue or maybe agree to disagree about the white
space before the opening <tag>para</tag> tag because that isn't mixed
content. At least it isn't mixed content if you've validated the
document and determined that it isn't, you know, mixed content. If you
haven't validated, you're not allowed to muck with the white space
there, either. Get over it.</para></footnote>:</para>

<programlisting><![CDATA[    <para><emphasis>This</emphasis> is what I typed. It's what I
    meant. If I meant something else, I would have typed something
    else. If you so completely hide the details from me that I can't
    <emphasis>tell</emphasis> what I typed, that's a bug. Leave my
    white space alone!</para>]]></programlisting>

<para xml:id='p8'>I'm talking to you, <application>XMLmind</application>.</para>

<para xml:id='p9'>And for pity's sake, you sure as hell aren't allowed to turn it
into this:</para>

<programlisting><![CDATA[    <para>
        <emphasis>This</emphasis> is what I typed. It's what I
        meant. If I meant something else, I would have typed something
        else. If you so completely hide the details from me that I can't
        <emphasis>tell</emphasis> what I typed, that's a bug. Leave my
        white space alone!</para>]]></programlisting>

<para xml:id='p11'>That's you, <application>XMLSpy</application>.</para>

<para xml:id='p12'><application>Emacs</application> of course, leaves it alone.
Arbortext's editor leaves it alone. <application>Oxygen</application>
appears to do the right thing. Even <application>xed</application> gets
it right<footnote><para xml:id='p13'>No, I have no intention of trying all the
other myriad editors out there. This is a rant, not a carefully crafted,
impartial review. <link xlink:href="http://drmacros-xml-rants.blogspot.com/2006/02/all-tools-suck.html">All tools suck</link>.</para></footnote></para>

<para xml:id='p14'>And don't tell me you have some configuration switch that makes
the results come out right. Unless that switch is the default, your
editor is broken.</para>

<para xml:id='p15'>It's not rocket science folks. My white space
is…<emphasis>mine</emphasis>!</para>

</essay>
