Расширенный язык разметки документов XML

Автор работы: Пользователь скрыл имя, 17 Октября 2012 в 01:14, курсовая работа

Описание работы

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

Содержание работы

ВВЕДЕНИЕ 3
ГЛАВА1. СУЩНОСТЬ XML 5
ГЛАВА2. ВАЛИДАЦИЯ XHTML ДОКУМЕНТОВ…………………..…....….9
2.1 Строго конформные документы…………………………………....…..12
2.2 Использование XML с другими пространствами имен…….……....…13
2.3 Конформность пользовательских агентов…………………..……..…..14
ГЛАВА3. БУДУЩЕЕ HTML ……………...……………………..…………….21
ЗАКЛЮЧЕНИЕ………………………………………………………...….…….31
СПИСОК ЛИТЕРАТУРЫ…………..…………………………………………...32

Файлы: 1 файл

инфор.12.doc

— 134.50 Кб (Скачать файл)

<! DOCTYPE html

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

"DTD/xhtml1-strict. dtd">

<! DOCTYPE html

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

"DTD/xhtml1-transitional. dtd">

<! DOCTYPE html

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

"DTD/xhtml1-frameset. dtd">

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

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

<! DOCTYPE html

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

"DTD/xhtml1-strict. dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml: lang="ru" lang="ru">

<head>

<title>Виртуальная библиотека</title>

</head>

<body>

<p>Переехала  по адресу <a href="http://vlib.org/">vlib.org</a>. </p>

</body>

</html>

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

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

 

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

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

<html xmlns="http://www.w3.org/1999/xhtml" xml: lang="ru" lang="ru">

<head>

<title>Пример Math</title>

</head>

<body>

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

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

<apply> <log/>

<logbase>

<cn> 3 </cn>

</logbase>

<ci> x </ci>

</apply>

</math>

</body>

</html>

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

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

<! - сначала  пространство имен по умолчанию: "books" - ->

<book xmlns='urn: loc.gov: books'

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

<title>На десятку  дешевле</title>

<isbn: number>1568491379</isbn: number>

<notes>

<! - для комментария по умолчанию устанавливается пространство имен HTML - ->

<p xmlns='http://www.w3.org/1999/xhtml'>

Можно также  найти <a href="http://www.w3.org/">в сети</a>.

</p>

</notes>

</book>

 

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-файл состоит из трех разделов - тега <! DOCTYPE>, заголовка (<HEAD>) и тела документа (<BODY>). Последние два элемента перекочевали из HTML и ничем не отличаются от своего родоначальника (пример 1).

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

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional. dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <! - Этот раздел предназначен для заголовка страницы и технической информации. - -> </head> <body> <! - А здесь надо размещать все, что хочется увидеть на странице. - -> </body> </html>

Тег <! DOCTYPE> сообщает браузеру о типе текущего документа  и как его интерпретировать. Различают  несколько версий и типов 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. Документ со строгой  разметкой

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Strict // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict. dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>... </head> <body>... </body> </html>

XHTML 1.0 Transitional

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

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

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional. dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>... </head> <body>... </body> </html>

XHTML 1.0 Frameset

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

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

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Frameset // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset. dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>... </head> <frameset>... </frameset> </html>

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

XHTML 1.1

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

Пример 5. XHTML 1.1

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.1 // EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11. dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>... </head> <body>... </body> </html>

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

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

Замечание:

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

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

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

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Strict // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict. dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Новый документ</title> </head> <body> </body> </html>

 

ГЛАВА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;

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

Информация о работе Расширенный язык разметки документов XML