XHTML — Вікіпедія

XHTML
Розширення файлу: .xhtml, .xht, .html, .htm
MIME-тип: application/xhtml+xml
Розробник: World Wide Web Consortium
Тип формату: Мова розмітки даних
Розширений з: XML, HTML
Стандарт(и):

1.0 (Recommendation),
1.1 (Recommendation),
1.1 SE (Working Draft),
5 (Working Draft),

2.0 (Working Draft)

XHTML (англ. Extensible Hypertext Markup Language, укр. Розширювана мова розмітки гіпертексту) — мова розмітки, що має таку саму виразну силу як і HTML але відповідає синтаксичним правилам XML.

В той час як HTML побудовано на основі правил SGML, XHTML побудовано на основі правил XML, суворішої підмножини правил SGML. Оскільки XHTML-документи мають бути коректними XML-документами, їх обробку можна здійснювати стандартними інструментами обробки XML-документів на відміну від HTML, який вимагає порівняно складніших, важчих і повільніших синтаксичних аналізаторів. XHTML можна розглядати як, багато в чому, перетин HTML і XML, оскільки цей стандарт є переформулюванням HTML засобами XML. XHTML 1.0 став рекомендацією консорціуму W3C 26 січня 2000. XHTML 1.1 став рекомендацією W3C 31 травня 2001.

Огляд[ред. | ред. код]

HTML

XHTML 1.0 є «реформулюванням трьох типів документів стандарту HTML 4 засобами XML 1.0».[1] World Wide Web Consortium (W3C) також продовжує підтримку Рекомендації HTML 4.01 та активну роботу над специфікаціями стандартів HTML5 і XHTML5. В поточному документі Рекомендацій XHTML 1.0, який було опубліковано та переглянуто до серпня 2002 року, W3C зазначив, що, "Сімейство XHTML є наступним кроком в еволюції Інтернету. Шляхом переходу сьогодні на XHTML розробники контенту можуть увійти в світ XML з усіма супутніми перевагами, залишаючись впевненими в зворотній та майбутній сумісності їхнього контенту.[1]

Проте в 2004 році незалежно від W3C було створено Робочу групу з технологій застосування гіпертексту у Вебі (WHATWG) для роботи по вдосконаленню звичайного HTML, не заснованого на XHTML. Більшість великих виробників браузерів не бажали реалізовувати функції з нових проектів стандартів W3C XHTML, оскільки вважали, що вони не відповідають сучасним потребам розвитку Інтернету, а W3C захопився формалізмом XML і не реагує на реальні вимоги виробників.[2] Apple, Mozilla та Opera сформували робочу групу WHATWG, яка почала працювати над стандартом HTML5, який допускав, але не вимагав застосування XML. У 2007 році Робоча група W3C HTML проголосувала за офіційне визнання HTML5 і роботу над ним як наступне покоління стандарту HTML.[3] У 2009 році консорціум W3C дозволив добігти до кінця терміну дії Статуту Робочої групи XHTML 2, визнавши, що HTML 5 буде єдиним наступним поколінням стандарту HTML, як з XML-, так і не-XML-серіалізацію.[4]

Мотивація[ред. | ред. код]

XHTML був розроблений з метою зробити HTML більш розширюваним і підвищити сумісність з іншими форматами даних.[5] HTML 4 побудований на основі та є застосуванням стандартної узагальненої мови розмітки (SGML), однак специфікація SGML складна, і як веббраузери, так і Рекомендація HTML 4 не були повністю сумісними з нею.[6] Стандарт XML, затверджений в 1998 році, пропонував простіший формат даних, ближче за духом до HTML 4.[7] Існували сподівання, що за допомогою переходу на формат XML, HTML стане сумісним із загальними інструментами XML;[8] а проксі-сервери зможуть перетворювати документи, у разі необхідності, для пристроїв з обмеженими можливостями, таких як мобільні телефони.[9] Завдяки використанню просторів імен XHTML-документи могли б включати фрагменти інших, основаних на XML, мов, таких як Scalable Vector Graphics і MathML.[10] Нарешті, відновлення роботи дала б можливість розділити HTML на компоненти для повторного використання (XHTML-модулі) і очистити неохайні частини мови.[11]

Структура[ред. | ред. код]

