Стандартный обобщенный язык разметки
Расширение имени файла |
.sgml |
---|---|
Тип интернет-СМИ |
приложение/sgml, текст/sgml |
Единый идентификатор типа (UTI) | public.xml [ нужна ссылка ] |
Разработано | ИСО |
Тип формата | Язык разметки |
Расширено с | ГМЛ |
Распространено на | HTML , XML |
Стандартный | ИСО 8879 |
Стандартный обобщенный язык разметки ( SGML ; ISO 8879:1986) — это стандарт для определения обобщенных языков разметки для документов. Приложение A.1 ISO 8879 гласит, что обобщенная разметка «основана на двух постулатах »: [1]
- Декларативная: разметка должна описывать структуру документа и другие атрибуты, а не указывать обработку, которую необходимо выполнить, поскольку она с меньшей вероятностью будет конфликтовать с будущими разработками.
- Строгость: чтобы разметка могла использовать преимущества доступных для обработки методов, разметка должна строго определять такие объекты, как программы и базы данных .
DocBook SGML и LinuxDoc являются примерами использования инструментов SGML.
Стандартные версии [ править ]
SGML — это стандарт ISO : «ISO 8879:1986 Обработка информации. Текстовые и офисные системы. Стандартный обобщенный язык разметки (SGML)», которого существует три версии:
- Оригинальный SGML , принятый в октябре 1986 года, с последующим небольшим техническим исправлением.
- SGML (ENR) в 1996 году стал результатом технического исправления, добавляющего расширенные правила именования, позволяющие использовать произвольный язык и разметку -script.
- SGML (ENR+WWW или WebSGML) , появившийся в 1998 году в результате технического исправления для лучшей поддержки требований XML и WWW.
SGML является частью трех стандартов ISO для электронных документов , разработанных ISO/IEC JTC 1/SC 34. [1] [2] (Объединенный технический комитет ISO/IEC 1, Подкомитет 34 – Языки описания и обработки документов):
- SGML (ISO 8879) – обобщенный язык разметки.
- 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 согласилась взять на себя обслуживание этих наборов сущностей.
- Часть 13. Наборы общедоступных объектов для математики и естественных наук
История [ править ]
SGML произошел от (GML) IBM Generalized Markup Language , который Чарльз Гольдфарб , Эдвард Мошер и Рэймонд Лори разработали в 1960-х годах. Гольдфарб, редактор международного стандарта, придумал термин «GML», используя инициалы своей фамилии. [5] Гольдфарб также написал исчерпывающую работу по синтаксису SGML в «Справочнике SGML». [6] Синтаксис SGML ближе к формату COCOA . [ нужны разъяснения ] Как язык разметки документов, SGML изначально был разработан для обеспечения совместного использования машиночитаемых документов крупных проектов в правительстве, законодательстве и промышленности. Многие такие документы должны оставаться читабельными в течение нескольких десятилетий — долгое время в области информационных технологий . SGML также широко применялся в военной, аэрокосмической, технической справочной и промышленной издательской отраслях. Появление профиля XML сделало 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 на достоверности поддерживает требование к обобщенной разметке, согласно которому разметка должна быть строгой. (ИСО 8879 А.1)
Синтаксис [ править ]
Документ SGML может состоять из трех частей:
- Декларация SGML,
- Пролог, содержащий объявление DOCTYPE с различными объявлениями разметки , которые вместе составляют определение типа документа (DTD), и
- сам экземпляр, содержащий один самый верхний элемент и его содержимое.
Документ 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">
typically something like <ITALICS>this</ITALICS>
</QUOTE>
SGML предоставляет абстрактный синтаксис , который может быть реализован во многих различных типах конкретного синтаксиса . Хотя норма разметки использует угловые скобки начального и конечного тегов в качестве разделителей в документе SGML (согласно стандартному ссылочному конкретному синтаксису ), можно использовать и другие символы — при условии, что подходящий конкретный синтаксис определен в SGML документа. декларация . [8] Например, интерпретатор SGML может быть запрограммирован для анализа GML, в котором теги разделяются левым двоеточием и правой точкой , а также :e
префикс обозначает закрывающий тег: :xmp.Hello, world:exmp.
. Согласно ссылочному синтаксису, регистр букв (заглавных и строчных) в именах тегов не различается, поэтому три тега <quote>
, <QUOTE>
, и <quOtE>
эквивалентны. (Конкретный синтаксис может изменить это правило с помощью объявлений NAMECASE NAMING.)
Минимизация разметки [ править ]
SGML имеет функции для уменьшения количества символов, необходимых для разметки документа, которые необходимо включить в декларации SGML. Процессорам SGML не обязательно поддерживать все доступные функции, что позволяет приложениям допускать многие типы непреднамеренных пропусков разметки; однако системы SGML обычно нетерпимы к недопустимым структурам. XML нетерпим к синтаксическим упущениям и не требует DTD для проверки правильности формата.
ОМИТТАГ [ править ]
Как начальные, так и конечные теги могут быть опущены в экземпляре документа при условии:
- функция OMITTAG включена в декларации SGML,
- DTD указывает, что теги можно опускать,
- (для начальных тегов) элемент не имеет связанных с ним обязательных (
#REQUIRED
) атрибуты и - тег может быть однозначно выведен из контекста.
Например, если в объявлении SGML указано OMITTAG YES (включение функции OMITTAG), а DTD включает следующие объявления:
<!ELEMENT chapter - - (title, section+)>
<!ELEMENT title o o (#PCDATA)>
<!ELEMENT section - - (title, subsection+)>
тогда этот отрывок:
<chapter>Introduction to SGML
<section>The SGML Declaration
<subsection>
...
в котором отсутствуют два <title>
теги и два </title>
теги будут представлять собой действительную разметку.
Пропускать теги необязательно — один и тот же отрывок можно пометить следующим образом:
<chapter><title>Introduction to SGML</title>
<section><title>The SGML Declaration</title>
<subsection>
...
и по-прежнему будет представлять собой действительную разметку.
Примечание. Функция OMITTAG не связана с маркировкой элементов, объявленное содержимое которых EMPTY
как определено в DTD:
<!ELEMENT image - o EMPTY>
Элементы, определенные таким образом, не имеют закрывающего тега, и указание его в экземпляре документа приведет к недопустимой разметке. В этом отношении это синтаксически отличается от пустых элементов XML .
КОРОТКОЕ [ править ]
Теги можно заменить строками-разделителями для более краткой разметки с помощью функции SHORTREF. Этот стиль разметки теперь связан с разметкой вики , например, где два знака равенства (==) в начале строки являются «начальным тегом заголовка», а два знака равенства (==) после него являются « конечный тег заголовка".
SHORTTAG[editКОРОТКИЙ ТЕГ
Языки разметки SGML, конкретный синтаксис которых обеспечивает функцию SHORTTAG VALUE, не требуют, чтобы значения атрибутов, содержащие только буквенно-цифровые символы, были заключены в кавычки — либо двойные кавычки. " "
(LIT) или одиночный ' '
(LITA) — чтобы предыдущий пример разметки можно было записать:
<QUOTE TYPE=example>
typically something like <ITALICS>this</>
</QUOTE>
Одной из особенностей языков разметки SGML является «самонадеянная пустая маркировка», когда пустой конечный тег </>
в <ITALICS>this</>
«наследует» свое значение от ближайшего предыдущего полного начального тега, который в этом примере равен <ITALICS>
(другими словами, он закрывает последний открытый элемент). Таким образом, выражение эквивалентно <ITALICS>this</ITALICS>
.
СЕТЬ [ править ]
Еще одна особенность — конструкция NET (Null End Tag): <ITALICS/this/
, что структурно эквивалентно <ITALICS>this</ITALICS>
.
Другие особенности [ править ]
Кроме того, функция SHORTTAG NETENABL IMMEDNET позволяет сокращать теги, окружающие пустое текстовое значение, но запрещает сокращение полных тегов:
<QUOTE></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 one-line "&#RE;&#RS;" line-tagc>
<!USEMAP one-line line>
(и «&#RE;&#RS;» — это короткий разделитель ссылок в конкретном синтаксисе), тогда:
<lines>
first line
second line
</lines>
эквивалентно:
<lines>
<line>first line</line>
<line>second 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 (расширяемый язык разметки) — это профиль (подмножество) SGML, предназначенный для упрощения реализации анализатора по сравнению с полным анализатором SGML, в первую очередь для использования во Всемирной паутине Помимо отключения многих параметров 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]
В уставе возрожденной в 2006 году Рабочей группы Консорциума Всемирной паутины по HTML говорится: «Группа не будет предполагать, что анализатор SGML используется для «классического HTML » ». [15] Хотя синтаксис HTML очень похож на синтаксис SGML со ссылочным конкретным синтаксисом по умолчанию , HTML5 отказывается от любых попыток определить HTML как приложение SGML, явно определяя свои собственные правила синтаксического анализа. [16] которые более точно соответствуют существующим реализациям и документам. Однако он определяет альтернативную сериализацию XHTML , которая соответствует XML и, следовательно, также SGML. [17]
ВОЗРАСТ [ править ]
Второе издание Оксфордского словаря английского языка (OED) полностью размечено с помощью языка разметки на основе SGML с использованием текстового редактора LEXX . [18]
Третье издание размечено как XML.
Другие [ править ]
Другие языки разметки документов частично связаны с SGML и XML, но, поскольку их нельзя анализировать, проверять или обрабатывать иным образом с использованием стандартных инструментов SGML и XML, они не считаются языками SGML или XML; документации . Примером может служить язык разметки Z Format для набора текста и
Некоторые современные языки программирования поддерживают теги как примитивные типы токенов или теперь поддерживают Unicode и регулярных выражений сопоставление шаблонов . Примером может служить язык программирования Scala .
Приложения [ править ]
Языки разметки документов, определенные с использованием SGML, по стандарту называются «приложениями»; многие приложения SGML до XML были собственностью организаций, которые их разработали, и поэтому были недоступны во Всемирной паутине. В следующем списке представлены приложения до XML SGML.
- Text Encoding Initiative (TEI) — это академический консорциум, который проектирует, поддерживает и разрабатывает технические стандарты для приложений для представления текста в цифровом формате.
- DocBook — это язык разметки, изначально созданный как приложение SGML и предназначенный для создания технической документации; DocBook в настоящее время представляет собой XML-приложение.
- CALS (поддержка непрерывного сбора и жизненного цикла) — это инициатива Министерства обороны США (DoD), направленная на электронный ввод военных документов и связывание связанных данных и информации.
- HyTime определяет набор типов гипертекстовых элементов, которые позволяют авторам документов SGML создавать гипертекстовые и мультимедийные презентации.
- Система EDGAR (электронный сбор, анализ и поиск данных) обеспечивает автоматический сбор, проверку, индексацию, принятие и пересылку материалов компаниями и другими лицами, которые по закону обязаны подавать данные и информационные формы в Комиссию по ценным бумагам и биржам США. (СЕК).
- LinuxDoc . В документации для пакетов Linux используются LinuxDoc SGML DTD и Docbook XML DTD.
- AAP DTD — это определение типа документа для научных документов, определенное Ассоциацией американских издателей .
- ISO 12083 , преемник AAP DTP, представляет собой международный стандарт SGML для обмена документами между авторами и издателями.
- SGMLguid — раннее определение типа документа SGML, созданное, разработанное и используемое в CERN .
Реализации с открытым исходным кодом [ править ]
Важные реализации SGML с открытым исходным кодом включают:
- АСП-СГМЛ
- ARC-SGML , пользователи стандартного обобщенного языка разметки, 1991 г., язык C.
- SGMLS , Джеймс Кларк, 1993, язык C.
- Проект YAO , Технологический институт Юань-цзы, Тайвань, совместно с Чарльзом Гольдфарбом, 1994 г.
- SP и Jade Джеймса Кларка, язык C++
SP и Jade, соответствующие процессоры DSSSL, поддерживаются проектом OpenJade и являются общими частями дистрибутивов Linux. Общий архив программного обеспечения и материалов SGML находится в SUNET . Исходный класс анализатора HTML в реализации Java от Sun System представляет собой анализатор SGML с ограниченными возможностями, использующий терминологию и концепции SGML.
См. также [ править ]
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б ИСО (5 марта 2008 г.). «JTC 1/SC 34 – Языки описания и обработки документов» . ИСО . Проверено 25 декабря 2009 г.
- ^ ИСО JTC1/SC34. «JTC 1/SC 34 – Языки описания и обработки документов» . Проверено 25 декабря 2009 г.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ ISO / IEC 10744 - Хайтайм
- ^ «ISO/IEC TR 9573» (PDF) . ИСО . 1991 год . Проверено 5 декабря 2017 г.
- ^ Гольдфарб, Чарльз Ф. (1996). «Корни SGML – личные воспоминания» . Архивировано из оригинала 20 декабря 2012 года . Проверено 7 июля 2007 г.
- ^ Гольдфарб, Чарльз Ф. (1990). Справочник по SGML . Кларендон Пресс. ISBN 9780198537373 .
- ^ «Термины и определения проекта ISO 8879» .
- ^ Волер, Уэйн (21 июля 1998 г.). «Декларации SGML» . Проверено 17 августа 2009 г.
- ^ Эгмонд (декабрь 1989 г.). «Реализация амстердамского парсера SGML» (PDF) .
- ^ Кэрролл, Джереми Дж. (26 ноября 2001 г.). «Совместный анализ RDF и XML» (PDF) . Хьюлетт-Паккард . Проверено 9 октября 2009 г.
- ^ «SGML: Grammar Productions» .
- ^ «Re: Другие проблемы с пробелами были Re: Правила пробелов (v2)» .
- ^ Брюггеманн-Кляйн. «Инструменты и методы создания компиляторов для анализаторов SGML: трудности и решения» .
- ^ «Соответствие HTML 4–4: требования и рекомендации» . Проверено 30 декабря 2009 г.
- ^ Лилли, Крис ; Бернерс-Ли, Тим (6 февраля 2009 г.). «Устав рабочей группы HTML» . Проверено 19 апреля 2007 г.
- ^ «HTML5 — Парсинг HTML-документов» . Консорциум Всемирной паутины . 28 октября 2014 года . Проверено 29 июня 2015 г.
- ^ Дубост, Карл (15 января 2008 г.). «HTML 5, один словарь, две сериализации» . Блог вопросов и ответов . W3C . Проверено 25 февраля 2009 г.
- ^ Коулишоу, МФ (1987). «LEXX — программируемый структурированный редактор». Журнал исследований и разработок IBM . 31 (1). IBM : 73. doi : 10.1147/rd.311.0073 .
Внешние ссылки [ править ]
- Обзор ресурсов SGML на веб-сайте W3C.
- Введение и примеры документации программного обеспечения на SGML
- Отчеты комитета SC34 , Институт Чарльза Бэббиджа – Сборник информации о разработке SGML и других стандартов, оказавших влияние на разработку текущих инструментов XML; Документы включают ранние проекты административных материалов SGML, документацию, документы рабочих групп и стандарты компьютерных языков.
- Краткое описание синтаксиса SGML, Чарльз Гольдфарб
- Документ SGML, знакомящий вас с SGML ; Некоторые причины, почему SGML важен
- Декларация SGML в книге «Объяснение SGML и HTML», Мартин Брайан (1997) (исходный URL-адрес не работает: http: //www.is- Thought.co.uk/book/sgml-4.htm#fig4-2 )
- Декларации SGML Уэйн Волер, IBM Corporation, 1994.
- ISO 9069:1988 – Обработка информации – Средства поддержки SGML – Формат обмена документами SGML (SDIF)
- ISO/IEC 9070:1991 – Информационные технологии – Средства поддержки SGML – Процедуры регистрации идентификаторов владельцев общедоступного текста.