UJMLのDTDについて

IDE で新規プロジェクトを作成すると、次のような宣言を持つ main.ujml が作成されます。

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML2.1//EN" "http://www.uievolution.com/dtd/ujml-2.1.dtd">

この宣言の "http://www.uievolution.com/dtd/ujml-2.1.dtd" を見て不安になったことはありませんか? インターネット接続できない環境でこのファイルをコンパイル・実行する際に、何かよくないことが起きるのではと思ったことはありませんか?

UJMLのソースファイルをコンパイルする際にコンパイラがチェックするのは、文書型宣言の次の部分です。

"-//UIEVOLUTION//DTD UJML2.1//EN"

こちらの http:// で始まるほうは実はコンパイラは見てません。ので、インターネット接続が出来なくても、UIEvolution社のウェブサイトが落ちていても、コンパイル・実行はつつがなく行われます。 詳しくは、適当なXMLの入門書で、公開識別子の項を参照してください。

"http://www.uievolution.com/dtd/ujml-2.1.dtd"

それでは、この http:// で始まるほうはどういった役割なんでしょうか? IDE 2.1 の UJML エディターではUJMLファイルを編集する際に入力可能なタグ要素の候補を出すという機能が追加されました。この機能を使うためには、こちらのほうできちんと dtd を指定しておく必要があります。

でもその場合でもやはりインターネット接続してこの uri が参照されるわけではないようです。 UIE Developer 2.1 をインストールしたディレクトリに dtd という名前のディレクトリがありますが、そのディレクトリ内にある dtd ファイルが参照されているみたいです。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-01-15 (月) 13:41:36 (1333d)