Есть ли причины использовать SGML вместо XML? - PullRequest
8 голосов
/ 05 мая 2009

Насколько я понимаю, XML - это подмножество SGML, призванное упростить его и стимулировать более широкое использование.

Я полагаю, что большинство полезных функций было перенесено в XML, но есть ли в SGML какие-либо функции, достаточно мощные, чтобы мотивировать его использование вместо XML (и принимая сложности в сложность)?

Ответы [ 3 ]

9 голосов
/ 27 сентября 2009

Одним из преимуществ SGML, если вы редактируете его вручную, является то, что вы можете сокращать теги различными способами. Что именно вы можете сделать, зависит от объявления SGML для используемого вами DTD. Например, в DocBook вы можете написать что-то вроде foo </>. В HTML вы можете опустить конечные теги, поэтому вы можете написать

foo ...

bar без закрытия тегов. Или вы можете вообще пропустить теги, поэтому является необязательным в HTML.

Но XML был изобретен именно потому, что все эти варианты делают синтаксический анализ SGML довольно сложным. Возможно, вы найдете более способных редакторов XML, чем редакторы SGML.

Что касается обработки, обе формы эквивалентны, потому что вы можете конвертировать туда и обратно, за исключением некоторых угловых случаев.

3 голосов
/ 05 мая 2009

Нет. Единственная причина использовать SGML - это если вы работаете в издательской индустрии, где SGML уже является частью производственного процесса. (Могут быть и другие отрасли, но это единственный, где у меня есть опыт).

Еще один способ взглянуть на это заключается в том, что, хотя в SGML есть несколько приятных функций, не стоит платить за инструменты, если вы не можете четко продемонстрировать финансовую выгоду с помощью SGML (см. «Издательская индустрия»).

1 голос
/ 05 мая 2009

Невозможно ответить, если вы не имеете в виду конкретное приложение. Вы можете улучшить индексирование и поиск с помощью SGML, но я не нашел случая, когда это лучше, чем XML. Я уверен, что они там, я просто не нашел их.

Победившим фактором является зрелость рендеринга на нескольких платформах XML. Такая же совместимость просто не существует для SGML. Однако, если вы можете контролировать окружающую среду, это не может быть фактором. Похоже, что XML обеспечивает 90% функциональности при гораздо меньшей сложности.

...