Список разделов



Поиск
введите слово для поиска
расширенный поиск




Календарь
<Март 2017>
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031  
ГлавнаяВходРегистрацияПоследние статьиПоискКонтакты
   

Оценка XHTML

 

Эту статью в 2000 году написал небезызвестный веб-разработчик Петер-Пауль Кох (Peter-Paul Koch), который поддерживает один из лучших ресурсов по JavaScript http://www.xs4all.nl/~ppk/js. Его взгляды на XHTML во многом совпадают с моими личными взглядами на этот язык разметки. По прошествии двух лет можно сказать, что PPK был совершенно прав, тем интереснее будет читать...

 

Быть веб-разработчиком нелегко. Мало того, что вам надо каждый день обходить ловушки и западни популярных браузеров, так еще надо хотя бы вполглаза следить за технологиями, которые могут повлиять (или не повлиять), на вашу работу. Пока вы совершенствуете свое мастерство в работе с таблицами стилей и DHTML, на новые технологии не остается времени. Какие из них важны в настоящий момент? Какие можно пока проигнорировать?

В этой статье я выражаю свой взгляд на язык, который W3C разработало под видом улучшения HTML: XHTML. Согласитесь вы со мной или нет, в любом случае статья заставит вас задуматься и поможет принять решение.

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

Что же такое XHTML?

XHTML — это HTML, записанный в соответствии с синтаксическими правилами XML. Таким образом, для понимания XHTML мы должны понять XML. О нем уже написано много статей, так что ограничимся кратким описанием:

XML — это обобщенный язык разметки. В отличие от HTML, XML позволяет создавать собственные теги и таким образом формировать собственную структуру документа. Вам нужен тег <color-of-hat>? Добавьте его в ваш документ, убедитесь что программа знает, что обозначает этот тег, и все готово.

Существует несколько простых правил для 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:

  1. Все теги должны быть записаны в нижнем регистре, то есть нельзя писать <BODY>, а надо писать <body>
  2. Все теги должны быть закрыты
        2a. В случае, если элемент не имеет закрывающего тега (например, <IMG> или <BR>), надо добавлять слэш в конце тега <img /> и <br />
  3. Вложенность тегов должна быть корректной. Например, нельзя писать <B><P>текст</B></P>, а надо писать <p><b>текст</b></p>
  4. Все атрибуты должны быть заключены в кавычки. Например, нельзя писать <P ALIGN=center>, а надо писать <p align="center">.

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

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

Зачем использовать XHTML?

Итак, зачем использовать XHTML вместо старого доброго HTML? Консорциум W3C выделяет следующие причины:

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

"Постоянно появляются новые альтернативные способы доступа в интернет. […] XHTML разрабатывался с учетом общей совместимости пользовательских браузеров (user agents). Так чтобы новые пользовательские браузеры, сервера и прокси могли достичь наилучшей трансформации контента. В конечном счете, можно будет разработать XHTML-конформный контент, который будет доступен из любого XHTML-конформного пользовательского браузера"

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

X это из своего списка

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

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

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

У примеру, Эдди Конечный-Пользователь заходит на свой любимый сайт новым, требующим XHTML, только что установленным браузером "Ультра-Бразуер X7" и видит только множество сообщений об ошибках, касающихся валидности XHTML-кода. Что он подумает: "Проклятые веб-разработчики! Вы должны были использовать XHTML!" или "Хренов браузер с кучей багов!"?

Так что, если новый браузер выйдет, разработчики все равно позаботятся о поддержке старого доброго HTML. Новые браузеры на каких-то новых платформах возможно и будут требовать XHTML (хотя я так не думаю), но Netscape и Explorer никогда, потому что они должны быть консервативными в выборе языка.

Запас прочности

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

А что с новыми браузерами? Что можно сказать о новых областях Интернет, таких как WAP? Как насчет изучения XML используя XHTML? Читайте дальше…

Просто скажите нет

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

Конечно, XHTML может стать стандартом для новых областей Интернет, как WML стал стандартным языком для WAP. Это одна из причин, по которой W3C разрабатывал XHTML. Но, откровенно говоря, я в это не верю. Новые области Интернет требуют действительно новых языков, потому что они отличаются от WWW, тогда как XHTML хорошо подходит только для традиционных WWW-страниц.

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

В заключении, повторю фразу W3C:

