Из Википедии, бесплатной энциклопедии
  (Перенаправлено из SGML )
Перейти к навигации Перейти к поиску

Стандартный обобщенный язык разметки ( SGML , ISO 8879: 1986) является стандартом для определения обобщенных языков разметки документов. В приложении A.1 стандарта ISO 8879 говорится, что обобщенная разметка «основана на двух постулатах »: [1]

  • Декларативная : разметка должна описывать структуру документа и другие атрибуты, а не указывать обработку, которую необходимо выполнить, потому что она с меньшей вероятностью будет конфликтовать с будущими разработками.
  • Строгий: чтобы позволить разметке использовать преимущества методов, доступных для обработки строго определенных объектов, таких как программы и базы данных .

DocBook SGML и LinuxDoc - это примеры, которые использовались почти исключительно с реальными инструментами SGML.

Стандартные версии [ править ]

SGML - это стандарт ISO : «ISO 8879: 1986 Обработка информации - Текстовые и офисные системы - Стандартный обобщенный язык разметки (SGML)», который существует в трех версиях:

  • Оригинальный SGML , который был принят в октябре 1986 года, сопровождался незначительными техническими исправлениями.
  • SGML (ENR) в 1996 году явился результатом технического исправления, в котором были добавлены расширенные правила именования, допускающие разметку на произвольном языке и сценариях.
  • SGML (ENR + WWW или WebSGML) в 1998 г. явился результатом технического исправления для лучшей поддержки требований XML и WWW.

SGML является частью трио стандартов ISO для электронных документов, разработанных ISO / IEC JTC1 / SC34 [1] [2] (Объединенный технический комитет 1 ISO / IEC, Подкомитет 34 - Языки описания и обработки документов):

  • SGML (ISO 8879) - Обобщенный язык разметки
    • SGML был переработан в 1998 году в XML , успешный профиль SGML. Полный SGML редко встречается или используется в новых проектах.
  • DSSSL (ISO / IEC 10179) - язык обработки документов и стилизации на основе Scheme .
    • DSSSL был переработан в [ требуется пояснение ] W3C XSLT и XSL-FO, которые используют синтаксис XML. В настоящее время DSSSL редко используется в новых проектах, кроме документации Linux .
  • HyTime - Обобщенный гипертекст и планирование. [3]
    • HyTime был частично переработан в W3C XLink . HyTime редко используется в новых проектах.

SGML поддерживается различными техническими отчетами, в частности

  • ISO / IEC TR 9573 - Обработка информации - Средства поддержки SGML - Методы использования SGML [4]
    • Часть 13: Наборы публичных объектов для математики и естественных наук
      • В 2007 году рабочая группа W3C MathML согласилась взять на себя обслуживание этих наборов сущностей.

История [ править ]

SGML произошла от IBM «s обобщенного языка разметки (GML), который Чарльз Гольдфарб , Эдвард Мошер и Раймонд Lorie , разработанный в 1960 - х годах. Гольдфарб, редактор международного стандарта, ввел термин «GML», используя инициалы их фамилий. [5] Гольдфарб также написал основательную работу по синтаксису SGML в «Руководстве по SGML». [6] Синтаксис SGML ближе к формату COCOA . [ требуется пояснение ] Как язык разметки документов, SGML был изначально разработан для обеспечения совместного использования машиночитаемыхдокументы по крупным проектам в правительстве, юриспруденции и промышленности. Многие такие документы должны оставаться доступными для чтения в течение нескольких десятилетий - долгое время в области информационных технологий . SGML также широко применялся в военной, аэрокосмической, технической и издательской отраслях. Появление профиля XML сделало SGML пригодным для широкого применения в малых масштабах и для общего назначения.

Фрагмент Оксфордского словаря английского языка (1985 г.), показывающий разметку SGML.

Срок действия документа [ править ]

SGML (ENR + WWW) определяет два типа действительности. В соответствии с пересмотренными терминами и определениями ISO 8879 (из общедоступного проекта [7] ):

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

Соответствующий типу документ SGML определяется стандартом как

Документ SGML, в котором для каждого экземпляра документа есть связанное объявление типа документа (DTD), DTD которого соответствует этот экземпляр.

Документ SGML с тегами определяется стандартом как

Документ SGML, все экземпляры которого полностью помечены тегами. Объявление типа документа не обязательно должно быть связано с каким-либо из экземпляров. Примечание. Если есть объявление типа документа , экземпляр можно анализировать со ссылкой на нее или без нее.

