Библиотека Интернет Индустрии I2R.ru |
|||
|
Ответы на часто задаваемые вопросы по XHTML и HTMLперевод «HTML and XHTML Frequently Answered Questions»Редактор: Стивен Пэмбертон (Steven Pemberton), W3C/CWI Перевод: 22 июня 2006 г. Другие связанные FAQ:
Комментарии и предложения по содержанию этого документа направляйте на e-mail www-html-editor@w3.org, в теме сообщения укажите «FAQ». По поводу русского перевода обращайтесь по адресу bav.272304@gmail.com. Содержание
Зачем нужен XHTML? Не достаточно ли HTML?HTML — возможно, самый популярный в мире язык разметки документов. С появлением XML было организовано обсуждение, нужна ли новая версия HTML в рамках XML. Участники ответили однозначно «да»: версия HTML, основанная на XML, позволит использовать элементы XHTML в других языках XML, а документы XHTML смогут использовать элементы других языков XML. Кроме того, будет возможным привести в порядок HTML, ликвидировав его самые «неопрятные» элементы и расширив его функциональность, например, улучшенной реализацией форм. В чем преимущества XHTML перед HTML?Если документ составляет простой XHTML 1.0 (без использования других языков разметки), то вы не заметите существенной разницы. Однако со временем доступными становятся все больше и больше инструментов, основанных на XML (таких как XSLT для преобразования документов) и вы рано или поздно заметите преимущества использования XHTML. Например, технология XForms позволит вам редактировать документы XHTML (и любые другие документы XML). Приложения Семантической Сети (Semantic Web) будут способны использовать преимущества XHTML. Если документ содержит нечто большее, чем XHTML 1.0, например, включения языков MathML, SMIL, SVG, то преимущества налицо: вы бы не смогли использовать эти технологии с HTML. Можно ли просто добавить объявление XML в начало существующего документа HTML? Можно ли смешивать код HTML 4.01 и XHTML?Нет. Формат HTML не основан на XML. Чтобы интерпретировать данные как XML, вы должны внести необходимые изменения, чтобы сделать код документа верным кодом XML. Как проще всего преобразовать документы HTML в XHTML?Программа HTML Tidy позволяет получить XHTML из кода HTML. Браузер и веб-редактор Amaya сохраняет HTML документы в формате XHTML. Почему разработчики браузеров так суетятся с XML? Не лучше ли для браузеров работать с HTML?XML вводит более строгие правила обработки документов. Браузеры HTML работают с любыми входными данными, коректными и некоректными, и пытаются их интерпретировать. Схема обработки ошибок очень усложняет разработку программ, особенно если учесть, что предполагается, что реакция всех браузеров на некоректные данные должна быть одинаковой. Кроме того, это означает, что огромное число документов HTML содержат ошибки, но нормально отображаются браузерами, и авторы не подозревают о том, что код HTML некорректен. Вот почему необычайно сложно создать новый пользовательский агент, пока документы, выдаваемые за HTML, часто очень плохи. Зачем мне беспокоиться о верности кода HTML? В моем браузере документ отображается верно.Все браузеры способны обрабатывать верный код HTML. Но если код неверен, браузер вносит исправления; так как разные браузеры по-разному обрабатывают ошибки, это приводит к тому, что документ по-разному выглядит в разных браузерах. Браузеров существует сотни, их число постоянно растет (не только для ПК, но и для КПК, мобильных телефонов, телевизоров, принтеров и даже холодильников), протестировать документ на всех браузерах невозможно. Если ваш документ содержит ошибки и неправильно отображается в конкретном браузере, это ваша вина, но если код HTML корректен, то неверное отображение уже на совести разработчиков программы. Как можно проверить корректность разметки в моем документе?W3C предоставляет для этого валидатор: http://validator.w3.org/. Браузер Amaya сообщает, верен ли код отображаемых документов. Почему вы не всегда используете термин «пользовательский агент» («user agent») вместо «браузер»?В то время как браузеры являются важными пользователями HTML и XHTML, существует много других программ и систем, которые используют (X)HTML документы. Поисковые машины, например, считывают документы, хотя и не относятся к браузерам. Используя термин «пользовательский агент», мы стараемся подчеркнуть разницу. Например, сделав запрос поисковику Google, в результатах поиска вместе со ссылкой можно увидеть текст «веб-страница использует фреймы, но ваш браузер не поддерживает их»; некоторые люди игнорируют такие ссылки. Создатели таких сайтов не представляют себе, что контент требуется не одним лишь браузерам, и что элемент Для чего нужно использовать именные пространства (namespace) в XHTML?Во времена становления HTML различные группы и компании добавляли по своему желанию новые элементы и атрибуты в HTML. Это грозило путаницей с версиями HTML, не являющимися общепринятыми. XML («X» означает «расширенный», «Extensible») позволяет всем использовать элементы из различных языков, но браузер или другой пользовательский агент должен как-то определять, к какому языку относится тот или иной элемент. Для этого и требуются объявления именных пространств (namespace). Почему документы XHTML 1.0 не стоит отправлять как text/html?XHTML имеет формат XML; это означает, что тип данных документа XHTML должен соотноситься с XML ( Какие браузеры принимают тип данных application/xhtml+xml?Известные нам браузеры — все основанные на Mozilla (Mozilla, Netscape 5+, Galeon, Firefox), Opera, Amaya, Camino, Chimera, DocZilla, iCab, Safari, плюс все программное обеспечение для мобильных телефонов, работающих с WAP2. Фактически, любой современный браузер должен принимать тип данных Принимает ли Microsoft Internet Explorer тип application/xhtml+xml?Нет, но есть уловка, которая позволит передавать XHTML1.0 для Internet Explorer в качестве Добавьте в начало документа выделенную ниже строку:
файл
Файл должен содержаться на том же сайте, с которого передается документ. Вы передаете документ как XML, он проходит обработку, в итоге браузер считает, что получен Документ будет работать для браузеров, которые принимают XHTML 1.0 как В CSS есть правила, которые относятся только к HTML. Применяются ли эти правила к XHTML?Нет. Правила CSS, относящиеся только к HTML, применяются только к документам, переданным как Работает ли document.write в XHTML?Нет. Сама суть XML предполагает, что невозможно генерировать разметку скриптами, в то время как парсер еще обрабатывает разметку. Можно добиться того же эффекта, что и document.write, но для добавления и удаления элементов нужно использовать DOM. Почему нельзя передавать докуметы XHTML 1.1 в качестве text/html?XHTML 1.1 представляет собой обычный XML, предназначеный только для обработки в качестве XML. XHTML 1.1 нельзя передавать браузерам HTML. Поэтому документы XHTML 1.1 обязательно должны передаваться с типом данных, относящимся к XML, таким как application/xhtml+xml. Почему из XHTML 1.1 был ликвидирован атрибут target?Атрибут target не ликвидировался из XHTML 1.1. XHTML 1.0 подразделяется на три разные версии: strict, transitional и frameset. Все разновидности обеспечивают такую совместимость с HTML 4.01, которую только позволяет XML. XHTML 1.1 — обновленная версия XHTML 1.0 strict, а атрибута Для чего используется модуляризация XHTML?Модуляризация XHTML (Modularization) предназначена для применения разработчиками языков, основанных на XHTML, но не пользователями языков. Компании и группы часто разрабатывают собственные версии HTML и XHTML, которые не совместимы между собой. Модуляризация разделяет XHTML на модули, которые могут по отдельности использоваться при определении нового языка; так, например, любая версия языка, использующая таблицы, будет работать с единым для XHTML определением таблиц. Кроме того, модуляризация разъясняет, в каких случаях можно добавлять новые элементы, а в каких — нет. Зачем нужен XHTML2? Не достаточно ли XHTML 1?HTML и XHTML выполнили возложенные на них задачи, но в этих языках есть множество элементов, которые нужно улучшить. В XHTML2 особое внимание уделено улучшению возможностей структурирования, удалению элементов, которые уже есть в XML, удобству использования (usability), доступности (accessibility), интернационализации, аппаратной независимости, улучшенному механизму форм, устранению необходимости в использовании скриптования. Будет ли в XHTML2 элемент <img> заменен элементом <object>?Нет. Элемент Дизайн
В XHTML2 изображения приравниваются к составляющим контента, это осуществляется присваиванием войства
Преимущество этого в том, что в случае, если изображение недоступно (к примеру, из-за ошибок в сети) или не может быть обработано браузером, документ остается доступным. Если требуется использовать более одного изображения, код будет выглядеть так:
конечно, лучше использовать технологию content negotiation, если ее поддерживает ваш сервер:
В таком случае, сервер «договаривается» с браузером, какой формат графики передать программе. Если доступных изображений нет, будет использовано содержимое элемента. Это позволяет добавить изображения отдельного формата позже, не меняя код страниц. Почему XHTML2 не использует XLink?XLink и XHTML имеют различные требования для использования ссылок, и эти требования не совместимы. Почему в XHTML2 нет совместимости со старыми версиями XHTML?Совместимость есть, но она реализована иначе, чем прежде. Ранние версии HTML были языками для конкретной области применения (не соотносящимися с каким-то общим инструментом разметки), поэтому было важно поддерживать совместимость, так чтобы старые браузеры корректно воспринимали документы. Например, по этой причине элемент Однако благодаря XML и таблицам стилей, такой строгий механизм совместимости больше не нужен, так как браузер XML (на момент написания этого текста 95% браузеров принимают XML) может обрабатывать новый язык без обновления. Многие возможности XHTML 2 уже доступны в современных браузерах, не создававшихся специально для XHTML2. Многое работает, но не все: когда формы и таблицы были добавлены в HTML, людям пришлось подождать появления новых браузеров; точно так же особые элементы XHTML 2, такие как XForms и XML Events, требуют от программного обеспечения понимания их функциональности. Почему xml:space установлен как 'preserve' для всех элементов XHTML2? Я не хочу видеть в выводе браузера дополнительные пробелы.Атрибут Именно поэтому для всех элементов XHTML установлено Статьи по теме:
Автор: Alexey Beshenov |
|
2000-2008 г. Все авторские права соблюдены. |
|