Файл: Язык гипертекстовой разметки.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.07.2023

Просмотров: 268

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Документ XHTML должен иметь только один корневой элемент. Элементы документа, в том числе и переменные, указываются в нижнем регистре, а их значения — указываются в кавычки, закрыты и вложены. В XHTML это является обязательным требованием. Объявление DOCTYPE XHTML определяет правила для документов, которым необходимо следовать.[62]

HTML и XHTML могут быть задокументированы совместно. И HTML 4.01, и XHTML 1.0 имеют три подспецификации:

  • Строгую;
  • Нестрогую;
  • Фрэймовую. [63]

Отличие файлов HTML и XHTML заключается в декларировании документов. В XHTML есть встроенный язык определения функционала атрибутов и все требования, предъявляемые к синтаксису XML, относятся и к XHTML-документу.

В XHTML используется большое количество разработок, предназначенных для XML. К примеру, XSLT – часть технологии XSL, устанавливающая язык изменений XML-документов. XSLT является рекомендацией W3C.[64]

Также есть возможность применения технологии XPath – языка запросов к различным составляющим XML-документа. Он был придуман для организации доступа к частям документа XML в файлах трансформации XSLT и является стандартом консорциума W3C.

Анализ документа XHTML менее сложен и более быстр, чем HTML. Так как синтаксис XML более строг, по сравнению с SGML, то обработка XHTML возможна даже на малоресурсных мобильных телефонах.[65]

2.1. Отличия XHTML от HTML

Главным различием между HTML и XHTML является то, что в XHTML используется синтаксис XML, который разрабатывался для помощи в разработке синтаксически верных документов XML. XHTML являет собой словарь XML, в то время как HTML — это лишь предшествующий XHTML язык разметки.[66]

В связи с тем, что XHTML основан на XML, некоторые действия, которые совершенно правильны в HTML4 на базе SGML, совершенно неверны в XHTML. Опишем правила, которые необходимо соблюдать при переходе от HTML к XHTML[67]:

1. Документы должны быть корректно созданы.

Это значит, что каждый открывающийся элемент должен быть закрыт (например, <p></p>) или быть указанным в специальной форме (например, <br />), а также должна контролироваться правильная вложенность элементов.

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


Правильное использование вложенных элементов:

<p>выделяем это <em>слово</em></p>

Неправильное использование вложенных элементов (элементы перекрываются):

<p>выделяем это <em>слово.</p></em>[68]

2. Имена элементов и атрибутов указываются в нижнем регистре.

В документах XHTML должен быть использовать нижний регистр для всех элементов и атрибутов HTML. Это необходимо, поскольку XML чувствителен к регистру, например, <ul> и <UL> это различные теги.[69]

3. Правила написания значений атрибутов.

Все значения атрибутов, даже цифры должны быть указаны в двойные (" ") или одинарные(' ') кавычки.

Правильно будет указано значение атрибута следующим способом:

<td colspan="8">

Такое указание будет неверным, так как значение указано не в кавычках:

<td colspan=8>[70]

Если значение атрибута содержит амперсанд ("&"), то для его отображения должна выражаться мнемоникой ("&amp;"). Например, если атрибут href элемента <a> ссылается на скрипт CGI, который принимает параметры, то атрибут должен выглядеть так:

http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user

Такое использование вызовет ошибку:

http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user[71]

Предопределенные значения атрибутов (например, атрибут type элемента input) очень зависимы от регистра и должны быть написаны в нижнем регистре. Однако, это не относится к значениям атрибутов, определяемых разработчиками документов (например, значения для атрибутов id, name или class), которые также зависят от регистра, но позволяют использовать символы в верхнем регистре.[72]

Следует принять во внимание, что пробелы в значениях атрибутов удаляются браузерами, а один или несколько последовательных пробелов между словами, а также переводы строк, преобразуются в одиночный пробел. XML не поддерживает минимизацию атрибутов. Пары атрибут/значение обязательно должны быть указаны полностью. Имена атрибутов, такие как compact и checked, не могут использоваться в элементах без определенных значений. Для того, чтобы код атрибута сработал, необходимо написать его полностью:

