Игорь Квинт - HTML, XHTML и CSS на 100% стр 59.

Шрифт
Фон

<p>

Это первый абзац

</p>

<p>

<Это второй абзац>

</p>

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

То же самое касается и пустых элементов. Каждый тег такого элемента должен иметь как открывающий, так и закрывающий тег, например тег обрыва строки теперь должен писаться так: <br></br>, иначе строка разорвана не будет. К счастью, в этом случае допускается запись <br/>, то есть перед завершающей угловой скобкой следует поместить наклонную черту. Если же у тега есть атрибуты, то угловая черта пишется после них, например <img src="mypicture.jpg"/>.

Необходимо корректно вкладывать элементы друг в друга

Это требование стандарта XHTML не отличается от требований HTML. Каждый элемент, вложенный в другой элемент, должен быть закрыт завершающим тегом, лежащим внутри содержащего его элемента. Например, в данном примере элемент для задания курсивного текста включает тег полужирного начертания:

<i><b>

…форматируемый текст…

</b> </i>

Этот пример корректен. Однако если мы напишем так:

<i><b>

…форматируемый текст…

</i> </b>

то нарушим требования HTML. Тем не менее эти и им подобные требования не всегда выполнялись разработчиками, и «добрые» браузеры обычно корректировали такие нарушения кода. Однако стандарт XHTML запрещает подобные нарушения. Кроме того, XHTML запрещает следующие вложения:

• тег <form> не может содержать теги <form>;

• тег <button> не может содержать теги <textarea>, <select>, <input>, <iframe>, <label>, <button>, <form>, <isindex>, <fildset>;

• тег <a> не может содержать другой тег <a>;

• тег <label> не может содержать другие теги <label>;

• тег <pre> не может содержать теги <img>, <sup>, <object>, <small>, <sub>, <big>.

При этом глубина вложения не имеет значения. Допустим, если в тег <a> вложены другие теги, они не могут включать в себя тег <a>. Браузер, строго поддерживающий XHTML, не сможет адекватно воспроизвести документы с такими нарушениями.

Назначение имен тегов и атрибутов зависит от регистра

В документах HTML имена тегов и атрибутов не зависят от регистра символов, так что, например, запись <TABLE>, <TaBle> или <table> означает один и тот же тег таблицы. Однако в XHTML это разные теги. То же самое касается имен атрибутов: записи типа width или WiDtZ в XHTML уже не означают имя атрибута, задающего ширину, например, ячейки таблицы или рисунка.

В XHTML все имена тегов и атрибутов, которые были заимствованы из HTML, должны быть записаны строчными буквами. Если же при написании тегов и атрибутов были использованы прописные буквы, обрабатывающая их программа, строго поддерживающая стандарт XHTML, не сможет их корректно обработать.

Требуется явно задавать значения атрибутов

В документах XHTML всем атрибутам следует присваивать значения, даже если по стандарту HTML это не требуется. Например, в тегах списков <ol>, <ul> часто используется атрибут compact, приводящий к уменьшению расстояния между буквами в тексте списков. Если этот атрибут включен в тег, например <ul compact>, то текст в списке будет отображаться более компактно. Однако в XHTML такая запись запрещена и вам придется написать так: <ul compact="compact">. В табл. 13.1 приведены атрибуты, которым в языке XHTML следует задавать значения, совпадающие с их названием.

Таблица 13.1. Значения атрибутов XHTML, для которых HTML не требовал значений

Включение сценариев и специальных символов в документы XHTML

В документы HTML сценарии встраиваются с помощью комментариев, то есть коды сценариев помещаются внутрь объявлений комментария:

<!

…Код сценария JavaScript или таблицы CSS….

>

В них же помещают объявления таблиц CSS, что позволяет избежать конфликтов, если браузер не поддерживает эти средства. Однако браузеры XML не воспринимают содержимое комментариев и требуют использования таких конструкций, содержащих тег CDATA языка XML:

<script language="JavaScript">

<![CDATA[

…код сценария JavaScript...

]]>

</script>

