私はよく形成されたHTMLファイルを持っています。それらをSGMLに変換するには、拡張機能を切り替えるだけですか、それとも他にやるべきことがありますか?
4 に答える
HTMLのバージョンによって異なります。SGMLから:
HTMLは部分的に独立してSGMLと並行して開発されましたが、その作成者であるTim Berners-Leeは、HTMLをSGMLのアプリケーションにすることを意図していました。したがって、HTML(ハイパーテキストマークアップ言語)の設計はSGMLタグ付けに触発されましたが、明確な拡張と解析のガイドラインが確立されていないため、実際のHTMLドキュメントのほとんどは有効なSGMLドキュメントではありません。その後、HTMLはよりSGMLアプリケーションになるように再定式化されました(バージョン2.0)が、HTMLマークアップ言語には、SGMLの要件とは異なる多くのレガシーおよび例外処理機能があります。HTML 4は、ISO 8879 –SGMLに完全に準拠するSGMLアプリケーションです。
最近復活したWorldWideWeb Consortium HTMLワーキンググループの憲章には、「グループは、SGMLパーサーが「クラシックHTML」に使用されるとは想定していません」と書かれています。HTML構文はデフォルトの参照具体構文を使用したSGML構文に非常に似ていますが、HTML5はHTMLをSGMLアプリケーションとして定義する試みを放棄し、既存の実装とドキュメントにより厳密に一致する独自の解析ルールを明示的に定義します。(ただし、SGML(WWW)に準拠する代替のXMLベースのXHTMLシリアル化を定義します。)
したがって、整形式のHTML 4またはXHTMLを使用している場合は、おそらくすでにSGMLを使用しているように見えます。以前(ありそうもない)または後で(HTML 5)、ドキュメント自体にいくつかの変更を加える必要がある場合があります。
拡張子を変更するだけで十分ですが、HTMLは完全にSGMLに基づいているため、実際にはHTMLからSGMLを取得するために何もする必要はありません。したがって、HTMLを使用する場合は、すでにSGMLを使用しています。
SGMLはマークアップの母です。XMLもSGMLに基づいています。したがって、XMLがある場合は、自動的にSGMLがあります。XHTMLはXMLに基づいているため、XHTMLを使用する場合は、XMLとSGMLを使用します。
検証するHTMLドキュメントはSGMLドキュメントです。これが実際的な影響を与えるかどうかは別の問題ですが、そのようなドキュメントは一般的なSGMLツール(まだ存在している)を使用して処理できます。
ただし、SGMLであるためには有効性は必要ありません。また、SGMLドキュメントにはドキュメント型宣言はまったく必要ありません。しかし、それが実行され、検証される場合、これは、DTDへの準拠をチェックすることに加えて、SGMLバリデーターも基本構文もチェックするため、実際にSGML(SGMLのようなものだけでなく)であることを証明します。
SGMLまたはSGMLベースのHTMLには整形式の概念はありませんが、XMLの整形式の概念は、ドキュメントが最初からXML(XMLに似ているだけでなく)であることを意味します。つまり、XMLの一般的な構文を使用します。正しく。
HTMLがSGMLHTMLDTDの1つに対して検証されている限り、すでにSGMLがあります。
他の回答とは異なり、XML/XHTMLは有効なSGMLではありません。
また、SGMLには、「整形式」のSGMLのようなものは実際にはなく、(DTDに対して)有効なSGMLのみがあります。