<dl compact="compact">

Но если же атрибут будет иметь, например, такой вид, то ничего не сработает:

<dl compact>[73]

6. Элементы <script> и <style>.

В XHTML элементы <script> и <style> используются как имеющие содержимое #PCDATA. Это резервное имя, описывающее базовые элементы и представляющее тип данных, содержащихся в элементе. Оно означает наличие символьной информации, которая может подвергаться грамматическому анализу. В следствии этого, < и & будут рассматриваться как начало разметки, а мнемоники, такие как &lt; и &amp;, будут распознаны процессором XML мнемониками символов < и & соответственно. [74]


Вообще символ-мнемоника взята из SGML. Данная конструкция ссылается на символ из набора символов документа. В HTML предопределено большое количество спецсимволов. Чтобы вставить определенный символ в разметку, нужно вставить определенную мнемонику в HTML структуру.[75]

Для того, чтобы избежать замены мнемоник символами, необходимо поместить содержимое элементов <script> или <style> в раздел CDATA. Данный раздел говорит обработчику кода о том, что здесь содержатся только символьные данные.

Это необходимо для того, чтобы спрятать от обработчика кода XML код, содержащийся в script или style, так как для него это обычный namespace.[76]

Namespace – это пространство имен, которое используется для логического объединения классов, функций и переменных. Иначе говоря, namespace дает возможность разделить глобальное пространство имен на подпространства.

Предназначение пространства имен в том, чтобы избежать совпадение имен в глобальном пространстве имен.[77]

Но в script или style нельзя заменить спец. символы на мнемоники, из-за этого его обработка отменяется с помощью CDATA, и, чтобы javascript не воспринимал CDATA, закомментировать данный раздел.[78]

Комментирования одной строки выполняется с помощью символа “//”. В коде выглядит следующим образм:

<script type="text/javascript">

//<![CDATA[

... неэкранированное содержание сценария ...

//]]>

</script>

Многострочное комментирования происходит следующим способом:

<script type="text/javascript">

/*<![CDATA[*/

... неэкранированное содержание сценария ...

/*]]>*/

</script>

Разделы CDATA являются частью объектной модели документа. [79]

7. Исключения SGML.

При работе с SGML разработчики определений типа документа могли исключать элементы как содержимое элемента. Такие исключения отсутствуют в XHTML.[80]

Например, строгое определение типа документа HTML4(Strict DTD) исключает вложенность элемента <a> в другой элемент <a>. Эти исключения не обязательно должны указываться в определении типа документа.[81]

В XHTML:

  • В элемент <a> не могут вкладываться другие элементы <a>;
  • В элемент <pre> не могут вкладываться элементы <img>, <object>, <big>, <small>, <sub> или <sup>;
  • В элемент <button> не могут вкладываться элементы <input>, <select>, <textarea>, <label>, <button>, <form>, <fieldset>, <iframe> или <isindex>;
  • В элемент <label> не могут вкладываться другие элементы <label>;
  • В элемент <form> не могут вкладываться другие элементы <form>.[82]

8. Элементы с атрибутами "id" и "name"

HTML 4 установил атрибут name для элементов a, applet, form, frame, iframe, img и map, а также внедрил атрибут id. Каждый из этих атрибутов (name и id) создан для использования в качестве идентификаторов фрагмента.В XML, тип ID имеют идентификаторы фрагмента, и элемент может содержать только один атрибут типа ID. Из этого следует, что в XHTML 1.0 атрибут id определён как атрибут типа ID. Файлы XHTML 1.0 считаются правильно структурированными документами XML, если в них используется атрибут id для определения идентификаторов фрагмента. [83]

Значение атрибута id в пределах документа должно быть неповторяющимся.

В XHTML 1.1 для элементов a и map атрибут name удален, вместо него следует использовать атрибут id.[84]

