Що ж таке XHTML?, Різне, HTML, XML, DHTML, статті

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


XML – це узагальнений мову розмітки. На відміну від HTML, XML дозволяє
створювати власні теги і таким чином формувати власну структуру
документа. Вам потрібен тег ? Додайте його в ваш документ,
переконаєтеся що програма знає, що позначає цей тег, і все готово.


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


На противагу XML, HTML набагато більш строго певний мова розмітки
з обмеженим набором тегів. У кожному разі, загальний характер XML дозволяє
розглядати HTML-документи як XML-документи з набором тегів для відображення в
веб-браузерах. Однак, старі стандарти HTML не до кінця сумісні з XML.
Наприклад, в HTML необов’язково закривати тег

, тобто тег
можна опускати. Веб-браузеру на це плювати, так як він запрограмований, але
XML-парсер видасть помилку про те, що ваш HTML-документ не є “правильно
сформованим “(well-formed).


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


Правила гри


На практиці, в HTML треба додати чотири правила, щоб вийшов XHTML:



  1. Всі теги повинні бути записані в нижньому регістрі, тобто не можна писати
    , А треба писати
  2. Всі теги повинні бути закриті
    2a. У випадку, якщо елемент не має
    закриває тега (наприклад, або
    ), треба додавати слеш в
    Наприкінці тега і

  3. Вкладеність тегів повинна бути коректною. Наприклад, не можна писати

    Текст , а треба писати

    текст

  4. Всі атрибути повинні бути укладені в лапки. Наприклад, не можна писати

    , а треба писати

    .


Хороша новина в тому, що у браузерів практично немає проблем з XHTML.
Взагалі кажучи, правила 1, 2 і 4 уже є в HTML, але не є обов’язковими,
тоді як правило 3 є обов’язковим, хоча браузери в більшості випадків
ігнорують помилки вкладеності. Єдине дійсно нове правило – це
правило 2а. Однак, це правило призводить до проблем зі старими браузерами
тільки в тому випадку, коли ви записуєте слеш без пробілів, ось так

. Браузер думає, що це тег 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. Я з насолодою продовжу писати теги у верхньому
регістрі і буду пропускати іноді теги , якщо відчую, що всі
буде добре і без них.


Як і всі специфікації W3C, XHTML – це цікава теоретична конструкція,
яка може розвинутися і зіграти важливу роль в Інтернеті. Але поки вона
марна на практиці. Розробники браузерів повинні зробити перший хід. Вони
повинні впровадити підтримку XHTML конструктивним способом, щоб користувачі не
відвернулися від їх продуктів. Тільки в цьому випадку за ними потягнеться інша
частина веба.


А ті фанатики, які вважають, що кожне слово W3C має силу Божої
Заповіді і дивляться на всіх, хто не використовує XHTML, як на єретиків, яких
треба спалити на багатті і чим раніше, тим краще, просто помиляються. XHTML – це не про
сьогоденні, XHTML – це про майбутнє.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*