- PR -

記法宣言の公開識別子について

1
投稿者投稿内容
Nakajima
会議室デビュー日: 2003/06/10
投稿数: 5
投稿日時: 2003-11-10 17:40
今、DTDを勉強中なのですが、記法宣言について疑問があります。
本来、記法宣言で公開識別子を使う場合、以下のような宣言になります。

<!NOTATION 記法名 PUBLIC "公開識別子" "記法の定義データのURI">

これはいいのですが、某書籍やインターネットで、以下のような記述を見ました。

<!NOTATION UTF PUBLIC ISO/IEC 8601//NOTATION Universal Time Format//EN">

これは、データがISO 8601の日付の形式である事を記法宣言するものですが、
これには、公開識別子だけで、データのURIがありません。
たとえば、CGIの記法宣言では、

<!NOTATION CGM PUBLIC "ISO 8632/4//NOTATION Clear text encoding//EN"
"http://www.iso.org/…">

のように、最後にデータの場所を示すURIがあるのですが・・・

<!NOTATION UTF PUBLIC ISO/IEC 8601//NOTATION Universal Time Format//EN">

この記述は、単に間違えているのでしょうか?
それとも、URIを指定しない記法宣言があるのでしょうか。
どなたか、情報をお持ちの方はいらっしゃいますでしょうか。



[ メッセージ編集済み 編集者: Nakajima 編集日時 2003-11-10 22:19 ]
yatcin
会議室デビュー日: 2003/11/21
投稿数: 12
投稿日時: 2003-11-21 02:28
Nakajimaさんが書かれたUTFの記法宣言文は某参考書に載っていたので知ってはいたのですがURLがないことについては特に意識してませんでした。UTFやDTDをキーワードに調べてみたのですが明確な答えはどこにもないんですよね・・・。

ただXML仕様書をみる限りURL指定は必須ではないようです。
(XML仕様書日本語訳 http://www.doraneko.org/xml/xml10/xml10.html#Notations)

私の推測ですが、「必須ではない」というのは公開識別子だからURLを省略してもよい、ということではなく、たとえばUTFの場合は公開識別子だけでプロセッサは理解しますよ、ということではないでしょうか。いずれにしても公開識別子をもつものに関してその書き方は公開元の指定に依るでしょうし。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2003-11-21 10:41
DTD 処理のここらあたりの実装は それぞれだからでは?
SGML時代から Catalog の扱いはキッチリのは無いはずです。
公開識別子 → (実URL) → 使える DTDとか定義体とか
への参照の仕組みの話。SGMLの時代にはURLは存在した?
1

スキルアップ/キャリアアップ(JOB@IT)