Одно из преимуществ SGML, если вы редактируете его вручную, состоит в том, что вы можете сокращать теги различными способами. Что именно вы можете сделать, зависит от объявления SGML для используемого DTD. Например, в DocBook вы можете писать такие вещи, как foo ... bar, не закрывая теги. Или вы можете вообще опустить теги, поэтому
Но XML был изобретен именно потому, что все эти варианты сильно усложняют синтаксический анализ SGML. В настоящее время вы, вероятно, найдете более способные редакторы XML, чем редакторы SGML.
Что касается обработки, обе формы эквивалентны, потому что вы можете конвертировать туда и обратно, за исключением некоторых угловых случаев.
Нет. Единственная причина использовать SGML - это если вы работаете в издательской индустрии, где SGML уже является частью производственного процесса. (Могут быть и другие отрасли, но это единственная, в которой у меня есть опыт).
Другой способ взглянуть на это: даже несмотря на то, что в SGML есть несколько хороших функций, не стоит платить за инструменты, если вы не можете четко показать финансовая выгода от использования SGML (см. «издательское дело»).
Невозможно ответить, если вы не имеете в виду конкретное приложение. Вы можете улучшить индексирование и поиск с помощью SGML, но я не нашел случая, когда это был бы лучший вариант, чем XML. Я уверен, что они там есть, просто я их не нашел.
Фактор победы - зрелость рендеринга на нескольких платформах XML. Такой совместимости просто не существует для SGML. Однако, если вы можете контролировать окружающую среду, это может не иметь значения. Кажется, что XML обеспечивает 90% функциональности при гораздо меньшей сложности.