Вместе с тем это может привести к проблемам при воспроизведении такого документа браузерами HTML, которые не понимают XML-тег CDATA. Оптимальным решением будет помещение сценариев во внешние файлы и включение в документы ссылок на эти файлы.

Все специальные символы в документы XHTML следует записывать с помощью ссылок, то есть вместо записи <img src="logo.gif" alt="Логотип фирмы Бублики & Баранки"> следует написать <img src="logo.gif" alt="Логотип фирмы Бублики &amp Баранки" >

13.3. Проблемы использования XHTML

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

Во-первых, уже нельзя позволить себе многие вольности и ошибки в коде гипертекстовой разметки страницы, которую допускал если не сам язык HTML, то сложившаяся практика его использования. Разработчики писали свои коды в расчете, что браузеры сумеют сами заметить некоторые ошибки и отступления от стандарта и адекватно воспроизвести HTML-документ. Однако с появлением XHTML эти вольности отменяются, строгое следование правилам XHTML 1.0 исключает любые ошибки в коде разметки документа XHTML.

Во-вторых, появляется проблема «старых» веб-страниц, в которых применены устаревшие и нежелательные элементы и атрибуты языка HTML. Этих документов за многие годы применения HTML накопилось великое множество, миллионы и миллионы сайтов разработаны на языке HTML, и их изменение под новый стандарт XHTML совершенно разорительно.

Так стоит ли использовать XHTML? И если да, то как избежать возможных осложнений и потерь? Ответ таков: если вы хотите долгой и безбедной жизни своего сайта, то его следует создавать по новым стандартам XHTML. Конечно, еще несколько лет все браузеры и прочие программы, работающие со старыми HTML-документами, будут поддерживать работу с ними, поскольку объем накопившихся в Сети ресурсов, не соответствующих канонам XHTML, чрезвычайно велик. Но ничто не вечно, и лет через 5–6 сайт с устаревшими HTML-страницами, в которых использованы теги форматирования текста вместо конструкций CSS или элементы и атрибуты кода разметки написаны без учета ограничений XHTML, будет неадекватно воспроизводиться новыми браузерами, поддерживающими XHTML.

Что же делать? Во-первых, новые веб-документы следует готовить по правилам языка XHTML. Поскольку написание кода разметки на языке XHTML стало более сложным занятием, наилучшим решением будет применение автоматических средств подготовки XHTML-документов. Иными словами, при выборе редактора веб-страниц лучше обращать внимание на те, которые поддерживают стандарты XHTML. Во-вторых, для обновления устаревших HTML-документов под стандарт XHTML можно использовать автоматические средства, например программу Tidy, бесплатно распространяемую организацией W3C по адресу http:// tidy.sourceforge.net/.

Рассмотрим, что умеет делать эта программа.

• Добавляет отсутствующий или исправляет некорректный завершающий тег. Например, такой код:

<h1>Заголовок

<h2>Подзаголовок</h3>

будет преобразован в:

<h1>Заголовок</h1>

<h2>Подзаголовок</h2>

• Изменяет некорректный порядок завершающих тегов. Например, следующий код:

<p>Этот текст должен быть <b>Полужирным<i> Полужирным курсивом</b> Полужирным</i> Нормальным

преобразуется в:

<p>Этот текст должен быть <b>Полужирным<i> Полужирным курсивом</i> Полужирным</b> Нормальным

Вы сами можете проверить эффект этого преобразования.

• Добавляет пропущенный слэш в завершающем теге. Такой код:

<a href="#refs">Текст ссылки<a>

превращается в:

<a href="#refs">Текст ссылки</a>

• Корректирует списки, внося пропущенные завершающие теги. Например, следующий код:

<body>

<li>1-й пункт списка

<li>2-й пункт списка

превращается в:

<body>

<ul>

<li>1-й пункт списка</li>

<li>2-й пункт списка</li>

</ul>

• Заключает в кавычки значения атрибутов.

• Анализирует документ и автоматически вставляет элемент <!doctype>.

• Подсвечивает некорректные, не распознанные программой атрибуты HTML 4.0 в документе.

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

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub

Популярные книги автора