Использование SGML(Стандартный обобщенный язык разметки)

SGML - это расширенный набор HTML и XML. Доступны богатые парсеры HTML и XML. Не могли бы вы объяснить мне

  1. Использование SGML (Sample business scneario) в текущих областях бизнеса?

    это когда имеет дело с системами легенды?

  2. Есть HTML и XML парсеры для HTML, XML документов. Почему SGML парсеры?

Мое мышление может быть неправильным, пожалуйста, дайте мне обратную связь?

2 ответа

Использование SGML (пример бизнес-сценария) в текущих бизнес-доменах? это когда имеешь дело с устаревшими системами?

Да, я думаю, что это в основном для устаревших систем, хотя вы можете использовать его для:

1. Странные синтаксисы, которые (ab) используют минимизацию SGML для обеспечения меньшего количества подробных файлов (когда SGML был изобретен, люди обычно писали файлы SGML, печатая их, поэтому в SGML есть несколько функций, ориентированных на уменьшение количества символов что надо было набирать)

    {config:
     {attribute name="network":127.0.0.0/8 192.168.123.0/30;}
     {attribute name="action":allow;}
    ;}

Вместо:

<config>
    <attribute name="network">
        127.0.0.0/8 192.168.123.0/30
    </attribute>
    <attribute name="action">
        allow
    </attribute>
</config>

(Конечно, этот вариант использования имеет несколько недостатков, и я не уверен, что он перевешивает его недостатки, но стоит упомянуть, хотя)

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

From: 
To:

This is the subject 
(there is a blank line before the subject, 
the subject ends with a blank line, 
and everything between parentheses is a comment)

This is the message body

К этому

<from>sender</from>
<to>addressee</to>
<subject>This is the subject</subject>
<!-- there is a blank line before the subject, 
the subject ends with a blank line, 
and everything between parentheses is a comment -->
<body>This is the message body</body>

Фактический пример был гораздо более сложным, со многими вариантами и дополнительными элементами, тогда я обнаружил, что преобразовать его через SGML проще, чем написать для него парсер.

Есть HTML и XML парсеры для HTML, XML документов. Почему SGML парсеры?

HTML - это язык разметки для описания структуры веб-страницы (BODY, DIV, TABLE и т. Д.), Поэтому он не подходит для описания более общей информации, такой как файл конфигурации, список поставщиков, библиография и т. Д. (Т.е. вы может отображать его на веб-странице, написанной на HTML, но такую ​​информацию будет сложно извлечь с помощью автоматических систем)

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

3. Воспроизведение с игнорированием / включением отмеченных разделов

<!ENTITY % withAnswers "IGNORE">

What is the answer to life the universe and everything?
<![%withAnswers;[ 42 ]]> 

Если вы хотите включить ответы в подготовленный документ, просто замените первую строку на:

<!ENTITY % withAnswers "INCLUDE">

(Но вы также можете использовать XML и параметризованный XSLT для достижения того же результата)

SGML - это не просто наследие, существует большое количество организаций, которые продолжают использовать SGML для публикации документов в авиационной отрасли (например, Boeing /Airbus / Embraer), то есть их последние версии данных публикуются непосредственно в SGML.

Отрасли, которые следуют стандартам данных, например, Ассоциация воздушного транспорта (ATA), привязаны к использованию формата, используемого органом по стандартизации, поэтому SGML все еще широко используется.

В какой-то момент в цепочке технических публикаций это обычно преобразуется в XML и / или HTML, но как исходный источник данных, SGML готов к некоторой связи.

Другие вопросы по тегам