Смекни!
smekni.com

Расширенный язык разметки гипертекста (XHTML) (стр. 4 из 5)

Идя еще дальше этих особых методов, XHTML 2.0 вводит метод для описания метаданных типа RDF в документе. Выражения RDF составляются из троек (субъект, свойство, объект). Например, может существовать тройка: "мой автомобиль", " изображен", "красным цветом".

Атрибут about действует как rdf: about, определяя subject тройки RDF - он может быть опущен, в этом случае сам документ будет субъектом. Атрибут property - это URI, на который ссылается свойство (он может использовать сокращенное наименование, предоставляя соответствующее объявление префикса; подробности можно найти в XHTML 2.0 раздел Модуль атрибутов метаинформации (Metainformation Attributes Module), см. Ресурсы).

И, наконец, третье значение в тройке является содержимым элемента, к которому применяются атрибуты about и property, а если эти атрибуты пусты, то значением атрибута content. Вот пример применения, которое близко к существующему использованию тэга HTML <meta> tag, определяет создателя в заголовке страницы:

<html xmlns="http://www.w3.org/2002/06/xhtml2/" xml: lang="en">

<head>

<title>Edd Dumbill's Home Page</title>

<meta property="dc: creator">Edd Dumbill</meta>

</head>

...

</html>

Теперь давайте рассмотрим еще один пример, который показывает, как использовать метаданные в теле реального документа:

<h property="title">Welcome to my home page</h>

Заголовок обозначается как название документа XHTML 2.0 и определяется как строковый заголовок. Наконец, нам не придется больше дважды писать заголовок в каждом документе!

Благодаря простой технологии преобразования GRDDL (Gleaning Resource Descriptions from Dialects of Languages (Очистка описаний ресурса от диалектов различных языков) - см. раздел Ресурсы), мы получили единый стандарт для извлечения RDF-метаданных из документов XHTML 2.0.

XHTML 2.0 включает и много других изменений, часть из которых связана с параллельной разработкой спецификации XForms. В этой статье я не смогу охватить их все. Тем не менее, это значительный скачок в развитии по сравнению с XHTML 1.0.

Еще несколько новых особенностей XHTML 2.0.

Вам не надоело писать <pre><code>... </code></pre>? Теперь можно использовать новый элемент <blockcode>.

Для обеспечения доступности XHTML 2.0 теперь предлагает атрибут role, который можно определить в теле элемента. Например, скудные элементы навигации на странице могут иметь атрибут role="navigation", чтобы механизм речевого воспроизведения текста мог интеллектуально их обработать.

Браузеры в настоящее время поддерживают некоторое перемещение фокуса при помощи клавиши Tab, но это может быть произвольным. Новые атрибуты nextfocus и prevfocus позволяют управлять порядком, в котором фокус будет перемещаться между элементами окна; это может быть важной функцией при создании пользовательских интерфейсов с навигацией.

Подготовка к XHTML 2.0.

Несмотря на масштаб изменений в будущем, в XHTML 2.0 все еще можно узнать HTML. Хотя в нем есть новые элементы, многое в XHTML 2.0 работает, как раньше. Элементы <h1> - <h6> сохраняются в качестве меры обеспечения совместимости, как и элемент <img>.

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

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

Серьезно подумайте об использовании CSS, постарайтесь удалить презентационную разметку;

Подумайте о том, как можно разместить на ваших страницах микроформаты. Микроформаты позволят представить метаданные в HTML-коде с использованием существующих стандартов.

Если вы до сих пор не сделали этого, научитесь работать с XHTML 1.0. Сегодня возможно управление страницами XHTML 1.0 как обычным кодом HTML, если они созданы в соответствии с рекомендациями по совместимости XHTML 1.0 HTML, хотя при этом могут возникнуть сложности. XHTML 2.0 так управлять нельзя.

Поэкспериментируйте с браузером, который предлагает поддержку XHTML 2.0 наряду с основными средствами SVG, XForms, и SMIL 2.0;

Если вы создаете новые клиентские системы на базе XHTML-подобных функций, серьезно подумайте об использовании XHTML 2.0 в качестве исходной точки.

Наконец, обратите внимание на то, что XHTML 2.0 - это все еще не окончательная спецификация. На момент написания нашей статьи она все еще находится в W3C в стадии рабочего черновика (Working Draft), что означает, что ей еще нужно пройти некоторый путь, прежде чем она достигнет стадии Recommendation (Рекомендуемая спецификация). Важно, что может быть еще и стадия Candidate Recommendation (кандидат в рекомедуемые спецификации), которая используется для накопления опыта реализации.

