XMLはメモ帳で書けるか?

MatzにっきでXML論争勃発。
ツッコミで「2. 人間がごく一般的なテキストエディタで編集できるようにするため (メモ帳でS式書いてるとカッコの対応が分からなくなるよね) 」というのがあった。

一応XML歴うん年のベテラン(笑)として言わせてもらうとXMLテキストエディタで編集できるというのは大嘘です。

XMLだって階層構造が深くなるとタグの対応関係がわからなくなります。例えばこんなの。

<block attr="part">
  <p>hogehoge</p>
  <block attr="chapter">
    <p>hogehoge</p>
    <block attr="section">
      <p>hogehoge</p>
      <block attr="subsection" >
        <p>hogehoge<p>
      </block>
    </block>
    <block attr="section">
      <p>hogehoge</p>
      <block attr="subsection" >
        <p>hogehoge<p>
      </block>
    </block>
  </block>
</block>

こういうXML文書をsectionなんかの単位でCut&Copy&Pasteしだすともう大変。テキストエディタでやるのは無茶ですな。
一回タグの関係がずれるとほぼ修復不能
上の例はインデントが入っているからまだ見やすいけど、XMLの場合、空白問題(参考 第10回 落とし穴になる空白文字と改行文字 atmarkIT)があって、安直にインデントを入れられないのですよ。
下手に空白や改行でインデントを作ると、インデントのために入れた空白や改行と地の文にある空白や改行をどう区別するのかという問題が発生する。

例

<p>あああ<b>いいい<i>うううう</i>いいい</b>あああ</p>

と

<p>
  あああ
  <b>
    いいい
    <i>
      うううう
    </i>
    いいい
  </b>
  あああ
</p>

この手の苦労話は一晩くらい語れる(泣)。