2009-06-21

Web規格に関する批判的感想

XML

XML宣言のencodingは、無駄である。そもそも、ASCII互換ではない文字コードもあるし、一文字に対するバイト数が混在する文字コードもある。

document type宣言も、無駄である。

DTDは、およそ設計されうるschemaの中で、最悪の物だ。だからこそ、多くの独自schemaが生まれた。DTDは、実態参照のためぐらいにしか使わない方がいいだろう。

xml:lang属性は無駄である。確かに標準の属性はあってもいいかもしれないが、明確に言語を指定したい場合以外は、無駄でしかない。なぜなら、文章中に複数の言語が混じることはよくあることだからだ。

W3C規格の最近の過ち

モジュール化は、大いなる過ちである。すべての環境でサポートされている機能でなければ、使いたいとは思わない。これはWebに限らず当てはまる。DirectXの歴史なんて、ひどい物だった。

現実に即していない機能が多すぎる。例えば、現実に使われているCSSのselectorを見れば、その机上の空論が分かると思う。最近は、二つ以上の実装がないと勧告しないようにしているらしい。まあ、多少はマシだろう。

そのくせ、本当に欲しい機能は、直接に規定されていないという事実。なぜマウスイベントにoffsetX, offsetY相当の機能がないのだ。

XHTML

document type宣言でどの規格を使用するか宣言すること。あれは失敗だった。

HTML5

HTMLとDOMをごっちゃにしていること。間違っている。なぜみなHTML5を使いたいかというと、HTML5にvideoやaudioやcanvasがあるからだ。あくまで使いたい機能があるからであって、規格が優れているからではない。実際、canvasの設計は、あまり褒められた物ではないと思う。とくに、行列周りは、個人的に好かない。なんで演算が逆順なんだよ。ふざけているのか。

8 comments:

  1. XML宣言のencodingが無駄?
    ASCII互換?
    ちゃんと http://www.w3.org/TR/REC-xml 読んでますか?

    これから中国語で話しますよ、と中国語で話す馬鹿がいますか?
    XMLプロセッサが理解可能なUTF-8, UTF-16で話しませんか?

    xml:lang属性がhtml要素にしかつけられないとでも思ってますか?

    ReplyDelete
  2. xml:lang属性は、どんな要素にも利用できるのは知っています。
    ただし、一つの要素の中に、複数の言語を入れるのは、別に普通のことです。
    ある要素の中の言語を、一つの言語に限定することなど、土台不可能なのです。
    もし言語を明確に指定したいのであれば、やはり独自に属性なり要素なり定義すればいいのではないかというのが、私の意見です。
    標準の規格で決めるような物ではありません。

    ReplyDelete
  3. データ構造がXML形式にそぐわないことがあるというのは、別に普通のことです。
    すべてのデータ型をXML形式であらわすことなど、土台不可能なのです。
    XMLなど標準の規格で決めるようなものではありません。

    ReplyDelete
  4. > やはり独自に属性なり要素なり定義すればいいのではないかというのが、私の意見です。
    その属性なり要素なりに、複数の言語を入れるのは、別に普通のことです。

    ご自分の頭の中では整合性が取れているのかもしれませんが、
    どうつじつまを合わせているのか、まったく想像もつきません。

    ReplyDelete
  5. 私が言いたいことは、わざわざxml:langを標準規格に入れる必要はなかったんじゃないかと云うことです。

    ReplyDelete
  6. xml:langを標準規格に入れると、
    どんなXMLプロセッサでも、XMLアプリケーションを仮定せずに、
    言語に対応したフォントファミリーを使用できたり、
    読み上げエンジンを選択したり、
    自動翻訳エンジンに情報を渡せたりするわけですが、

    「わざわざxml:langを標準規格に入れる必要はなかった」
    と思う理由は何ですか?

    ReplyDelete
  7. 現実にそんなソフトウェアがありますか。

    現実には、フォントの選択は、文字自体の言語が考慮され、
    コードポイントだけでは判断できない文字、たとえばCJKなどに対するフォントは、まずユーザーのフォント設定やロケール設定などから選ばれます。

    多言語を扱う読み上げや機械翻訳のソフトウェアには、それ自体に言語を判定する機能が必要で、
    実際、多くのソフトウェアは言語の判定機能をもっています。

    ReplyDelete
  8. > 現実にそんなソフトウェアがありますか。
    現実にあまり使われないのにはそれぞれに理由があるのでしょう。
    ただ、あなたの書いている理由はどれもとんちんかんなものだというだけです。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.