Терминология [ править ]

Проверка допустимости тегов была введена в SGML (ENR + WWW) для поддержки XML, который допускает документы без объявления DOCTYPE, но которые можно анализировать без грамматики, или документы, содержащие объявление DOCTYPE, которое не вносит вклад в XML Infoset в документ. Стандарт называет это полностью тегированным . Сохранение целиком отражает требование XML, чтобы элементы заканчивались в том же объекте, в котором они начинались. Отсутствие ссылок отражает требование HTML, согласно которому ссылки на сущности предназначены для специальных символов и не содержат разметки. Комментарий валидности SGML, особенно комментарий, сделанный до 1997 г. или не связанный с SGML (ENR + WWW), охватываеттолько проверка типа .

Акцент SGML на валидности поддерживает требование для обобщенной разметки, что разметка должна быть строгой. (ISO 8879 A.1)

Синтаксис [ править ]

Документ SGML может состоять из трех частей:

  1. декларация SGML,
  2. Пролог, содержащий объявление DOCTYPE с различными объявлениями разметки, которые вместе составляют определение типа документа (DTD), и
  3. сам экземпляр, содержащий один самый верхний элемент и его содержимое.

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

Хотя полный SGML допускает неявную разметку и некоторые другие типы тегов, спецификация XML (s4.3.1) гласит:

Каждый XML-документ имеет как логическую, так и физическую структуру. Физически документ состоит из единиц, называемых объектами. Сущность может ссылаться на другие сущности, чтобы вызвать их включение в документ. Документ начинается с «корня» или сущности документа. Логически документ состоит из объявлений, элементов, комментариев, ссылок на символы и инструкций по обработке , все из которых указаны в документе явной разметкой.

Вводную информацию о базовом современном синтаксисе SGML см. В XML . Следующий материал посвящен функциям, не относящимся к XML, и не является исчерпывающим обзором синтаксиса SGML.

Дополнительные функции [ править ]

SGML обобщает и поддерживает широкий спектр языков разметки, появившихся в середине 1980-х годов. Они варьировались от кратких синтаксисов, подобных Wiki, до языков в квадратных скобках, подобных RTF, и до языков сопоставления тегов, подобных HTML . SGML сделал это с помощью относительно простого стандартного ссылочного конкретного синтаксиса, дополненного большим количеством дополнительных функций, которые можно было включить в декларации SGML. Не каждый синтаксический анализатор SGML обязательно может обрабатывать каждый документ SGML. Поскольку декларацию системы каждого процессора можно сравнить с декларацией SGML документа, всегда можно узнать, поддерживается ли документ конкретным процессором.

Многие функции SGML связаны с минимизацией разметки. Другие функции относятся к параллельной (параллельной) разметке (CONCUR), связыванию атрибутов обработки (LINK) и встраиванию документов SGML в документы SGML (SUBDOC).

Понятие настраиваемых функций не подходило для использования в Интернете, поэтому одной из целей XML было минимизировать необязательные функции. Однако правила правильного формата XML не могут поддерживать Wiki-подобные языки, что делает их нестандартными и трудными для интеграции с нетекстовыми информационными системами.

Конкретный и абстрактный синтаксисы [ править ]

Обычный (по умолчанию) конкретный синтаксис SGML напоминает этот пример, который является конкретным синтаксисом HTML по умолчанию :

<QUOTE  TYPE = "example" > обычно что-то вроде <ITALICS> this </ITALICS> </QUOTE>

SGML предоставляет абстрактный синтаксис, который может быть реализован во многих различных типах конкретного синтаксиса . Хотя норма разметки использует угловые скобки в качестве разделителей начального и конечного тегов в документе SGML (в соответствии с определенным стандартом конкретным ссылочным синтаксисом ), можно использовать другие символы - при условии, что подходящий конкретный синтаксис определен в SGML документа. декларация . [8] Например, интерпретатор SGML может быть запрограммирован на синтаксический анализ GML, в котором теги разделяются левым двоеточием и правой точкой , таким образом : eпрефикс обозначает конечный тег: :xmp.Hello, world:exmp.. Согласно синтаксису ссылки, буквенный регистр (верхний или нижний) не различается в именах тегов, поэтому три тега: (i) <quote>, (ii) <QUOTE>и (iii) <quOtE>эквивалентны. ( ПРИМЕЧАНИЕ: конкретный синтаксис может изменить это правило с помощью объявлений NAMECASE NAMING).