2.2. Валидация XHTML документов

Валидным XHTML-документом является документ, удовлетворяющий всем спецификациям XML. Все браузеры должны придерживаться веб-стандартов и, в соответствии с ними, документы, которые удовлетворяют техническим спецификациям, должны одинаково визуализироваться в любых браузерах. Использование валидных XHTML-документов рекомендуется W3C, хоть это и не значит, что документ будет корректно отображаться во всех браузерах. Для проверки валидности документа можно воспользоваться службы валидации от W3C. Валидация обнаружит и разъяснит ошибки в XHTML-разметке.[85]

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

Самыми популярными ошибками в XHTML-разметке являются:

  • Использование элементов без закрывающих тегов;
  • Не указаны для изображений альтернативные текстов. Для установки альтернативного текста используется атрибут alt. Это необходимо для тех случаев, когда изображение не может быть загружено, и вместо него указывается текст, описывающий изображение;
  • Указание текста в теге <body> документа. Текст должен находиться в блочном элементе; [87]
  • Вложение внутристрочных элементов внутрь блочных. Например, такие блочные элементы как <p> или <div> не могут быть вложены внутрь элементов <a>, <span>, <em>;
  • Незаключенные в кавычки значения атрибутов;
  • Некорректное вложение элементов;[88]
  • Некорректное использование ссылок-мнемоник;
  • Использование тегов и/или атрибутов, указанных прописными буквами.[89]

Вот образец минимального документа XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<title>Образец минимального документа XHTML</title>

</head>

<body><p>Образец минимального документа XHTML</p></body>

</html>[90]

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

Заключение

В данной курсовой работе были рассмотрены языки гипертекстовой разметки HTML и XHTML.

Язык гипертекстовой разметки HTML разрабатывался в качестве простого, универсального и расширяемого инструмента для быстрого доступа к данным, с одинаковым отображением структуры на различных устройствах.

Позже данный язык стал основой для «всемирной» паутины и до сих пор используется для структурирования страниц web-сайтов.

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

Библиографический список

Книги

  1. Сакулин, С.А. Основы интернет-технологий: HTML, CSS, JavaScript, XML: учебное пособие/ С.А. Сакулин. — Москва: МГТУ им. Н.Э. Баумана, 2017. — 112 с.
  2. Муссиано Ч.HTML и XHTML. Подробное руководство, 6 – е издание/Ч. Муссиано, Б. Кеннеди – СПб: Символ-Плюс, 2016. – 752 с.
  3. Чиртик А. HTML: Популярный самоучитель/ А. Чиртик. –– СПб: Питер, 2014. –320 с.

Интернет-источники

  1. Что такое HTML? URL: https://zametkinapolyah.ru/verstka-sajtov/chto-takoe-html-dlya-chego-nuzhen-html-kak-sozdat-html-stranicu-vozmozhnosti-yazyka-html.html (дата обращение: 21.07.2018)
  2. HTML5. URL: http://htmlbook.ru/html5 (дата обращение: 21.07.2018)
  3. Как изменить цвет фона и текста веб – страницы? URL: http://htmlbook.ru/faq/kak-izmenit-tsvet-fona-i-teksta-veb-stranitsy (дата обращения: 21.07.2018)
  4. HTML – история развития языка разметки гипертекста. URL: http://www.castcom.ru/publications/web/html_istoriya_razvitiya_yazyka_razmetki_giperteksta.html (дата обращения: 21.07.2018)
  5. Основы XHTML. Основное различие между HTML и XHTML. URL: http://megaweb.su/osnovi/xhtml/12-xhtml-osnovy-osnovnoe-razlichie-mezhdu-html-i-xhtml.html (дата обращения: 21.07.2018)
  6. Сравнение HTML и XHTML. URL: http://www.internet-technologies.ru/articles/sravnenie-html-i-xhtml.html (дата обращения: 21.07.2018)
  7. XHTML. URL: http://htmlbook.ru/xhtml (дата обращения: 21.07.2018)