2009-05-05 27 views
6

私が理解しているように、XMLはSGMLのサブセットであり、SGMLを簡素化し、より広く使用することを奨励しています。XMLの代わりにSGMLを使用する理由はありますか?

ほとんどの便利な機能はXMLにもたらされたと思いますが、XMLの代わりにそれを使用する動機づけに十分な強力な機能がSGMLにあります(複雑さのオーバーヘッドを受け入れます)。

答えて

8

SGMLの利点の1つは、手動で編集する場合、さまざまな方法でタグを省略できます。あなたができることは、使用しているDTDのSGML宣言に依存します。例えば、DocBookでは、<のリテラル> foo < />のようなものを書くことができます。 HTMLでは、終了タグを省略することができます。なぜなら、タグを閉じることなく< p> foo ... < p>バーを書くことができるからです。または、タグを完全に省略することができます。そのため、HTMLでは< body>はオプションです。

しかし、これらのすべてのバリアントがSGMLの解析をかなり複雑にするため、XMLが正確に発明されました。現在、SGMLエディタよりも優れたXMLエディタを見つけることができます。

処理する限り、両方の形式は同じコーナーの場合を除いて前後に変換できるため、同等です。

+0

Nrrgh、+2ボタンが必要です...! (優秀な説明のために+1、素晴らしいトリビアのために+1!) – pinkgothic

1

特定のアプリケーションを念頭に置いていない限り、回答することはできません。 SGMLを使用してより良い索引付けと検索を行うことができますが、XMLよりも良い選択肢であるケースは見つかりませんでした。私は彼らがそこにいると確信しています、私はそれらを発見していない。

勝利要因は、XMLの複数のプラットフォームでのレンダリングの成熟度です。同じ互換性はSGMLでは存在しません。しかし、あなたが環境を制御できるなら、それは要因ではないかもしれません。 XMLは、はるかに少ない複雑さのために機能の90%を提供しているようです。

2

いいえSGMLを使用する唯一の理由は、SGMLがすでにプロダクションプロセスの一部である出版業界で働いている場合です。 (他の産業もあるかもしれませんが、それは私が経験を持つ唯一の産業です)。

これを見る別の方法は、SGMLにいくつかの素晴らしい機能があるにもかかわらず、SGMLを使って財務的利益を明確に示すことができない限り、ツールを支払う価値はありません(「出版業界」を参照)。

関連する問題