Игорь Квинт - HTML, XHTML и CSS на 100%
Включение сценариев и специальных символов в документы 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="Логотип фирмы Бублики & Баранки" >
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>
• Изменяет некорректный порядок завершающих тегов. Например, следующий код:
Этот текст должен быть <b>Полужирным<i> Полужирным курсивом</b> Полужирным</i> Нормальным
преобразуется в:
Этот текст должен быть <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-документов и значительно упростит работу по переходу на новые стандарты языка.
Резюме
Итак, в этой главе мы обсудили возможности языка XHTML, идущего на смену HTML 4.01, получили представление о концепции W3C, лежащей в основе развития языка гипертекстовой разметки, – предложении использовать метаязык XML. Вы узнали об основных отличиях XHTML-документов от HTML-документов: это требования к более точному и корректному написанию элементов и тегов, обязательное наличие объявлений версии языка XML, набора правил XHTML DTD и пространства имен. Наконец, были описаны возможности программы Tidy по очистке документов на языке HTML 4.0 с целью адаптации к языку XHTML.
Знание этого позволит вам настроиться на перспективу развития средств, предлагаемых для разработки сайтов. Язык XHTML – это еще одна попытка сделать ресурсы Сети доступными как можно большему количеству пользователей. Все разработчики должны следовать требованиям языка XHTML, что станет залогом долгого и успешного существования их сайтов.