Есть ли причины использовать SGML вместо XML?

StackOverflow https://stackoverflow.com/questions/824918

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Одним из преимуществ SGML, если вы редактируете его вручную, является то, что вы можете сокращать теги различными способами. Что именно вы можете сделать, зависит от объявления SGML для используемого вами DTD. Например, в DocBook вы можете писать такие вещи, как & Lt; literal & Gt; foo & Lt; / & Gt ;. В HTML вы можете опустить конечные теги, поэтому вы можете написать & Lt; p & Gt; foo ... & Lt; p & Gt; bar без закрытия тегов. Или вы можете вообще пропустить теги, поэтому & Lt; body & Gt; не является обязательным в HTML.

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

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top