Минимизация разметки [ править ]

SGML имеет функции для уменьшения количества символов, необходимых для разметки документа, которые должны быть включены в декларации SGML. Процессоры SGML не должны поддерживать все доступные функции, что позволяет приложениям допускать многие типы непреднамеренных пропусков разметки; однако системы SGML обычно нетерпимы к недопустимым структурам. XML нетерпим к пропускам синтаксиса и не требует DTD для проверки правильности.

OMITTAG [ править ]

Как начальные, так и конечные теги могут быть опущены в экземпляре документа при условии:

  1. функция OMITTAG включена в декларации SGML,
  2. DTD указывает, что теги разрешено опускать,
  3. (для начальных тегов) элемент не имеет связанных #REQUIREDатрибутов required ( ) и
  4. тег может быть однозначно выведен из контекста.

Например, если в объявлении SGML указано OMITTAG YES (включающее функцию OMITTAG), а DTD включает следующие объявления:

<! ELEMENT  chapter  -  -  ( заголовок ,  раздел +) > <! ELEMENT  title  o  o  ( #PCDATA ) > <!  Раздел  ELEMENT -  -  ( заголовок ,  подраздел +) >

тогда этот отрывок:

<chapter> Введение в SGML <section> Декларация SGML <subsection>...

который пропускает два <title>тега и два </title>тега, будет представлять допустимую разметку.

Пропуск тегов не является обязательным - тот же отрывок можно пометить следующим образом:

<chapter> <title> Введение в SGML </title> <section> <title> Объявление SGML </title> <subsection>...

и по-прежнему будет представлять действительную разметку.

Примечание. Функция OMITTAG не связана с тегированием элементов, объявленное содержимое которых EMPTYсоответствует определению в DTD:

<! ELEMENT  image  -  o  EMPTY >

Элементы, определенные таким образом, не имеют конечного тега, и его указание в экземпляре документа приведет к недопустимой разметке. В этом отношении это синтаксически отличается от пустых элементов XML .

SHORTREF [ править ]

Теги могут быть заменены строками-разделителями для более краткой разметки с помощью функции SHORTREF. Этот стиль разметки теперь связан с разметкой вики , например, где два знака равенства (==) в начале строки являются «начальным тегом заголовка», а два знака равенства (==) после него - конечный тег заголовка ".

SHORTTAG [ редактировать ]

Языки разметки SGML, конкретный синтаксис которых включает функцию SHORTTAG VALUE, не требуют, чтобы значения атрибутов, содержащие только буквенно-цифровые символы, были заключены в кавычки - двойные " "(LIT) или одинарные ' '(LITA), - чтобы можно было записать предыдущий пример разметки:

<QUOTE  TYPE = example > обычно что-то вроде <ITALICS> this < /> </QUOTE>

Одной из особенностей языков разметки SGML является «самонадеянная пустая маркировка», когда пустой конечный тег </>в <ITALICS>this</>«наследует» свое значение от ближайшего предыдущего полного начального тега, которым в этом примере является <ITALICS>(другими словами, он закрывает большую часть недавно открытый элемент). Таким образом, выражение эквивалентно <ITALICS>this</ITALICS>.

NET [ править ]

Другой особенностью является конструкция NET (Null End Tag):, <ITALICS/this/которая структурно эквивалентна <ITALICS>this</ITALICS>.

Другие особенности [ править ]

Кроме того, функция SHORTTAG NETENABL IMMEDNET позволяет сокращать теги, окружающие пустое текстовое значение, но запрещает сокращать полные теги:

<QUOTE> </QUOTE>

можно записать как

<ЦИТАТА // 

где первая косая черта (/) обозначает «закрытие начального тега» (NESTC), разрешающее NET, а вторая косая черта обозначает NET. ПРИМЕЧАНИЕ. XML определяет NESTC с помощью / и NET с помощью > (угловой скобки) - поэтому соответствующая конструкция в XML отображается как <QUOTE /> .

Третья особенность - «текст на той же строке», позволяющая заканчивать элемент разметки концом строки; особенно полезно для заголовков и т. п., требующих минимизации SHORTREF или DATATAG. Например, если DTD включает следующие объявления:

<! ELEMENT  lines  ( line *) > <! ELEMENT  line  O  -  ( #PCDATA ) > <! ENTITY  line-tagc  "</line>" > <! SHORTREF  однострочный  "& # RE; & # RS;"  линия-ВАР > <! USEMAP  одна линия  линия >

(а "& # RE; & # RS;" - это ограничитель коротких ссылок в конкретном синтаксисе), тогда:

<lines>первая линиявторая линия</lines>

эквивалентно:

<lines> <line> первая строка </line> <line> вторая строка </line> </lines>

Формальная характеристика [ править ]

SGML имеет множество функций, которые не поддаются удобному описанию с помощью популярной формальной теории автоматов и современной технологии синтаксических анализаторов 1980-х и 1990-х годов. Стандарт предупреждает в Приложении H:

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

Примечания к отчету о ранней реализации синтаксического анализатора для базового SGML, Amsterdam SGML Parser [9].

DTD-грамматика в SGML должна соответствовать понятию однозначности, которое очень похоже на условия LL (1)

и указывает различные различия.

По-видимому, не существует окончательной классификации полного SGML по сравнению с известным классом формальной грамматики . Правдоподобные классы могут включать в себя грамматики, примыкающие к дереву, и адаптивные грамматики .

XML описывается как обычно анализируемый, как двухуровневая грамматика для непроверенного XML и конвейер сопрограмм в стиле Конвея ( лексер , синтаксический анализатор , валидатор) для действительного XML. [10] Продукция SGML в стандарте ISO считается LL (3) или LL (4). [11] Подмножества XML-класса могут быть выражены с помощью W-грамматики . [12] Согласно одной статье, [13] и, вероятно, рассматривается на уровне набора информации или дерева синтаксического анализа, а не на уровне символа или разделителя:

Класс документов, соответствующих заданной грамматике документа SGML, образует язык LL (1). ... Грамматики документов SGML сами по себе, однако, не являются грамматиками LL (1).

Стандарт SGML не определяет SGML с формальными структурами данных, такими как деревья синтаксического анализа ; однако документ SGML состоит из корневого направленного ациклического графа (RDAG) физических единиц хранения, известного как « объекты », который анализируется в RDAG структурных единиц, известных как «элементы». Физический граф в общих чертах можно охарактеризовать как дерево сущностей, но сущности могут появляться несколько раз. Более того, структурный граф также можно условно охарактеризовать как дерево элементов , но разметка ID / IDREF допускает произвольные дуги.

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

Стандарт SGML описывает это в терминах карт и режимов распознавания (s9.6.1). Каждая сущность и каждый элемент могут иметь связанную нотацию или объявленный тип содержимого , который определяет виды ссылок и тегов, которые будут распознаваться в этой сущности и элементе. Кроме того, каждый элемент может иметь связанную карту разделителейкраткую справочную карту ), которая определяет, какие символы рассматриваются как разделители в контексте. Стандарт SGML характеризует синтаксический анализ как переключение конечного автомата между режимами распознавания. Во время парсинга есть стопка карт, которые настраивают сканер , а токенизатор относится к режимам распознавания.

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

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

SGML имеет абстрактный синтаксис, реализованный множеством возможных конкретных синтаксисов; однако это не то же самое, что использование в абстрактном синтаксическом дереве и как в конкретном синтаксическом дереве . В использовании SGML конкретный синтаксис - это набор определенных разделителей, а абстрактный синтаксис - это набор имен для разделителей. XML Infoset больше соответствует языку программированию понятия абстрактного синтаксиса , введенному Джон Маккарти .

Производные [ править ]

XML [ править ]

W3C XML (Extensible Markup Language) представляет собой профиль (подмножество) из SGML разработан , чтобы облегчить выполнение синтаксического анализа по сравнению с полным анализатором SGML, в первую очередь для использования в World Wide Web. В дополнение к отключению многих опций SGML, присутствующих в справочном синтаксисе (таких как исключение тегов и вложенных вложенных документов), XML добавляет ряд дополнительных ограничений на типы синтаксиса SGML. Например, несмотря на включение сокращенных форм тегов SGML, XML не допускает незакрытых начальных или конечных тегов. Он также опирался на многие дополнения, сделанные в приложении WebSGML. В настоящее время XML используется более широко, чем полный SGML. XML имеет легкую интернационализацию на основе Unicode . Приложения XML включают XHTML , XQuery ,XSLT , XForms , XPointer , JSP , SVG , RSS , Atom , XML-RPC , RDF / XML и SOAP .

HTML [ править ]

Хотя HTML разрабатывался частично независимо и параллельно с SGML, его создатель Тим Бернерс-Ли задумывал его как приложение SGML. [ Требуется цитата ] Дизайн HTML (язык гипертекстовой разметки) был поэтому вдохновлен тегами SGML, но, поскольку не было установлено никаких четких рекомендаций по расширению и синтаксическому анализу, большинство реальных HTML-документов не являются действительными документами SGML. Позже HTML был переформулирован (версия 2.0), чтобы он больше походил на приложение SGML; однако язык разметки HTML имеет множество устаревших функций и функций обработки исключений, которые отличаются от требований SGML. HTML 4 - это приложение SGML, которое полностью соответствует ISO 8879 - SGML. [14]

В уставе возрождения рабочей группы HTML Консорциума Всемирной паутины 2006 г. говорится: «Группа не будет предполагать, что синтаксический анализатор SGML используется для« классического HTML »». [15] Хотя синтаксис HTML очень похож на синтаксис SGML с конкретным синтаксисом ссылки по умолчанию , HTML5 отказывается от любых попыток определить HTML как приложение SGML, явно определяя свои собственные правила синтаксического анализа [16], которые более точно соответствуют существующим реализациям и документам. Однако он определяет альтернативную сериализацию XHTML , которая соответствует XML и, следовательно, SGML. [17]

OED [ править ]

Второе издание Оксфордского словаря английского языка (OED) полностью размечено языком разметки на основе SGML с использованием текстового редактора LEXX . [18]

Третье издание размечено как XML.

Другое [ править ]

Другие языки разметки документов частично связаны с SGML и XML, но - поскольку они не могут быть проанализированы, проверены или обработаны иным образом с использованием стандартных инструментов SGML и XML - они не считаются языками SGML или XML; Z Формат язык разметки для верстки и документации является примером.

Некоторые современные языки программирования поддерживают теги как примитивные типы токенов или теперь поддерживают Unicode и сопоставление с шаблоном регулярных выражений . Примером может служить язык программирования Scala .

Приложения [ править ]

Языки разметки документов, определенные с помощью SGML, в стандарте называются «приложениями»; многие приложения SGML до XML были собственностью организаций, которые их разработали, и поэтому были недоступны во всемирной паутине. В следующем списке представлены приложения SGML до XML.

  • Text Encoding Initiative (TEI) - это академический консорциум, который проектирует, поддерживает и разрабатывает технические стандарты для приложений представления текста в цифровом формате.
  • DocBook - это язык разметки, изначально созданный как приложение SGML, предназначенный для создания технической документации; DocBook в настоящее время представляет собой приложение XML.
  • CALS (Непрерывное приобретение и поддержка жизненного цикла) - это инициатива Министерства обороны США по электронному захвату военных документов и связыванию соответствующих данных и информации.
  • HyTime определяет набор типов элементов, ориентированных на гипертекст, которые позволяют авторам документов SGML создавать гипертекстовые и мультимедийные презентации.
  • Система EDGAR (электронный сбор, анализ и извлечение данных) обеспечивает автоматический сбор, проверку, индексацию, принятие и пересылку представлений компаниями и другими лицами, которые по закону обязаны подавать данные и информационные формы в Комиссию по ценным бумагам и биржам США. (SEC).
  • LinuxDoc . В документации для пакетов Linux использовались LinuxDoc SGML DTD и Docbook XML DTD.
  • AAP DTD - это определение типа документа для научных документов, определенное Ассоциацией американских издателей .
  • ISO 12083 , преемник AAP DTP, является международным стандартом SGML для обмена документами между авторами и издателями.
  • SGMLguid был ранним определением типа документа SGML, созданным, разработанным и используемым в CERN .

Реализации с открытым исходным кодом [ править ]

Важные реализации SGML с открытым исходным кодом включают:

  • ASP-SGML
  • ARC-SGML , от Standard Generalized Markup Language Users ', 1991, язык C
  • SGMLS , Джеймс Кларк, 1993, язык C
  • Проект YAO , Технологический институт Юань-цзе, Тайвань, совместно с Чарльзом Гольдфарбом, 1994 г., объект
  • SP Джеймса Кларка, язык C ++

SP и Jade, связанные процессоры DSSSL, поддерживаются проектом OpenJade и являются общими частями дистрибутивов Linux. Общий архив программного обеспечения и материалов SGML находится в SUNET . Исходный класс синтаксического анализатора HTML в реализации Java Sun System представляет собой синтаксический анализатор SGML с ограниченными возможностями, использующий терминологию и концепции SGML.

См. Также [ править ]

  • Организация по развитию стандартов структурированной информации (OASIS)
  • S-выражение
  • DSSSL  - язык обработки на основе схемы, похожий на XSL
  • Латекс
  • Список языков разметки общего назначения
  • Язык разметки
  • Объект SGML
  • HyTime
  • Отсутствие тега
  • XML

Ссылки [ править ]

  1. ^ a b ISO. «JTC 1 / SC 34 - Языки описания и обработки документов» . ISO . Проверено 25 декабря 2009 .
  2. ^ ISO JTC1 / SC34. «JTC 1 / SC 34 - Языки описания и обработки документов» . Проверено 25 декабря 2009 .
  3. ^ ISO / IEC 10744  - Hytime
  4. ^ "ISO / IEC TR 9573" (PDF) . ISO . 1991 . Проверено 5 декабря 2017 года .
  5. ^ Голдфарб, Чарльз Ф. (1996). «Корни SGML - личное воспоминание» . Проверено 7 июля 2007 года .
  6. ^ Голдфарб, Чарльз Ф. (1990). Справочник SGML . ISBN 9780198537373.
  7. ^ Термины и определения проекта ISO 8879
  8. ^ Wohler, Уэйн (21 июля 1998). «Декларации SGML» . Проверено 17 августа 2009 года .
  9. Эгмонд (декабрь 1989 г.). «Реализация синтаксического анализатора Amsterdam SGML» (PDF) .
  10. Кэрролл, Джереми Дж. (26 ноября 2001 г.). «Копарсинг RDF и XML» (PDF) . Hewlett-Packard . Проверено 9 октября 2009 года .
  11. ^ "SGML: Grammar Productions" .
  12. ^ "Re: Другие проблемы с пробелами были Re: Правила с пробелами (v2)" .
  13. ^ Брюггеманн-Кляйн. "Инструменты и методы построения компиляторов для синтаксических анализаторов SGML: трудности и решения" .
  14. ^ «Соответствие HTML 4–4: требования и рекомендации» . Проверено 30 декабря 2009 .
  15. ^ Лилли, Крис ; Бернерс-Ли, Тим (6 февраля 2009 г.). «Устав рабочей группы HTML» . Проверено 19 апреля 2007 года .
  16. ^ «HTML5 - Разбор HTML-документов» . Консорциум World Wide Web . 28 октября 2014 . Проверено 29 июня 2015 года .
  17. ^ Dubost, Карл (15 января 2008). «HTML 5, один словарь, две сериализации» . Блог вопросов и ответов . W3C . Проверено 25 февраля 2009 года .
  18. ^ Cowlishaw, MF (1987). «LEXX - программируемый структурированный редактор». Журнал исследований и разработок IBM . IBM . 31 (1): 73. DOI : 10,1147 / rd.311.0073 .

Внешние ссылки [ править ]

  • Обзор ресурсов SGML на веб-сайте W3C.
  • Введение и примеры программной документации на SGML
  • SC34 Committee Records , Институт Чарльза Бэббиджа  - Сборник по развитию SGML и других стандартов, влияющих на развитие текущих инструментов XML; документы включают ранние проекты административных материалов SGML, документацию, документы рабочих групп и стандарты компьютерных языков.
  • Краткое описание синтаксиса SGML, Чарльз Гольдфарб
  • Документ SGML, знакомящий вас с SGML ; Некоторые причины важности SGML
  • Декларация SGML , в SGML и HTML Explained, Мартин Брайан (1997) (исходный URL-адрес сломан по адресу http://www.is-oughtt.co.uk/book/sgml-4.htm#Fig4-2 )
  • Декларации SGML Уэйн Волер, IBM Corporation, 1994.
  • ISO 9069: 1988 - Обработка информации - Средства поддержки SGML - Формат обмена документами SGML (SDIF)
  • ISO / IEC 9070: 1991 - Информационные технологии. Средства поддержки SGML. Процедуры регистрации для идентификаторов владельцев общедоступных текстов.