Файл: Языки гипертекстовой разметки (Понятия языков разметки).pdf
Добавлен: 30.06.2023
Просмотров: 48
Скачиваний: 2
2.5. Язык SGML
SGML расшифровывается как Standard Generalized Markup Language, что значит стандартный обобщенный язык разметки. SGML является метаязыком, на котором можно определять язык разметки для документов. SGML — наследник разработанного в 1969 году в IBM языка Generalized Markup Language[43].
Изначально SGML был разработан для совместного использования машинно-читаемых документов в больших правительственных и аэрокосмических проектах. Он широко использовался в печатной и издательской сфере, но его сложность затруднила его широкое распространение для повседневного использования[44].
Основными частями документа SGML:
- SGML-декларация, которая определяет, какие ограничители и символы могут появляться в приложении;
- Document Type Definition, который определяет синтаксис конструкций разметки. DTD может включать дополнительные определения, такие, как символьные ссылки-мнемоники;
- спецификация семантики, которая относится к разметке и также дает ограничения синтаксиса, которые не могут быть выражены внутри DTD;
- содержимое SGML-документа, в котором, по крайней мере, должен быть корневой элемент[45].
Язык SGML предоставляет множество вариантов синтаксической разметки для использования различными приложениями. Изменяя SGML-декларацию, можно даже отказаться от использования угловых скобок, хотя этот синтаксис считается стандартным, так называемым concrete reference syntax.
Языки HTML и XML произошли от SGML. HTML является приложением SGML, а XML —подмножеством SGML, которое разработанно для упрощения процесса машинного разбора документа. Другими приложениями SGML являются SGML Docbook и «Z Format»[46] [10, 12].
2.6. Язык XML
XML расшифровывается как eXtensible Markup Language, что значит расширяемый язык разметки. XML рекомендован Консорциумом Всемирной паутины. Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров. XML-процессорами называют программы, которые читают XML-документы и обеспечивают доступ к их содержимому. XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчеркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Расширение XML — это конкретная грамматика, созданная на базе XML и представленная словарем тегов и их атрибутов, а также набором правил, определяющих какие атрибуты и элементы могут входить в состав других элементов. Если бы HTML появился позднее, чем XML, то он, возможно, также бы являлся его расширением. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.
XML является подмножеством SGML[47] [10].
2.7. Язык JSON
JSON расшифровывается как JavaScript Object Notation и является текстовым форматом обмена данными, основанным на JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми. Формат JSON был разработан Дугласом Крокфордом.
Несмотря на происхождение от JavaScript, формат считается независимым от языка и может использоваться практически с любым языком программирования. Для многих языков существует готовый код для создания и обработки данных в формате JSON[48].
За счет своей лаконичности по сравнению с XML, формат JSON может быть более подходящим для сериализации сложных структур. Если говорить о веб-приложениях, в таком ключе он уместен в задачах обмена данными как между браузером и сервером, так и между самими серверами.
Поскольку формат JSON является подмножеством синтаксиса языка JavaScript, то он может быть быстро десериализован встроенной функцией eval(). Кроме того, возможна вставка вполне работоспособных JavaScript-функций. В языке PHP, начиная с версии 5.2.0, поддержка JSON включена в ядро в виде функций json_decode() и json_encode(), которые сами преобразуют типы данных JSON в соответствующие типы PHP и наоборот[49].
JSON-текст в закодированном виде представляет собой одну из двух структур:
- набор пар ключ: значение. В различных языках это реализовано как объект, запись, структура, словарь, хэш-таблица, список с ключом или ассоциативный массив. Ключом может быть только регистрозависимая строка, где имена с буквами в разных регистрах считаются разными, а значением — любая форма.
- упорядоченный набор значений. Во многих языках это реализовано как вектор, массив, последовательность или список[50].
Это универсальные структуры данных: как правило, любой современный язык программирования поддерживает их в той или иной форме. Они легли в основу JSON, так как он используется для обмена данными между различными языками программирования.
В качестве значений в JSON могут быть использованы:
- объект являющийся неупорядоченным множеством пар ключ:значение, заключенным в фигурные скобки «{ }». Ключ описывается строкой, между ним и значением стоит символ «:». Пары ключ-значение отделяются друг от друга запятыми;
- одномерный массив являющийся упорядоченным множеством значений. Массив заключается в квадратные скобки «[ ]». Значения разделяются запятыми;
- число;
- литералы null, true и false.
- строка являющаяся упорядоченным множеством из нуля или более символов юникода, заключенным в двойные кавычки. Символы могут быть указаны с использованием escape-последовательностей, начинающихся с обратной косой черты «\» (поддерживаются варианты \", \\, \/, \t, \n, \r, \f и \b), или записаны шестнадцатеричным кодом в кодировке UTF-8 в виде \uFFFF[51] [10, 11, 12].
По итогам данной главы можно сделать вывод, что язык существует большое количество разнообразных языков разметки, каждый из которых удобен при применении в определенной ситуации.
Заключение
В рамках данной работы было рассмотрено понятие языков разметки в целом. Язык разметки в компьютерной терминологии является набором последовательностей или символов, которые вставляются в текст для передачи информации о его строении или выводе. Также была рассмотрена история отдельных разновидностей языков разметки, где были выделены GenCode, TEX, Scrible, GML, SGML, HTML, XML И XHTML.
Во второй части работы были рассмотрены основы языка HTML и его разновидности HTML5. HTML расшифровывается как HyperText Markup Language и обозначает язык гипертекстовой разметки. HTML является стандартизированным языком разметки документов в Интернете. Большинство web-страниц содержат описание разметки на языке HTML или XHTML. HTML5 является языком HTML 5 версии, и представляет собой язык для представления и структурирования содержимого всемирной паутины. Стандарт был завершен в 2014 году. Также были рассмотрены и другие языки, такие как XHTML, SGML, XML и JSON.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – 336 с.
- Лабберс П. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений / П. Лабберс, Б. Олберс, Ф. Салим. – М.: Вильямс, 2011. – 272 с.
- Макфарланд Д. Новая большая книга CSS / Д. Макфарланд. – СПб.: Питер, 2016. – 720 с.
- Мирный А. HTML5 против Flash-видео / А. Мирный // UP Special : журнал. – 2010. – № 5. – С. 42 – 45.
- Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 / Р. Никсон. – СПб.: Питер, 2015. – 688 с.
- Прохоренок П. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / П. Прохоренок, В. Дронов. – СПб.: БХВ-Петербург, 2015. – 766 с.
- Роббинс Д. HTML5. Карманный справочник / Д. Роббинс. – М.: Вильямс, 2015. – 192 с.
- Титтел Э.,HTML, XHTML и CSS для чайников / Э. Титтел, Д. Ноубл. – М.: Диалектика, 2011. – 400 с.
- Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен. – СПб.: Питер, 2012. – 656 с.
- Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – 737 с.
- Хольцнер С. HTML5 за 10 минут / С. Хольцнер. – М.: Вильямс, 2011. – 384 с.
- Шафер С. HTML, XHTML и CSS. Библия пользователя / С. Шафер. – М.: Диалектика, 2010. – 656 с.
-
Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – С. 135. ↑
-
Прохоренок П. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / П. Прохоренок, В. Дронов. – СПб.: БХВ-Петербург, 2015. – С. 346. ↑
-
Прохоренок П. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / П. Прохоренок, В. Дронов. – СПб.: БХВ-Петербург, 2015. – С. 261. ↑
-
Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – С. 127. ↑
-
Титтел Э.,HTML, XHTML и CSS для чайников / Э. Титтел, Д. Ноубл. – М.: Диалектика, 2011. – C. 326. ↑
-
Титтел Э.,HTML, XHTML и CSS для чайников / Э. Титтел, Д. Ноубл. – М.: Диалектика, 2011. – C. 362. ↑
-
Прохоренок П. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / П. Прохоренок, В. Дронов. – СПб.: БХВ-Петербург, 2015. – С. 126. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 437. ↑
-
Титтел Э.,HTML, XHTML и CSS для чайников / Э. Титтел, Д. Ноубл. – М.: Диалектика, 2011. – C. 336. ↑
-
Прохоренок П. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / П. Прохоренок, В. Дронов. – СПб.: БХВ-Петербург, 2015. – С. 124. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 553. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 666. ↑
-
Титтел Э.,HTML, XHTML и CSS для чайников / Э. Титтел, Д. Ноубл. – М.: Диалектика, 2011. – C. 336. ↑
-
Шафер С. HTML, XHTML и CSS. Библия пользователя / С. Шафер. – М.: Диалектика, 2010. – C. 366. ↑
-
Лабберс П. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений / П. Лабберс, Б. Олберс, Ф. Салим. – М.: Вильямс, 2011. – C. 166. ↑
-
Мирный А. HTML5 против Flash-видео / А. Мирный // UP Special : журнал. – 2010. – № 5. – С. 42. ↑
-
Титтел Э.,HTML, XHTML и CSS для чайников / Э. Титтел, Д. Ноубл. – М.: Диалектика, 2011. – C. 225. ↑
-
Лабберс П. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений / П. Лабберс, Б. Олберс, Ф. Салим. – М.: Вильямс, 2011. – C. 51. ↑
-
Прохоренок П. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / П. Прохоренок, В. Дронов. – СПб.: БХВ-Петербург, 2015. – С. 116. ↑
-
Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – С. 124. ↑
-
Лабберс П. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений / П. Лабберс, Б. Олберс, Ф. Салим. – М.: Вильямс, 2011. – C. 177. ↑
-
Лабберс П. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений / П. Лабберс, Б. Олберс, Ф. Салим. – М.: Вильямс, 2011. – C. 133. ↑
-
Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – С. 138. ↑
-
Прохоренок П. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / П. Прохоренок, В. Дронов. – СПб.: БХВ-Петербург, 2015. – С. 346. ↑
-
Роббинс Д. HTML5. Карманный справочник / Д. Роббинс. – М.: Виль-ямс, 2015. – С. 46. ↑
-
Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 / Р. Никсон. – СПб.: Питер, 2015. – С. 72. ↑
-
Макфарланд Д. Новая большая книга CSS / Д. Макфарланд. – СПб.: Питер, 2016. – С. 362. ↑
-
Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 / Р. Никсон. – СПб.: Питер, 2015. – С. 462. ↑
-
Роббинс Д. HTML5. Карманный справочник / Д. Роббинс. – М.: Виль-ямс, 2015. – С. 26. ↑
-
Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 / Р. Никсон. – СПб.: Питер, 2015. – С. 362. ↑
-
Макфарланд Д. Новая большая книга CSS / Д. Макфарланд. – СПб.: Питер, 2016. – С. 337. ↑
-
Хольцнер С. HTML5 за 10 минут / С. Хольцнер. – М.: Вильямс, 2011. – С. 274. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен. – СПб.: Питер, 2012. – С. 274. ↑
-
Хольцнер С. HTML5 за 10 минут / С. Хольцнер. – М.: Вильямс, 2011. – С. 16. ↑
-
Макфарланд Д. Новая большая книга CSS / Д. Макфарланд. – СПб.: Питер, 2016. – С. 537. ↑
-
Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 / Р. Никсон. – СПб.: Питер, 2015. – С. 62. ↑
-
Лабберс П. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений / П. Лабберс, Б. Олберс, Ф. Салим. – М.: Вильямс, 2011. – C. 325. ↑
-
Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – С. 136. ↑
-
Мирный А. HTML5 против Flash-видео / А. Мирный // UP Special : журнал. – 2010. – № 5. – С. 44. ↑
-
Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – С. 267. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 477. ↑
-
Веру Л. Секреты CSS. Идеальные решения ежедневных задач / Л. Веру. – СПб.: Питер, 2016. – С. 277. ↑
-
Шафер С. HTML, XHTML и CSS. Библия пользователя / С. Шафер. – М.: Диалектика, 2010. – C. 247. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 247. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 364. ↑
-
Шафер С. HTML, XHTML и CSS. Библия пользователя / С. Шафер. – М.: Диалектика, 2010. – C. 466. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 472. ↑
-
Шафер С. HTML, XHTML и CSS. Библия пользователя / С. Шафер. – М.: Диалектика, 2010. – C. 236. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 362. ↑
-
Хольцнер С. HTML5 за 10 минут / С. Хольцнер. – М.: Вильямс, 2011. – С. 17. ↑
-
Фримен Э. Изучаем HTML, XHTML и CSS / Э. Фримен, Э. Фримен. – СПб.: Питер, 2014. – C. 257. ↑