自動エスケープ

いま気づいたのですが、「<」と「>」は通常の位置(pタグ内)でもエスケープされています。でも、「<pre>」のように実際に存在するhtmlのタグはエスケープされません。ですから、「<pre>」と表記する場合はソースの段階で自分でエスケープしなければなりません。この違いは何なのでしょうか。

実験してみましょう。漢字でタグを書きます<pre>うそのpreノード</pre>

どうですか。エスケープされています。では、htmlに無いタグを英数字で表記してみます。

こんなノードはありません

どうですか。エスケープされています。

つまり、「はてなコンパイラ」はあらかじめ登録された特定のタグだけを維持し、他はエスケープするというルールを持っているようです。

なかなか「はてな」はやります。