48753 (Расширенный язык разметки гипертекста (XHTML)), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Расширенный язык разметки гипертекста (XHTML)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48753"

Текст 2 страницы из документа "48753"

PUBLIC "- // W3C // DTD XHTML 1.0 Strict // EN"

"DTD/xhtml1-strict. dtd">

PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN"

"DTD/xhtml1-transitional. dtd">

PUBLIC "- // W3C // DTD XHTML 1.0 Frameset // EN"

"DTD/xhtml1-frameset. dtd">

вот пример минимального документа XHTML.

PUBLIC "- // W3C // DTD XHTML 1.0 Strict // EN"

"DTD/xhtml1-strict. dtd">

Виртуальная библиотека

Переехала по адресу vlib.org.

Обратите внимание, что в данном примере включено объявление XML. Такое объявление XML не является обязательным для всех документов XML. Авторам документов XHTML настоятельно рекомендуется использовать объявления XML во всех своих документах. Такое объявление обязательно, если кодировка символов документа отличается от используемых по умолчанию UTF-8 или UTF-16.

2.2 Использование XHTML с другими пространствами имен

Пространство имен XHTML может использоваться с другими пространствами XML в соответствии с [XMLNAMES] , хотя такие документы не являются строго конформными XHTML 1.0 в соответствии с приведенным выше определением. В будущих работах W3C будут определены способы указания конформности документов, в которых используется несколько пространств имен.

В следующем примере показано, как XHTML 1.0 может использоваться с рекомендацией MathML:

Пример Math

Далее приводится разметка MathML:

3

x

В следующем примере показан способ внедрения разметки XHTML 1.0 в другое пространство имен XML:

xmlns: isbn='urn: ISBN: 0-395-36341-6' xml: lang="ru" lang="ru">

На десятку дешевле

1568491379

Можно также найти в сети.

2.3 Конформность пользовательских агентов

Конформный пользовательский агент должен соответствовать всем следующим критериям:

Для соответствия рекомендации XML 1.0 [XML] пользовательский агент должен разбирать документ XHTML и оценивать его правильность. Если пользовательский агент выполняет проверку на правильность, он должен также проверять документы на соответствие с DTD, на которые они ссылаются, в соответствии с [XML] .

Если пользовательский агент поддерживает возможности, определенные в настоящей спецификации или обязательные согласно нормативной ссылке, он должен это делать в соответствии со способами, описанными в определении этой возможности.

Если пользовательский агент обрабатывает документ XHTML как общий документ XML, он должен распознавать только атрибуты типа ID (например, атрибут id большинства элементов XHTML) в качестве идентификаторов фрагментов.

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

Если пользовательский агент встречает атрибут, который он не распознает, он должен проигнорировать всю спецификацию атрибута (т.е. атрибут и его значение).

Если пользовательский агент встречает значение атрибута, которое он не распознает, он должен использовать значение атрибута по умолчанию.

Если пользовательский агент встречает ссылку на объект (отличный от заранее определенных объектов), для которой он не обрабатывал объявления (что могло произойти, если объявление расположено во внешнем подмножестве, которое пользовательский агент не прочел), ссылка на объект должна генерироваться в виде символов (начиная с амперсанда и заканчивая точкой с запятой), составляющий ее.

Во время генерации содержимого пользовательские агенты, если они встречают распознаваемые, но негенерируемые символы или ссылки на символьные объекты, должны представлять документ таким образом, чтобы пользователю было понятно, что корректная генерация была невозможна.

Следующие символы определены в [XML] как пробельные:

пробел ( )

табуляция ( )

возврат каретки ( )

перевод строки ( )

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

перевод страницы ( )

пробел нулевой ширины (​)

В элементах, в которых для атрибута 'xml: space' установлено значение 'preserve', пользовательский агент должен сохранять все пробельные символы (за исключением начальных и конечных пробельных символов, которые должны удаляться). В противном случае пробелы должны обрабатываться по следующим правилам:

Все пробельные символы, окружающие элементы блока, должны удаляться.

