Какво е XHTML файл?
XHTML е текстово базиран файлов формат с маркиране в XML, използващ преформулиране на HTML 4.0. Тези файлове са много подходящи за отваряне или разглеждане в уеб браузър. XHTML е проектиран да бъде по-структуриран, с по-малко скриптове, общ; използване на всички съществуващи съоръжения на XML и по-независимо от устройството. XHTML предоставя като цяло полезен набор от елементи и атрибути, с опции за разширение в комбинация със стилови таблици. Атрибутите се използват от колекцията атрибути на метаданни. XHTML осигурява гъвкавост и достъпност, като подчинява всички HTML презентационни елементи на стилови таблици. Стиловите листове са по-гъвкави от тези презентационни елементи. Спецификациите за HTML 4.01, HTML5 и XHTML се разработват динамично от World Wide Web Consortium (W3C).
Кратка история на файловия формат XHTML
Историята на XHTML започва с проект на документ, публикуван през декември 1998 г. от World Wide Web Consortium. Този документ препраща към „Преформулиране на HTML в XML“, спецификация, наречена XHTML 1.0. Тази нова спецификация преформулира HTML в XML, като използва съществуващите елементи или атрибути. През май 1999 г. W3 Consortium обяви, че HTML 4.0 е преформиран като XML приложение. т.е. XHTML. На 26 януари 2000 г. първата спецификация, която дефинира XHTML 1.0, беше пусната от W3C. Освен това на 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 е напълно съвместим с изключение на ruby анотациите, въпреки че те обикновено се игнорират от HTML 4 браузърите. XHTML 2.0 е сравнително по-малко съвместим, но въпреки това проблемът е решен до известна степен чрез използването на скриптове.