Увага!
Цей документ є перекладом, який може містити помилки та хибності.
Оригінал цієї сторінки доступний за адресою http://www.w3.org/TR/2002/REC-xhtml1-20020801/.
Всі авторські права належать W3C.
Переклад зробив Тарас Склепко (редактор українського порталу по продажу подержаних авто - rstcars.com)
Будь ласка, зверніться до списку помилок в цьому документ, який може включати в себе деякі нормативні виправлення. Також дивіться переклади.
Також цей документ буде доступний в таких ненормативних форматах як: XHTML файл з кількох частин, PostScript версія, PDF версія, ZIP архів та Gzip'd TAR архів.
Copyright © 2006 W3C® (MIT, ERCIM, Keio), всі права зарезервовані. W3C дотримується всіх вимог за зобов'язаннями, торгівельними марками та ліцензуванням програмного забезпечення.
Ця специфікація визначає друге видання XHTML 1.0, переформулювання HTML 4 в XML 1.0 та три DTDвідповідні до визначених в HTML 4. Семантика елементів і їх атрибути визначаються в рекомендації W3C для HTML 4. Ця семантика закладає фундамент майбутньому розширенню XHTML. Сумісність з існуючими броузерами HTML можлива при дотриманні невеликого набору керівних принципів.
Цей розділ описує стан цього документа на момент його публікації. Інші документи можуть заміняти цей документ. Останній статус серій цього документа підтримується на W3C.
Даний документ є другим виданням спеціфікації XHTML 1.0 що включає виправлені помилки станом на 1 серпня 2002 року. Зміни між цією версією і попередньою рекомендацією проілюстровані у версії з переглядом визначень.
Це друге видання не є новою версією XHTML 1.0 (перша публікація від 26 січня 2000 року). Зміни в цьому документі, відображають корекції в результаті зауважень, представлених співтовариством, і в результаті проведеної роботи в рамках робочої групи HTML. У цьому документі нема жодних суттєвих змін - лише інтеграція різних виправлень.
Перелік помилок, виявлених у цій специфікації можна отримати за http://www.w3.org/2002/08/REC-xhtml1-20020801-errata.
Повідомляйте про помилки в цьому документі за адресою www-html-editor@w3.org (архів). Відкрита дискусія про можливості HTML проходить в списку розсилки www-html@w3.org (архів).
Цей документ був підготовлений у рамках діяльності W3C щодо HTML. Мета робочої групи HTML (тільки для членів) обговорюється в статусі робочої групи HTML.
На час публікації Робоча група вважає що кількість патентів, що мають відношення до даної специфікації, дорівнює нулю. Поточний список патентів, що мають відношення до даної специфікації, можна знайти на сторінці розкриття патентів.
Список поточних рекомендацій W3C і інших технічних документів можна знайти за посиланням http://www.w3.org/TR.
lang і xml:langДаний розділ є інформативним.
XHTML це сім'я теперішніх та майбутніх типів документів і модулів що відтворюють, підмножину і продовження HTML4 [HTML4]. Сім'я типів документів XHTML базуються на XML, і повністтю призначені для роботив поєднанні з браузерами що базуються на XML. Подробиці цієї родини та її еволюції більш детально обговорюються в [XHTMLMOD].
XHTML 1.0 (ця специфікація) перший документ в сім'ї XHTML. Це зміна з трьох документів HTML4 як додаток XML 1.0 [XML]. Вона призначена для використання в якості мови для змісту, що відповідна до XML і, якщо йдеться про декілька простих принципів, відповідність до HTML4 браузерів. Розробники, які мігрують їх зміст в XHTML 1.0 будуть чинні реалізувати наступні переваги:
Cім'я XHTML це новий крок в еволюції Інтернету. Шляхом переходу на XHTML сьогодні, розробники контенту можуть увійти в світ XML з усіма супутніми перевагами, залишаючись впевненими в змісті з сумісністю у минулому і майбутньому.
HTML 4 [HTML4] це SGML (англ. Standard Generalized Markup Language - стандартна узагальнена мова розмітки) додаток відповіднає міжнародному стандарту ISO 8879 і широко розглядається в якості стандартної мови видання World Wide Web.
SGML це мова що існує для опису мов розмітки, особливо ті, що використовуються в електронному обміні документами, управління документообігом і публікації документів. HTML прикладом мови визначеної в SGML.
SGML існувала приблизно з середини 1980 року і залишається досить стабільною. Багато чого з цієї стабільності виникає з того факту, що ця мова є багатофункціональною та гнучкою. За таку гнучкість, однак, доводиться платити, і ціною є рівень складності, що перешкоджає його прийняттю у різноманітних середовищах, включаючи World Wide Web.
HTML, як спочатку планувалося, повинна була стати мовою для обміну науковою та інших технічних документів, придатних для використання, які не є фахівцями в цих документах. HTML звернувся до проблеми складності SGML шляхом визначення порівняно невеликого набору структурних і семантичних тегів, пристосованих для написання відносно простих документів. Крім спрощення структури документа, до HTML додана підтримка гіпертексту. Мультимедійні можливості були додані пізніше.
За досить короткий час, HTML став дуже популярним і швидко переріс своє первісне призначення. З моменту створення HTML, існують була швидко з'являтися нові елементи для використання в HTML (як стандарт) і для адаптації до HTML вертикальні, високо спеціалізованих ринках. Така величезна кількість нових елементів, привела до проблем з сумісністю документів на різних платформах.
XML™ це скорочена назва роширюваної мови розмітки (англ. Extensible Markup Language) [XML].
XML був задуманий як засіб відновлення потужності і гнучкості SGML без більшої частини того, що ускладностнює їого. Незважаючи на обмежену форму SGML, тим не меньше XML зберігає більшу частину сильних і збагачених частин SGML, і все ще зберігає всі найбільш часто використовувані функції SGML.
При збереженні таких корисних функцій, XML усуває багату частину з найбільш складних особливостей, які роблять SGML та роботу авторів відповідних програм важкими та дорогими.
Переваги переходу на XHTML 1.0 були описані вище. Деякі з переваг переходу на XHTML в цілому:
Даний розділ є нормативним.
Терміни, що використовувались в цій специфікації. Ці терміни є продовженням визначень в [RFC2119] у способах засновання на тих же визначень, що містяться в ISO/IEC 9945-1:1990 [POSIX.1]:
Даний розділ є нормативним.
Ця версія надає визначення XHTML що строго відповідає до XHTML 1.0 документів, які обмежені у наборі елементів і атрибутів XML 1.0 і XHTML простору імен. Дивіться розділ 3.1.2 для інформації про використання XHTML з іншими просторами імен, наприклад, для включення метаданих, виражених в RDF в документи XHTML.
Строго відповідний XHTML документ являє собою XML документ, який вимагає лише можливості, описані в якості обов'язкових у даній специфікації. Такий документ повинен відповідати всім наступним критеріям:
Воно повинно відповідати обмеженням в одному з трьох DTD, що містяться в DTD та додатку B.
Кореневим елементом документа
повинен бути html.
Кореневий елемент документа повинен
містити xmlns декларацію простору
імен XHTML [XMLNS].
Простір імен для XHTML визначено як
http://www.w3.org/1999/xhtml. Приклад
кореневого елемента може виглядати
так:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Також в документі обов'язково повинна бути DOCTYPE декларація до кореневого елемента. Публічний ідентифікатор включений в декларацію DOCTYPE має посилатися на однин з трьох DTD, що міститься в 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">
Підмножина DTD не повинна використовуватися для перевизначення будь-яких параметрів особи в DTD.
Декларація XML не потрібна у всіх документах XML, однак авторам документа XHTML рішуче рекомендується використовувати XML у деклараціях всіх свої документів. Така заява є обов'язковою, якщо кодування символів документа відрізняється за замовчуванням від UTF-8 або UTF-16 і без кодування визначається протоколом більш високого рівня. Ось приклад документа XHTML. У цьому прикладі, включена декларація XML.
<?xml version="1.0" encoding="UTF-8"?>
<!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="uk" lang="uk">
<head>
<title>Віртуальна бібліотека</title>
</head>
<body>
<p>Переміщено в <a href="http://example.org/">example.org</a>.</p>
</body>
</html>
Простір імен XHTML може використовуватися з іншими просторами імен XML відповідно до [XMLNS], хоча такі документи не є чітко відповідними до XHTML 1.0 документів, як визначено вище. Робота W3C розглядає способи надання відповідності для документів за участю декількох просторів імен. Для прикладу, дивіться [XHTML+MathML].
Наступний приклад показує, яким чином XHTML 1.0 може бути використаний в поєднанні з MathML Рекомендацією:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>A Math Example</title>
</head>
<body>
<p>The following is MathML markup:</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply> <log/>
<logbase>
<cn> 3 </cn>
</logbase>
<ci> x </ci>
</apply>
</math>
</body>
</html>
Наступний приклад показує, яким чином розмітка XHTML 1.0 може бути включена в інший простір імен XML:
<?xml version="1.0" encoding="UTF-8"?>
<!-- initially, the default namespace is "books" -->
<book xmlns='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en">
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
<notes>
<!-- make HTML the default namespace for a hypertext commentary -->
<p xmlns='http://www.w3.org/1999/xhtml'>
This is also available <a href="http://www.w3.org/">online</a>.
</p>
</notes>
</book>
Відповідний браузер повинен відповідати всім наступним критеріям:
ID
(наприклад, id це атрибут більшості
елементів XHTML) як ідентифікаторів
фрагментів.Білий простір (англ. white space - пробіл) обробляється у відповідності з наступними правилами. Наступні символи визначені в [XML] як символи пробілів:
XML процесор нормалізує різні системи кодів кінця рядку в одну характеристику - строка, яка передається вгору до застосування.
Браузер повинен використовувати визначення у CSS для обробки пробільних символів [CSS2]. Зауважимо, що CSS2 рекомендація не розглядає конкретно питання про прогалини в обробці нелатинських наборів символів. Це питання буде розглянуто в майбутніх версіях CSS, на якому це посилання буде поновлене.
Зверніть увагу, що для того, щоб підготувати документ канонічний XHTML, повинні застосовуватися вищевказані правила і правила в [XMLC14N] повинні бути так само застосовані і до цього документа.
Даний розділ є інформативним.
У зв'язку з тим, що XHTML є додатком XML, певні види практики, які були абсолютно законними в HTML4 що основується на SGML [HTML4] повинні бути змінені.
Добре сформаваний це нове поняття, що з'явилось в [XML]. По суті це означає, що всі елементи повинні або мати закриваючий тег або бути записані в спеціальній формі (як описано нижче), і що всі елементи повинні встановлюватись правильно.
Хоча перекриття в SGML не є нормативним, браузери завжди закривають очі на на нього.
ПРАВИЛЬНО: вложені елементи.
<p>here is an emphasized <em>paragraph</em>.</p>
НЕПРАВИЛЬНО: перекритті елементи
<p>here is an emphasized <em>paragraph.</p></em>
XHTML документи повинні використовувати нижній регістр для всіх елементів HTML і імена атрибутів. Це розходження необхідно, оскільки XML чутливий до регістру літер, наприклад, <li> і <LI> різні теги.
В HTML 4 що оснований на SGML, в деяких
елементах могли бути опущені закриваючі
теги; з елементами, маючи на увазі, що після
закриття. XML не дозволяє віднустності
кінцевих тегів. Всі елементи, крім тих, які
оголошені в DTD як EMPTY повинні мати
кінцевий тег. Елементи, які були оголошені
в DTD як EMPTY можуть мати закриваючий
тег чи можуть використовувати
порожний скорочений елемент (дивыться Порожны елементи).
ПРАВИЛЬНО: звершені елементи
<p>here is a paragraph.</p><p>here is another paragraph.</p>
НЕПРАВИЛЬНО: незвершені елементи
<p>here is a paragraph.<p>here is another paragraph.
Всі значення атрибутів повинні бути взяті в лапки, навіть ті, які будуть виглядати як числові.
ПРАВИЛЬНО: значення атрибутів взяті в лапки
<td rowspan="3">
НЕПРАВИЛЬНО: значення атрибутів не взяті в лапки
<td rowspan=3>
XML не підтримує мінімізацію атрибутів.
Пара атрибут-значення має бути написана в
повному обсязі. Імена атрибутів, таких, як
compact і checked не можуть
використовуватись в елементах без певних
значень.
ПРАВИЛЬНО: немінімізовані атрибути
<dl compact="compact">
НЕПРАВИЛЬНО: мінімізовані атрибути
<dl compact>
Порожні елементи повинні мати або
кінцевий тег, або початковий тег повинен
закінчуватися />. Наприклад,
<br/> або <br></br>.
Дивіться Керівницво по
сумісності з HTML для отримання інформації
про способи забезпечення сумісність з HTML 4
браузерами.
ПРАВИЛЬНО: закриті (зачинені) порожні елементи
<br/><hr/>
НЕПРАВИЛЬНО: незакриті (незачинені) порожні елементи
<br><hr>
Коли браузер обчислює атрибути, він робить це у відповідності до розділ 3.3.3 в [XML]:
У XHTML, елементи скриптів і стилів мають
бути оголошені через #PCDATA. В
результаті < і & будуть
розглядатися як початок розмітки, а також
такі сполучення, як < і
& будуть визнані в якості
посилання на сутності XML процесором на
< і & відповідно. Упаковка
змісту елементу сценарію або стилю
всередині CDATA, визначаючи розділ
включення розширення цих структур.
<script type="text/javascript"> <![CDATA[ ... unescaped script content ... ]]> </script>
CDATA розділи розпізнаються
процесором XML і з'являються у вигляді
вузлів у об'єктної моделі документа (Document
Object Model), дивіться розділ
1.3 з рекомендацією DOM рівня 1 [DOM].
Альтернативою є використання зовнішніх скриптів і стилів документів.
SGML надає автореві DTD можливість виключати конкретні елементи, з тих що міститься в елементі. Такі заборони (звані "виключення") неможливі в XML.
Наприклад, HTML 4 Strict DTD забороняє
наслідування (включення) одного елементу
'a' в інший будьякої глибини. В XML нема
можливості сформулювати подібні заборони.
Навіть якщо ці заборони не можуть бути
визначені в DTD, певні елементи не повинні
бути включені в інші. Резюме цих елементів
і елементів, які не повинні бути включені в
них можна знайти нормативно заборонених елементах.
HTML 4 визначив name атрибут як такий
для елементів a, applet,
form, frame, iframe, img і
map. HTML 4 також ввів id атрибут.
Обидва ці атрибути покликані бути
використані в якості ідентифікаторів
фрагменту.
В XML, ідентифікатори фрагмента мають тип
ID і для кожного елементу може бути
тільки один атрибут ID. Таким чином, в
XHTML 1.0 атрибут id визначається як тип
ID. З метою забезпечення того, щоб XHTML
1.0 документи були добре структурованими XML
документами, XHTML 1.0 документи повинні
використовувати id атрибут при
визначенні ідентифікаторів фрагментів на
елементах, перерахованих вище. Дивіться керівництво по сумісності з HTML
для інформації про забезпечення таких
якорів та зворотну сумісність при
обслуговуванні XHTML документів як тип
text/html.
Відзначимо, що в XHTML 1.0 атрибут name в
цих елементах є офіційно застарілим, і буде
усунений в наступних версіях XHTML.
HTML 4 і XHTML обидва мають деякі атрибути, які
заздалегідь визначені і обмежені у наборі
значень (наприклад, атрибут type
елементу input). В SGML і XML вони
називаються перерахованими
атрибутами. Відповідно HTML 4,
інтерпретація цих значень без
урахування регістру, тому значення
TEXT було еквівалентно значенням
text. Відповідно XML, інтерпретація цих
значень залежить від регістру і в XHTML 1
всі ці величини визначаються в нижньому
регістрі.
SGML і XML обидва дозволяють посилання до символів через шістнадцятиричні значення. В SGML ці посиланняз використанням або &#Xnn;, або &#xnn; структур. В XML документах Ви маєте мождивістьвживати ті самі конструкції в нижньому регістрі (тобто &#xnn;)
Даний розділ є нормативним.
Хоча для документів XHTML 1.0 не потрібні браузери, що підтримують сумісність з ними. Керівництво для створення конкурентоспроможних документів можуть будти знайдені в додатку С.
XHTML документи, які слідують принципам, викладеним у додатку C, "керівництво по сумісності з HTML" може будти позначене через тип Інтернет Медіа "text/html" [RFC2854], оскільки вони сумісні з більшістю браузерів HTML. Ці документи, а також будь-які інші документи, відповідні до цієї специфікації, також можуть бути позначені в типі Інтернет Медіа "application/xhtml+xml", як визначено в [RFC3236]. За додатковою інформацією про використання типу Інтернет Медіа з XHTML, дивіться інформаційну записку [XHTMLMIME].
Ця програма є нормативною.
Ці DTD і набори осіб форм утворюють нормативну частину цієї специфікації. Повний набір DTD файлів, разом з декларацією XML і SGML Open Catalog (відкритий каталог) входить в zip файл і gzip'd tar файл для цієї специфікації. Користувачі, які шукають місцеві копії DTD файлів для роботи з ними повинні скачати і використовувати архіви так само, як і специфічні DTD посилання нижче.
These DTDs approximate the HTML 4 DTDs. W3C рекомендує використовувати авторитетні версій цих DTD на їх системних ідентифікаторів при перевірці вмісту. Якщо ви хочете використовувати ці DTD місцево необхідно завантажити один з архівів цієї версії. Для повноти роскриття питання, нормативні версії DTDs ключені нижче:
Файл DTD/xhtml1-strict.dtd є нормативною частиною цієї специфікації. Анотований вміст цього файлу, доступний в цьому окремому розділі.
Файл DTD/xhtml1-transitional.dtd є нормативною частиною цієї специфікації. Анотований вміст цього файлу, доступний в цьому окремому розділі.
Файл DTD/xhtml1-frameset.dtd є нормативною частиною цієї специфікації. Анотований вміст цього файлу, доступний в цьому окремому розділі.
The XHTML сутностей такі ж самі, як і для HTML 4,
але були змінені, щоб бути дійсними для
декларації XML 1.0 сутностей. Зверніть увагу
на обличчя для знака валюті євро
(€ чи €, чи
€) визначений у рамках
спеціальних символів.
Файл DTD/xhtml-lat1.ent є нормативною частиною цієї специфікації. Анотований вміст цього файлу, доступний в цьому окремому розділі.
Файл DTD/xhtml-special.ent є нормативною частиною цієї специфікації. Анотований вміст цього файлу, доступний в окремому розділі.
Файл DTD/xhtml-symbol.ent є нормативною частиною цієї специфікації. Анотований вміст цього файлу, доступний в окремому розділі.
Ця програма є нормативною.
Ці елементи мають в елементах заборони які вони можуть містити (дивіться SGML винятки). Ця заборона поширюється на всю глибину вкложеності, тобто він містить усі елементи, нащадка.
apreimg,
object, big, small,
sub чи sup.buttoninput,
select, textarea, label,
button, form, fieldset,
iframe чи isindex.labellabel.formform.Ця програма є інформативною.
Цей додаток сумує короткі технічні
керівні принципи для авторів, які хочуть,
щоб їх XHTML документи відображались на
існуючих HTML браузерах. Зауважимо, що ця
рекомендація не визначає, як HTML браузери
користувачів повинні обробляти HTML
документи. Він також не визначає зміст типу
Інтернет Медіа text/html. За цими
визначеннями, дивіться [HTML4] і [RFC2854] відповідно.
Пам'ятайте, що інструкції з обробки надаються на деякі браузери. Крім того, деякі браузери інтерпретують XML декларації так, що документ є невизнаною формою XML замість HTML, і тому не може відобразити документ, як це очікувалося. Для сумісності з цими типами старих браузерах, ви можете уникнути використання інструкцій обробки XML і декларацій. Пам'ятайте про те, коли в документ не включено XML декларації, то можна використовувати тільки кодування символів за замовчуванням UTF-8 або UTF-16.
Включіть пробіл перед заднім / і
> на порожних елементах, наприклад
<br/>, <hr/> і <img
src="karen.jpg" alt="Karen"/>. Крім того, зведіть до
мінімуму використання тега синтаксису для
порожніх елементів, наприклад <br />, альтернативний
синтаксис <br></br>
дозволений в XML дає невизначені результати
у багатьох існуючих браузерах.
З огляду на порожній екземпляр елемента,
зміст якого модель не EMPTY (наприклад,
порожній титул або пункту) не
використовуйте мінімум формі (наприклад,
використання <p> </p> і
не <p/>).
Використання зовнішніх таблиць стилів,
якщо ваша таблиця стилів використовується
у поєднанні з < чи &, чи
]]>, чи --. Використовуйте
зовнішні сценарії, якщо ваш скрипт
використовує < чи &, чи
]]>, чи --. Зверніть увагу, що
XML парсер дозволяється мовчки видалити
вміст коментарів. Таким чином, історична
практика "приховування" скриптів і стилів в
рамках "коментарів", щоб зробити документи
сумісними з біль ранішніми версіями,
швидше за все, не працюють належним чином у
браузерах що базуються на XML.
Уникайте розривів рядків і декількох пробільних символів всередині значень атрибутів. Вони обробляються браузерами непослідовно.
Не вмикайте більше одного isindex
елементу в head документа. Елемент
isindex є застарілою формою елемента
input.
lang і
xml:langВикористовуйте обидва lang і
xml:lang атрибути при вказівці мови
елементів. Значення атрибуту xml:lang
має пріоритет.
У XML, URI-посилання [RFC2396] кі закінчуються
ідентифікатори фрагмента виду "#foo"
не відносяться до елементів з атрибутом
name="foo", а скоріше, вони відносяться
до елементів з атрибутом визначений як тип
ID, наприклад, атрибут id в HTML 4.
Багато існуючих HTML клієнтів не підтримують
використання атрибута типу ID таким
чином, щоб ідентичні значення могли
забеспечити для обох цих атрибутів, щоб
забезпечити максимальну пряму і зворотну
сумісність (наприклад, <a
id="foo" name="foo">...</a>).
Крім того, оскільки набір допустимих
значень атрибутів типу ID набагато
менше, ніж для типу CDATA, тип атрибута
name було змінено на NMTOKEN. Цей
атрибут обмежений таким, що він може мати
тільки ті ж значення, як і тип ID, або
як Name виробництва в XML 1.0 розділу 2.3,
випуску 5. На жаль, це обмеження не може бути
виражено в XHTML 1.0 DTD. Через це зміни,
необхідно подбати при перетворенні
існуючих документів HTML. Значення цих
атрибутів має бути унікальним в межах
документа, термін дії, і будь-які посилання
на ці ідентифікатори фрагмента (обидва як
внутрішні, так і зовнішні) мають бути
оновлені значення має бути змінена в ході
перетворення.
Зверніть увагу, що збір правового
значення в XML 1.0 розділу 2.3, випуску 5
набагато більше, ніж дозволено
використовувати в ID і NAME
типів, визначених в HTML 4. При визначенні
ідентифікаторів фрагмента буде назад
сумісний, тільки строк, відповідних
шаблоном [A-Za-z][A-Za-z0-9:_.-]* повинен бути
використаний. Дивіться розділ 6.2 з [HTML4] для отримання
додаткової інформації.
Нарешті, відзначимо, що XHTML 1.0 має
застарілий атрибут name для елементів
a, applet, form, frame,
iframe, img і map, і вона буде
вилучена з XHTML у наступних версіях.
Історично склалося, що кодування
документа HTML або зазначеного веб-сервером
за допомогою кодування параметром HTTP
заголовка типу вмісту, або чере зелемент
meta в самому документі. У документі
XML, кодування документа вказується на
декларації XML (наприклад, <?xml
version="1.0" encoding="EUC-JP"?>). З метою
портативного представлення документу з
конкретним кодуваням найкращим підходом є
забезпечення того, що веб-сервер надає
правильні заголовки. Якщо це не можливо,
документ, який хоче встановити свою
кодування явним повинна включати в себе як
декларація XML кодування декларації і
meta http-екв заяви (наприклад, <meta http-equiv="Content-type" content="text/html;
charset=EUC-JP"/>). Відповідно XHTML-браузерів,
значення кодування декларацією декларації
XML має пріоритет.
Примітка: пам'ятайте, що якщо документ має включати кодування декларації в META HTTP-екв заявою, що документ може завжди бути витлумачено сервери HTTP та/або агентів, як користувач інтернету тип засобів масової інформації визначено в цій заяві. Якщо документ буде послужили кілька типів носіїв, HTTP сервера повинна бути використана для встановлення кодування документа.
Деякі HTML браузери не в змозі
інтерпретувати булеві атрибути, коли вони
присутні у їхній повній (несвернутій)
формі, як це передбачено в XML 1.0. Ця проблема
не зачіпає браузерів сумісних з HTML 4. У
роботі беруть участь наступні атрибути:
compact, nowrap, ismap,
declare, noshade, checked,
disabled, readonly, multiple,
selected, noresize, defer.
Рекомендація Document Object Model рівня 1 [DOM] визначає об'єктну модель документа інтерфейсів для XML і HTML 4. HTML 4 об'єктна модель документа HTML вказує, що імена елементів і атрибутів повертаються у верхньому регістрі. Об'єкт XML Document модель вказує, що імена елементів і атрибутів повертаються у випадку вони вказані. У XHTML 1.0, елементи та атрибути, зазначені в нижньому регістрі. Це удаване розходження може розглядатися у двох аспектах:
text/html через DOM може
використовувати HTML DOM, і може спиратися
на імена елементів і атрибутів
повертаються у верхньому регістрі з цих
інтерфейсів.text/xml, application/xml чи
application/xhtml+xml так само може
використовувати XML DOM. Елементи й
атрибути будуть повертатися в нижньому
регістрі. Крім того, деякі XHTML елементи
можуть чи не можуть з'являтися в дереві
об'єктів, оскільки вони є необов'язковими
в моделі вмісту (наприклад, елемент
tbody підмножина table). Це
відбувається тому, що в HTML 4 Деякі
елементи були дозволені до мінімуму
такі, що їх початкові і кінцеві мітки
опущені (функції SGML). Це неможливо в XML.
Замість того, автори документа
вимагають, щоб вставити сторонніми
елементами, XHTML внесла елементи є
обов'язковими. Браузерам необхідно
адаптуватися до цього відповідним чином.
За додатковою інформацією з даної теми,
дивіться [DOM2]В обох SGML і XML, амперсанд ("&") оголошує
про початок посилання на сутність
(наприклад, сполучення ® що
використовується для визначення символу
зареєстрованого товарного знаку "?). На
жаль, багато HTML браузерів мовчки ігнорують
неправильне використання амперсанда в HTML
документах - лікування амперсанд, що не
схожі на обличчя посилання як буквальне
амперсанд. Браузери осовані на XML не будуть
миритися з цим неправильним використанням,
і будь-який документ, який використовує
амперсанд неправильне не буде "дійсним", і,
отже, не буде відповідати даному стандарту.
З метою забезпечення того, щоб документи,
сумісні з історичним броузерів HTML і
XML-основаних користувацьких агентів,
амперсанд, що використовуються в
документі, які повинні розглядатися як
літерних символів повинна бути виражена
себе як суб'єкта (наприклад, "&").
Наприклад, якщо атрибут href атрибута
елемента посилається на скрипт CGI який
приймає параметри, він повинен бути
виражений як
http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
а не як
http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user.
Рекомендація каскадних таблиць стилів рівня 2 [CSS2] визначаються властивості стилю, які застосовуються для дерева розбору в HTML або XML документів. Відмінності в розборі буде проводити різні візуальні або слухові результатів, в залежності від використовуваних селектор. Наступні поради будуть зменшити цей ефект для документів, які подаються без змін і як типи носіїв:
В HTML 4 і XHTML, елемент style може бути
використаний для визначення внутрішніх
правил стилів документа. В XML, декларації XML
шаблонів використовується для визначення
стилю правил. Для того, щоб бути сумісним з
цією Конвенцією, елемент style
повиннен мати свій ідентифікатор
фрагмента, який задається за допомогою
атрибуту id, і визначення XML стилів
повинні звобити посилання на цей фрагмент.
Наприклад:
<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" type="text/css"?>
<?xml-stylesheet href="#internalStyle" type="text/css"?>
<!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>An internal stylesheet example</title>
<style type="text/css" id="internalStyle">
code {
color: green;
font-family: monospace;
font-weight: bold;
}
</style>
</head>
<body>
<p>
This is text that uses our
<code>internal stylesheet</code>.
</p>
</body>
</html>
Деякі символи, які є законними в документах HTML, є незаконними в документі XML. Наприклад, в HTML, FormFeed характеру (U+000C) розглядається як білий простір, в XHTML, у зв'язку з визначенням XML's символів, це незаконно.
Їменна характеристика '
(апостроф, U+0027) була введена в XML 1.0 але не
відображається в HTML. Авторам слід
використовувати сполучення '
замість ' для роботи, як
очікувалося, в браузерах HTML 4.
Ця програма є інформативною.
Ця специфікація була написана за участю членів робочої групи HTML W3C (англ. W3C HTML Working Group).
При публікації другого видання, до складу авторів входили:
При публікації першого видання, до складу авторів входили:
Ця програма є інформативною.