Добавлен: 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]
Если значение атрибута содержит амперсанд ("&"), то для его отображения должна выражаться мнемоникой ("&"). Например, если атрибут href элемента <a> ссылается на скрипт CGI, который принимает параметры, то атрибут должен выглядеть так:
http://my.site.dom/cgi-bin/myscript.pl?class=guest&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. Это резервное имя, описывающее базовые элементы и представляющее тип данных, содержащихся в элементе. Оно означает наличие символьной информации, которая может подвергаться грамматическому анализу. В следствии этого, < и & будут рассматриваться как начало разметки, а мнемоники, такие как < и &, будут распознаны процессором 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, является неким идеальным кодом веб-страницы, которая не будет отображена, пока все ошибки не будут исправлены. Благодаря этому сайты становятся кросс-платформенными и кросс-браузерными. Иначе говоря, сайты будут верно отображаться как на ПК, так и на мобильных гаджетах.
Библиографический список
Книги
- Сакулин, С.А. Основы интернет-технологий: HTML, CSS, JavaScript, XML: учебное пособие/ С.А. Сакулин. — Москва: МГТУ им. Н.Э. Баумана, 2017. — 112 с.
- Муссиано Ч.HTML и XHTML. Подробное руководство, 6 – е издание/Ч. Муссиано, Б. Кеннеди – СПб: Символ-Плюс, 2016. – 752 с.
- Чиртик А. HTML: Популярный самоучитель/ А. Чиртик. –– СПб: Питер, 2014. –320 с.
Интернет-источники
- Что такое 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)
- HTML5. URL: http://htmlbook.ru/html5 (дата обращение: 21.07.2018)
- Как изменить цвет фона и текста веб – страницы? URL: http://htmlbook.ru/faq/kak-izmenit-tsvet-fona-i-teksta-veb-stranitsy (дата обращения: 21.07.2018)
- HTML – история развития языка разметки гипертекста. URL: http://www.castcom.ru/publications/web/html_istoriya_razvitiya_yazyka_razmetki_giperteksta.html (дата обращения: 21.07.2018)
- Основы XHTML. Основное различие между HTML и XHTML. URL: http://megaweb.su/osnovi/xhtml/12-xhtml-osnovy-osnovnoe-razlichie-mezhdu-html-i-xhtml.html (дата обращения: 21.07.2018)
- Сравнение HTML и XHTML. URL: http://www.internet-technologies.ru/articles/sravnenie-html-i-xhtml.html (дата обращения: 21.07.2018)
- XHTML. URL: http://htmlbook.ru/xhtml (дата обращения: 21.07.2018)