Вероятно, XHTML 2.0 не станет рекомендуемой спецификацией W3C (Recommendation) до 2007 года, в соответствии с рабочим планом рабочей группы W3C по HTML. Это означает, что 2006 год станет годом получения важного опыта размещения.

Сравнение W3C XHTML 2.0 с WHATWG HTML 5.

В этой курсовой работе я рассказала о точках излома спецификаций HTML 5 от WHATWG и XHTML 2.0 от W3C. Эти две инициативы в корне различаются: Организованная пользователями WHATWG стремится к поэтапному усовершенствованию HTML 4 и XHTML 1.0, тогда как финансируемая консорциумом спецификация XHTML 2.0 представляет собой комплексную реорганизацию языка HTML.

Хотя эти две спецификации очень разные, они не являются несовместимыми. Некоторые из наиболее понятных разработок спецификации WHATWG уже получили реализацию в браузерах, а часть разработок WHATWG фактически представляет собой расширения HTML. Самые значительные из них, например, XMLHttpRequest, найдут свое выражение в спецификациях группы W3C Rich Client Activity. WHATWG также действует, как полезный катализатор в мире web-стандартов.

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

Как и прошлое, будущее HTML будет разным - некоторые могут назвать его беспорядочным - но я думаю, что XHTML 2.0 в конце концов получит широкое распространение и применение. Если бы это был единственный словарь XML в Web, возможно, возникли бы некоторые вопросы, но, поскольку браузеры готовы работать с SVG, XForms и другими технологиями, XHTML 2.0 начинает выглядеть точно так же, как любой из этих основанных на XML словарей.

Оценка XHTML.

Существует несколько простых правил для XML документа (они будут перечислены ниже). До тех пор, пока все теги написаны согласно этим правилам, XML без разницы, что эти теги обозначают. XML обобщенный язык разметки, так что вы можете его использовать как вам угодно.

В противоположность XML, HTML гораздо более строго определенный язык разметки с ограниченным набором тегов. В любом случае, общий характер XML позволяет рассматривать HTML-документы как XML-документы с набором тегов для отображения в веб-браузерах. Однако, старые стандарты HTML не до конца совместимы с XML. Например, в HTML необязательно закрывать тег <P>, то есть тег </P> можно опускать. Веб-браузеру на это плевать, так как он запрограммирован, но XML-парсер выдаст ошибку о том, что ваш HTML-документ не является "правильно сформированным" (well-formed).

Чтобы устранить разрыв между этими двумя языками разметки и был разработан XHTML. По существу это обычный HTML, в который добавили синтаксические правила XML для создания well-formed документов. Так что веб-страницы станут XML-совместимыми, а веб-разработчики познакомятся с синтаксисом XML.

На практике, в HTML надо добавить четыре правила, чтобы получился XHTML:

Все теги должны быть записаны в нижнем регистре, то есть нельзя писать <BODY>, а надо писать <body>

Все теги должны быть закрыты 2a. В случае если элемент не имеет закрывающего тега (например, <IMG> или <BR>), надо добавлять слэш в конце тега <img /> и <br />

Вложенность тегов должна быть корректной. Например, нельзя писать <B><P>текст</B></P>, а надо писать <p><b>текст</b></p>

Все атрибуты должны быть заключены в кавычки. Например, нельзя писать <P ALIGN=center>, а надо писать <p align="center">.

Хорошая новость в том, что у браузеров практически нет проблем с XHTML. Вообще говоря, правила 1, 2 и 4 уже есть в HTML, но не являются обязательными, тогда как правило 3 является обязательным, хотя браузеры в большинстве случаев игнорируют ошибки вложенности. Единственное действительно новое правило - это правило 2а. Однако, это правило приводит к проблемам со старыми браузерами только в том случае, когда вы записываете слэш без пробелов, вот так <br/>. Браузер думает, что это тег br/, а такого он знать не знает, так что никак на него не отреагирует. Если вставлять пробел, то проблема будет решена. Если вы напишите <br />, то браузер увидит тег br с неизвестным атрибутом /. Тег br будет отработан корректно, а неизвестный атрибут / тихо проигнорирован.

Плохая новость в том, что многим придется изменить свои привычки кодирования. Лично мне не нравится правило 1. Во-первых, я не могу понять, почему XML теги могут быть только в нижнем регистре, во вторых, я всегда пишу теги в верхнем регистре, потому что тогда они лучше выделяются в тексте. Почему я должен отказаться от этого, если это удобно? В любом случае, я не изменю своих привычек без веской на то причины.