Чтение онлайн

на главную

Жанры

HTML, XHTML и CSS на 100%

Квинт Игорь

Шрифт:

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

3. Третий тип DTD определяет работу с фреймами, в остальном он соответствует переходным XHTML DTD.

В настоящее время актуальна версия 1.0 языка XHTML, но уже на подходе версия 1.1.

В основном создание документа XHTML 1.0

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

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

Чтобы XHTML-документ полностью отвечал требованиям строгих правил XHTML DTD, ему нужно указать, какой набор XML DTD был использован при его создании, версию применяемого языка XML, а также пространство имен документа. Вся эта информация помещается в начало документа в виде объявлений. Рассмотрим эти три компонента по порядку.

В настоящее время существует две версии языка XML: 1.0 и 1.1. Их отличия в основном сводятся к более строгим требованиям к используемым в документах кодировкам символов, предъявляемым языком XML 1.1, что расширяет сферу применения соответствующих документов, например на мейнфреймах. Более широко применяется версия XML 1.0, поэтому использовать будем именно ее. Для объявления того, что вы используете в данном XHTML-документе язык XML версии 1.0, следует поместить в первой строке документа следующую строку:

<?xml version="1.0" encoding="UTF-8" ?>

В ней браузеру сообщается, что вы используете XML версии 1.0 и представление символов в кодировке Unicode с разрядностью 8.

Теперь объявим набор DTD языка разметки XHTML:

<!DOCTYPE html PUBLIC « //W3C//DTD XHTML 1.0 Strict//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd»>

В вышеприведенной конструкции объявлено, что в данном документе корневым элементом является html, а для его разработки использован набор XHTML DTD с публичным именем «//W3C//DTD XHTML 1.0 Strict//EN». Если браузер сумеет найти эти DTD по публичному имени, он будет использовать их, иначе он может применить набор XML DTD, хранимый в файле, который указан в URL вслед за публичным именем. В данном случае это документ по адресуСлово «strict» в названии файла означает «строгий», так что в данном документе использован строгий тип XHTML DTD. Указанный в адресе файл xhtml1-strict.dtd хранит все правила DTD, написанные на языке XML. Описание языка XML выходит за рамки этой книги, ограничимся только замечанием, что для всех разработчиков, которые хотят работать с XHTML на профессиональном уровне, знание языка XML является обязательным.

Если же вы намерены использовать переходной тип XHTML-документов, добавьте такое объявление:

<!DOCTYPE html PUBLIC «//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>

Для фреймовой версии XHTML DTD объявление таково:

<!DOCTYPE html PUBLIC

«//W3C//DTD XHTML 1.0 Frameset//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd»>

Итак, мы объявили версию XML и набор XHTML DTD для создаваемого XHTML-документа. Теперь зададимся вопросом: а что если мы используем переходные правила XHTML DTD, но нам требуется включить в свой документ некий фрагмент, содержащий разметку по правилам специально определенного набора DTD, например для воспроизведения нотной записи? Для этих целей в документах XHTML используется так называемое пространство имен.

Пространство имен – это список имен всех тегов и атрибутов, которые применяются в XHTML-документе, подчиняющемся определенному набору правил XML DTD. С этой целью в правилах XML DTD всегда задается пространство имен, уникальное для каждого конкретного набора DTD. Соответственно, в XHTML DTD также определено стандартное пространство имен, которое должно быть хотя бы раз явно объявлено в документе XHTML. Обычно это делается с помощью атрибута xmlns тега <html>:

<html xmlns="http://www.w3.org/TR/xhtml1">

Здесь задано пространство имен, хранимое в документе по адресугде находится официальная спецификация языка XHTML. Для использования в XHTML-документах нескольких DTD предусмотрена возможность прямого указания пространства имен, к которому принадлежит данный тег или атрибут разметки. Это делается с помощью атрибута xmlns, который можно поместить в открывающий тег любого элемента в документе, например, так:

<div xmlns="http://www.w3.org/1998/Math/MathML>у4/z</div">

В этом случае XHTML-совместимый браузер, обрабатывая документ, получит указание, что при воспроизведении содержимого данного тега <div> следует воспользоваться набором математических правил DTD, взяв их по указанному адресу http:// www.w3.org/1998/Math/MathML. Здесь хранится спецификация языка математической разметки MathML (Mathematical Markup Language). При этом запись y4/z будет воспроизведена браузером как математическое выражение деления двух переменных y4 и z, а не как содержимое тега <div>, определенного в общих XHTML DTD.

Как видите, ссылки на пространства имен достаточно объемны. Чтобы сократить их размер и упростить себе работу по составлению документа, можно использовать так называемые метки, вставляя их в определения пространства имен в начале документа:

<html xmlns="http://www.w3.org/TR/xhtml1" xmlns:math="http://www.w3.org/1998/Math/MathML">

После этого можно будет обращаться к данному пространству имен во всех тегах документа так:

<math:div>y4/z</div>

Здесь приведена сокращенная версия тега <div> из предыдущего примера.

Итак, сведем все воедино, запишем весь созданный XHTML-документ целиком (листинг 13.1).

Листинг 13.1. Образец XHTML-документа

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1 transitional.dtd">

Поделиться:
Популярные книги

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Провинциал. Книга 7

Лопарев Игорь Викторович
7. Провинциал
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Провинциал. Книга 7

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Долг

Кораблев Родион
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Долг

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Путь (2 книга - 6 книга)

Игнатов Михаил Павлович
Путь
Фантастика:
фэнтези
6.40
рейтинг книги
Путь (2 книга - 6 книга)

Гром над Империей. Часть 1

Машуков Тимур
5. Гром над миром
Фантастика:
фэнтези
5.20
рейтинг книги
Гром над Империей. Часть 1

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род