Комментарии удаляются полностью и не влияют на обработку пробелов. Один пробельный символ в начале и в конце комментария обрабатывается как два пробела.

Начальные и конечные пробельные символы внутри элемента блока должны быть удалены.

Символы перевода строки в элементе блока должны быть преобразованы в пробел (если для атрибута 'xml: space' не установлено значение 'preserve').

Последовательность пробельных символов должна сокращаться до одного пробела (если для атрибута 'xml: space' не установлено значение 'preserve').

Относительно воспроизведения, пользовательский агент должен генерировать содержимое подходящим для языка, на котором оно написано, способом. В языках, основным написанием которых является латиница, символ пробела набора ASCII обычно используется для кодирования грамматических границ слов и типографских пробелов; в языках, основное написание которых связано с алфавитом нагари (например, в санскрите, тайском и т.д.), грамматические границы между словами могут кодироваться с помощью символа пробела набора ZW, но в генерируемом выводе они обычно не представляются типографскими пробелами; в языках с арабским написанием типографские пробелы могут кодироваться с помощью символа пробела, а также с помощью символа пробела набора ZW для отделения 'внутренних' грамматических границ (то, что для русского человека выглядит в арабском языке, как одно слово, часто может быть несколькими словами, например, 'kitAbuhum' = 'kitAbu-hum' = 'книга их' == их книга); а в языках с китайским написанием традиционно не кодируются ни пробелы между словами, ни типографские пробелы.

Структура XHTML-документа.

Любой XHTML-файл состоит из трех разделов - тега , заголовка () и тела документа (). Последние два элемента перекочевали из HTML и ничем не отличаются от своего родоначальника (пример 1).

Пример 1. Простейший XHTML документ.

Тег сообщает браузеру о типе текущего документа и как его интерпретировать. Различают несколько версий и типов XHTML-документов, они приведены в табл.1.

Табл.1. Версии XHTML и допустимые типы документа

Версия XHTML

Тип документа

Описание

XHTML 1.0

Strict

"Строгое" описание документа, включающее все правила.

XHTML 1.0

Transitional

"Переходный" тип, более лояльно относящийся к коду документа.

XHTML 1.0

Frameset

Устанавливается при использовании на странице фреймов.

XHTML 1.1

XHTML 1.1

Эта версия основана на XHTML 1.0 Strict, но понимается браузерами как XML-приложение. В первую очередь предназначено для работы с различными медиа-данными.

XHTML 1.0 Strict

Используется в том случае, если в документе идет четкое разделение оформления и содержания. При этом код веб-страницы содержит только теги разметки, а сам вид элементов задается через стили (пример 2).

Пример 2. Документ со строгой разметкой

... ...

XHTML 1.0 Transitional

Обычно применяется, когда правило разделения оформления и содержания выполняется не в полной мере. В этом случае допускается в коде документа использовать теги физического проектирования (например, тег ) и лишь частично стили. В примере 3 показан вид тега для подобных документов.

Пример 2.3 "Переходный" документ

... ...

XHTML 1.0 Frameset

Применяется, когда окно браузера делится на два или более фрейма (пример 4).

Пример 4. Документ с фреймами

... ...

Тег хотя и обязателен, но не является непосредственной частью XHTML-документа, поэтому для него закрывающего тега не требуется.

XHTML 1.1

Является старшей версией "строгого" XHTML (пример 5).

Пример 5. XHTML 1.1

... ...

Шаблон документа XHTML Strict

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

Замечание:

Хотя параметр xmlns в теге и считается обязательным, но валидатор не выдает ошибки, если xmlns отсутствует.

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

Пример 6. Шаблон XHTML-документа

Новый документ


3. Будущее HTML

Задачей XHTML 1.0 был переход HTML на свойственный XML словарь. Эта спецификация ввела ограничения синтаксиса XML в HTML: регистрозависимость, принудительное заключение в двойные кавычки значений атрибутов и симметричные тэги. Таким образом XHTML 2.0 пытается решить проблемы HTML как языка для разметки web-страниц.

В своей презентации на конференции XTech 2005 в Амстердаме, сотрудник W3C Стивен Пембертон (Steven Pemberton) выразил цели проекта XHTML 2.0:

