Этот вопрос эквивалентен: «В чем преимущества и недостатки использования SGML над XML и XML над SGML?».Когда использовать SGML и XML?
Я уже знаю несколько сходств и различий между SGML и XML, но они не отвечают на этот вопрос.
СХОДСТВА
- SGML и XML и позволяют описывать документы (структуру, данные, метаданные);
- Отделяют появление (цвета и т. Д.) От данных/структуры/метаданных;
- Оба SGML и XML можно использовать на веб-страницах/в Web (даже если XML является более специализированным в Web, чем SGML)
- SGML и XML-документы должны содержать DTD, чтобы быть «VALID»
РАЗЛИЧИЕ
- SGML предоставляет несколько способов, чтобы написать вещи (например: мы можем написать пустые и незамкнутые тег, мы можем написать
<foo>d</>
и т.д.) - SGML документов могут быть очень трудно написать
- Таким образом, анализ документов SGML может быть очень низким и Complexe
- XML является подмножеством SGML, который более прост в изучении, чтобы использовать
- XML не позволяет писать вещи в несколько пути, противоречащие SGML (например, : пустые и незамкнутые теги НЕ допускаются)
- Таким образом, синтаксический анализ XML проще и быстрее, чем один SGML
- Документы SGML не имеют статуса «WELL FORMED», что делает XML. (и иметь этот статус, если синтаксис верен)
- Документы SGML должны содержать DTD: не XML.
НО ВОПРОС ОСТАЕТСЯ
Каковы преимущества и недостатки SGML/XML (то есть:., Когда использовать один из них, а не другой?)?
Ваш пятый пункт - это нонсенс, на мой взгляд, я могу написать ' ' в формате XML или ' ' или ' '. Или ' ', а также ' ', чтобы дать только два примера, где XML позволит вам использовать разные обозначения для выражения той же семантики. Что касается седьмой точки, документ XML, который должен быть действительным, должен придерживаться DTD или схемы, см. Https://www.w3.org/TR/xml/#dt-valid, говорящий: «Документ XML действителен, если он имеет ассоциированное объявление типа документа и если документ соответствует ограничениям, выраженным в нем ». –
Извините, я хотел сказать, что пустые и не закрытые теги не разрешены в XML, я редактировал OP. Более того, вы правы: документ XML действителен только в том случае, если он имеет DTD. Однако, вопреки SGML, существует еще один «статус» для XML-документов: «WELL FORMED» (и XML WELL FORMED, если он имеет правильный синтаксис). –
Обратите внимание, что вопреки SGML XML-документы могут существовать без DTD. Это большая разница? –