"В конечном счете, можно будет разработать XHTML-конформный контент, который будет доступен из любого XHTML-конформного пользовательского агента"

Это не кажется вам знакомым? Разве HTML разрабатывался не для всех типов пользовательских агентов? Мы все знаем, что случилось с этим планом…

Итак, если HTML останется, зачем переходить на более сложный язык, который изменит ваши привычки кодирования, но ничего не даст? Я не вижу ни одной причины начать использовать XHTML. Я с наслажденьем продолжу писать теги в верхнем регистре и буду пропускать иногда теги </P>, если почувствую, что все будет хорошо и без них.

Как и все спецификации W3C, XHTML — это интересная теоретическая конструкция, которая может развиться и сыграть важную роль в Интернете. Но пока она бесполезна на практике. Разработчики браузеров должны сделать первый ход. Они должны внедрить поддержку XHTML конструктивным способом, чтобы пользователи не отвернулись от их продуктов. Только в этом случае за ними потянется остальная часть веба.

А те фанатики, которые считают, что каждое слово W3C имеет силу Божьей Заповеди и смотрят на всех, кто не использует XHTML, как на еретиков, которых надо сжечь на костре и чем раньше, тем лучше, просто ошибаются. XHTML — это не о настоящем, XHTML — это о будущем.




Похожие статьи


1 : В Набережных Челнах прошел семинар по интернет-платежам
Сергей Стеценко 28 декабря в Набережных Челнах (Татарстан) состоялся первый открытый семинар по интернет-платежам. Организатором мероприятия выступил Набережночелнинский филиал АИКБ "Татфондбанк". В ходе семинара специалисты банка официально пре...

2 : Вас уже цитируют? Это замечательно!
Одна из задач любой поисковой системы* состоит в том, чтобы пользователь как можно быстрее нашел то, что ему нужно. Результаты поиска по умолчанию всегда сортируются по релевантности*, и ссылки на документы, более полно ...

3 : Приходит время XML
Даже сейчас, когда XML прошел достаточно долгий путь своего развития, и широко применяется во многих областях, он остается таинственным инструментом, назначение которого не всегда понятно. С одной стороны, он действительно мо...

4 : PHP5: как работать с&nb p;XML через SimpleXML
Если вы разрабатываете серьезное интернет-приложение или корпоративную систему, скорее всего, вы будет иметь дело с XML. За последнее время это самая популярная технология, и вы просто должны были слышать о ней, поэтому не будем о...

5 : Уличная война: редакторы против визуальных средств
Что выбрать WYSIWYG-редактор или текстовый? FrontPage или HomeSite?

Рейтинг: 2.9/5 (273 голоса)

Последние статьи


1: Автоматическая сверка счетов-фактур – новые возможности «1С:Бухгалтерии 8» ред. 3.0
2: Возможности CRM в 1С «Управление торговлей»
3: Настройка отчетов 1С
4: Как отразить доп. расходы в 1С?
5: Взаимозачет в 1С



Последние новости


Делец в Удмуртии на госденьги открыл нарколабораторию - УФСБ
МОСКВА, 2 ноя - РИА Новости. Следствие заподозрило жителя Удмуртии в организации нарколаборатории на полученные от государства деньги, сообщает в пятн...

Сотрудница томского вуза продавала героин около общежития

ТОМСК, 2 ноя – РИА Новости, Сергей Леваненков. Полиция задержала 58-летнюю томичку при попытке продать героин, возбуждено уголовное дело, сообщи...

Молодежную премию наноиндустрии получил автор технологии для наркоза

© РИА Новости. Сергей ПятаковМОСКВА, 1 ноя - РИА Новости. Лауреатом Российской молодежной премии в области наноиндустрии 2012 года стал заместитель ге...

Жители еще одного мексиканского города взялись за борьбу с наркомафией

МЕХИКО, 2 ноя - РИА Новости, Дмитрий Знаменский. Жители города Олинала в мексиканском штате Герреро взяли в руки оружие, чтобы противостоять попыткам ...

Бразильские студенты получали наркотики по специально вырытому туннелю

© РИА Новости. Артур ГабдрахмановМЕХИКО, 2 ноя - РИА Новости, Дмитрий Знаменский. Оригинальный способ доставки наркотиков в университет крупнейшего бр...


Послать ссылку на этот обзор другу по ICQ или E-Mail:


Разместить у себя на ресурсе или в ЖЖ:


На любом форуме в своем сообщении: