Що таке файл XHTML?
XHTML — це текстовий формат файлу з розміткою в XML, який використовує переформулювання HTML 4.0. Ці файли добре підходять для відкриття або перегляду у веб-браузері. XHTML був розроблений, щоб бути більш структурованим, менш сценарієм, загальним; з використанням усіх існуючих можливостей XML і більше незалежно від пристрою. XHTML надає загалом вартий уваги набір елементів і атрибутів із параметрами розширення в поєднанні з таблицями стилів. Атрибути використовуються з колекції атрибутів метаданих. XHTML забезпечує гнучкість і доступність, підпорядковуючи всі елементи презентації HTML таблицям стилів. Таблиці стилів більш універсальні, ніж ці презентаційні елементи. Специфікації для HTML 4.01, HTML5 і XHTML динамічно розробляються Консорціумом Всесвітньої павутини (W3C).
Коротка історія формату файлів XHTML
Історія XHTML починається з проекту документа, опублікованого в грудні 1998 року Консорціумом Всесвітньої павутини. Цей документ посилається на «Переформулювання HTML у XML», специфікацію під назвою XHTML 1.0. У цій новій специфікації переформульовано HTML у XML з використанням існуючих елементів або атрибутів. У травні 1999 року W3 Consortium оголосив, що HTML 4.0 було переформовано як додаток XML. тобто XHTML. 26 січня 2000 року W3C випустила першу специфікацію, яка визначає XHTML 1.0. Далі 31 травня 2001 року W3C оголосила XHTML як незалежну мову та почала працювати над розробкою HTML 5.0. Однак у 2005 році була сформована робоча група (WHATWG), яка мала на меті покращити звичайний HTML незалежно від XHTML. Зрештою WHATWG почала працювати над HTML5 паралельно з XHTML 2.
Формат файлу XHTML
XHTML — це формат, який є набором різних типів документів і модулів, які імітують, класифікують і розширюють HTML 4. Файли в XHTML засновані на XML і призначені для роботи з агентами користувача на основі XML. Файли XHTML відповідають XML. Стандартні інструменти XML використовуються для перегляду, редагування та перевірки файлів XHTML. HTML Document Object Model або XML Document Object Model [DOM] залежні програми можуть працювати через документи XHTML. Вибираючи XHTML сьогодні, розробники вмісту можуть користуватися всіма пов’язаними перевагами XML, не турбуючись про пряму чи зворотну сумісність свого вмісту.
Набір пов’язаних елементів створює модуль у XHTML. Модуль форм або таблиць може містити різні елементи форми або таблиці, які можна відображати на веб-сторінці. Модулярність мала на меті ізолювати елементи HTML у набори численних пов’язаних елементів. Щоб розробники контенту могли скористатися перевагами вибору модулів для різних типів пристроїв. Крім того, модулі дозволяють агентам користувача вибирати елементи без втрати узгодженості зі стандартом XHTML. Вимоги до синтаксичного аналізу XHTML такі ж, як і XML, тоді як HTML виконує власні.
Відповідність документа
XHTML2 пропонує специфікації, що відповідають документам XHTML 1.0, які використовують елементи простору імен і атрибути з XML і XHTML 1.0. Відповідність документа буває двох типів.
Суворо відповідний документ базується на XML і потребує лише обов’язкових послуг, визначених у цій специфікації. Файли XHTML повинні відповідати таким критеріям:
- Файл має відповідати обмеженням, визначеним у DTD та Додатку B.
- Базовим елементом файлу має бути html.
- Базовий елемент файлу має містити оголошення для простору імен XHTML і має бути визначений як:
http://www.w3.org/1999/xhtml.
- Базовий елемент можна записати так:
<html xmlns#"http://www.w3.org/1999/xhtml" xml:lang#"en" lang#"en">
До базового елемента має бути оголошено DOCTYPE, публічний ідентифікатор якого має посилатися на одне з трьох визначень типу документа (DTD). Ідентифікатор системи можна змінити відповідно до поточних умов системи.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
У XML-документах немає необхідності вказувати XML-декларації в усіх документах; однак розробників контенту спокушають використовувати оголошення XML у всіх своїх документах XHTML. Ці оголошення є обов’язковими, якщо кодування символів документа відрізняється від UTF-8 /16 або кодування не було визначено керівним протоколом. У наступному прикладі документа XHTML визначаються оголошення XML
<!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" xml:lang#"en" lang#"en">
<head>
<title>Public Property</title>
</head>
<body>
<p>changed to <a href#"http://sample.com/">sample.com</a>.</p>
</body>
</html>
Відповідний агент користувача повинен відповідати таким правилам:
- Розбір і оцінка документа XHTML виконується агентом користувача, який забезпечує його узгодженість з рекомендацією XML 1.0.
- У разі перевірки агента користувача він повинен перевірити дійсність документів для своїх посилань DTD відповідно до XML. Коли файл XHTML обробляється агентом користувача як загальний XML, функції ID типу будуть розпізнаватися як ідентифікатори фрагментів.
Якщо агент користувача натрапляє на нерозпізнаний елемент, наступні обов’язкові критерії він повинен виконати
- обробити вміст цього невідомого елемента
- ігнорувати атрибут і його значення
- Використовуйте значення атрибута, наданого за замовчуванням.
Коли агент користувача стикається з декларацією посилання на сутність, яка не була оброблена раніше, її слід обробити як символи (починаючи зі знака «&» і закінчуючи крапкою з комою). Під час обробки вмісту символи або посилання на об’єкти символів, які передбачувані агентом користувача, але не відтворюються, можуть використовувати будь-яке альтернативне відтворення, яке дає подібне значення. У такому випадку документ має відображатися таким чином, щоб користувач міг зрозуміти, що процес візуалізації не був нормальним. Для обробки пробілів агент користувача повинен шукати визначення символів CSS [CSS2].
Зворотна сумісність XHTML
Зворотна сумісність документів XHTML 1. добре знайома з агентами користувача HTML 4, якщо дотримуватись відповідних правил. XHTML 1.1 повністю сумісний, за винятком рубінових анотацій, хоча вони зазвичай ігноруються браузерами HTML 4. XHTML 2.0 є порівняно менш сумісним, однак проблема була певною мірою вирішена за допомогою використання сценаріїв.