Использовать XML везде, где это возможно: Если функция языка уже существует в XML, она не дублируется и не проектируется повторно;

Сначала структура, затем представление: Благодаря таблицам стилей CSS больше нет необходимости в явно презентационных тэгах в HTML;

Сделать HTML проще в написании: Устранить некоторые бесполезные идиосинкразии HTML;

Больше доступности, аппаратной независимости: Сделать столько предположений, сколько возможно, о способе, которым документ будет прочитан;

Улучшенная интернационализация;

Улучшенные формы: Необходимые давно назревшие усовершенствования!

Снизить необходимость использования сценариев: Включить типичные применения сценариев в синтаксис самого HTML;

Улучшенная семантика: Упростить интеграцию HTML с семантическими web-приложениями.

Разделы и параграфы.

Я испытываю некоторое удивление по поводу текстовых структурных элементов этого языка. Зачем нужны шесть уровней заголовков, и в какой ситуации можно было бы применить их все? Итак, почему бы заголовкам каким-либо образом не включать разделы, которые они озаглавливают? У XHTML 2.0 есть ответ на этот вопрос благодаря новым элементам и (заголовок):

Level 1 heading

...

Level 1 heading

...

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

После этого для заголовков можно использовать стили CSS. Хотя ожидается, что реализация XHTML 2.0 в браузерах по умолчанию будет включать кое-что из описанного здесь как предварительно заданные параметры, но если написать их явным образом, они могут выглядеть примерно так (если абстрагироваться от спецификации XHTML 2.0):

h {font-family: sans-serif; font-weight: bold; font-size: 200%}

section h {font-size: 150%} /* Заголовок второго уровня */

section section h {font-size: 120%} /* Заголовок третьего уровня */

Еще одно логическое несоответствие в XHTML 1.0 заключается в том, что необходимо закрыть абзац, чтобы использовать список. По сути, абзацы следует закрывать для использования любых блочных элементов (блоков цитат, преформатированных разделов, таблиц и т.д.). Поступать так не всегда логично, если материал может вполне правомерно использоваться как часть одного абзаца. XHTML 2.0 устраняет это ограничение. Единственное, чего нельзя делать - это помещать один абзац в другой.

Изображения.

Тэг в HTML на самом деле имеет довольно ограниченную гибкость. Как отмечает Пембертон, он не предоставляет никакого механизма нейтрализации ошибки, за исключением альтернативного текста alt (что препятствует утверждению новых форматов изображения), текст в тэгах alt нельзя разметить, а атрибут longdesc никогда не войдет в моду из-за своей неуклюжести. (longdesc используется для того, чтобы указать URI более полного описания изображения, чем то, что приводится в атрибуте alt)

В XHTML 2.0 появляется элегантное решение этой проблемы: возможность любому элементу иметь атрибут src. Браузер впоследствии заменяет содержимое элемента содержимым, которое находится по указанному URI. В самом простом случае это изображение. Но нигде не сказано, что это не может быть SVG, XHTML или любой другой тип содержимого, которое способен интерпретировать браузер.

Тэг как таковой остается, но теперь он может включать содержимое. Новое действие атрибута src означает, что текст alt теперь представляет собой содержимое элемента, как в этом примере разметки:

H2O

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

XHTML 2.0 предлагает более общую форму включения изображения в элемент , который можно применять для включения любого вида объектов - от изображений и клипов до исполняемого кода наподобие технологий Flash или Java. Это дает возможность использовать изящную технику для обработки постепенного уменьшения возможностей в зависимости от свойств браузера; можно внедрять несколько элементов один в другой. Например, flash-ролик можно поместить на самый внешний уровень, видеофайл AVI внутрь flash-ролика, фотоизображение внутрь avi-файла и, наконец, фрагмент текста в центре группы вложенных объектов. Смотрите Модуль объектов XHTML, где приведена дополнительная информация по этой теме.

Расширяемая семантика.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4144
Авторов
на СтудИзбе
666
Средний доход
с одного платного файла
Обучение Подробнее