Назви тегів та атрибутів такі самі, як і в HTML, та є ще декілька умов:

  • тег та атрибути мають бути написані тільки малими буквами
  • усі атрибути мають бути у подвійних або одинарних лапках
  • перші 2 теги повинні бути:
    • <? xml version="1.0" ?> 
    • Другий — в залежності від типу документа

Чітка стандартизованість XML означає, що, на відміну від HTML, не допускаються незакриті теги, вкладені теги мають бути закритими до того, як буде закритий тег верхнього рівня, атрибути обов'язково мають мати значення, пусті теги (як-то <br>) мають бути записані особливим способом (<br />) і має бути лише один елемент верхнього рівня — <html></html>. Наприклад, не відповідає стандарту XHTML наступний HTML-код:

<br />  <p> Один абзац <p> Інший  <select> <option selected>Опція 1 <option>Опція 2 </select>  '''''Помилка вкладення''''' 

А правильно так:

<br />  <p> Один абзац </p> <p> Інший </p>  <select> <option selected="selected">Опція 1</option> <option>Опція 2</option> </select>  '''''Немає помилки вкладення''''' 

Джерела інформації[ред. | ред. код]

  1. а б XHTML 1.0 Specification, Section 1: What is XHTML?. World Wide Web Consortium. 26 січня 2000. Архів оригіналу за 23 червня 2013. Процитовано 16 червня 2007. 
  2. Спецификации HTML5 переходят к непрерывному циклу обновлений. Архів оригіналу за 5 жовтня 2012. Процитовано 23 квітня 2011. 
  3. «results of HTML 5 text, editor, name questions». Архів оригіналу за 9 листопада 2020. Процитовано 28 січня 2010. 
  4. «Frequently Asked Questions (FAQ) about the future of XHTML». Архів оригіналу за 7 червня 2012. Процитовано 28 січня 2010. 
  5. XHTML 1.0 Specification, Section 1.1: Why the need for XHTML?. World Wide Web Consortium. 26 січня 2000. Архів оригіналу за 23 червня 2013. Процитовано 16 червня 2007. 
  6. Arjun Ray (6 жовтня 1999). Dropping the Normative Reference to SGML (was: I-D ACTION.). Архів оригіналу за 23 червня 2013. Процитовано 29 грудня 2008. «… However, since ISO 8879 does not afford applications the leeway to prohibit internal subsets, it follows that the letter of the HTML [4] spec automatically disentitles it to be a conforming SGML application…» 
  7. Tina Holmboe (6 жовтня 2008). XHTML—Myths and Reality. The Developer’s Archive. Архів оригіналу за 23 червня 2013. Процитовано 29 грудня 2008. «… Since the design goals of XML itself partially mirrored those of the original HTML, it was logical for work to begin on formulating an XML–based markup language…» 
  8. Kip Hampton (10 січня 2001). Creating Web Utilities Using XML::XPath. XML.com. Архів оригіналу за 23 червня 2013. Процитовано 29 грудня 2008. «… The problem: You want to take advantage of the power and simplicity that XML tools can offer, but you face a site full of aging HTML documents. The solution: Convert your documents to XHTML and put Perl and XML::XPath to work…» 
  9. Jean-Luc David (14 квітня 2004). Developing Wireless Content using XHTML Mobile. XML.com. Архів оригіналу за 23 червня 2013. Процитовано 29 грудня 2008. «… A useful feature of XHTML is that it can be manipulated as XML. Extensible Stylesheet Language Templates can be used to transform XHTML into WML or any other proprietary mobile formats…» 
  10. Namespaces Crash Course. Mozilla Developer Center. Архів оригіналу за 2 жовтня 2008. Процитовано 29 грудня 2008. «… It has been a long standing goal of the W3C to make it possible for different types of XML based content to be mixed together in the same XML file. For example, SVG and MathML might be incorporated directly into an XHTML based scientific document…» 
  11. Steven Pemberton (21 липня 2004). HTML and XHTML Frequently Answered Questions. World Wide Web Consortium. Архів оригіналу за 23 червня 2013. Процитовано 29 грудня 2008. «… with an XML-based HTML other XML languages could include bits of XHTML, and XHTML documents could include bits of other markup languages. We could also take advantage of the redesign to clean up some of the more untidy parts of HTML, and add some new needed functionality, like better forms…» 

Посилання[ред. | ред. код]