HTML i XHTML to oba języki, w których napisane są strony internetowe. HTML jest
HTML jest dominującym językiem znaczników dla stron internetowych. HTML tworzy ustrukturyzowane dokumenty, oznaczając semantykę strukturalną tekstu, taką jak nagłówki, listy, łącza, cytaty itp. Umożliwia osadzanie obrazów i obiektów w celu tworzenia interaktywnych formularzy. Jest zapisany jako znaczniki otoczone nawiasami kątowymi - na przykład, . Można również ładować skrypty w językach takich jak JavaScript.
XHTML to rodzina języków XML, które rozszerzają lub dublują wersje HTML. Nie pozwala na pomijanie żadnych tagów ani stosowanie minimalizacji atrybutów. XHTML wymaga, aby każdy znacznik początkowy zawierał znacznik końcowy, a wszystkie zagnieżdżone znaczniki muszą być zamknięte w odpowiedniej kolejności. Na przykład while
jest poprawny w HTML, trzeba będzie pisać
w XHTML.
Dokumenty HTML składają się z elementów, które mają trzy elementy - parę znaczników elementów - znacznik początkowy, znacznik końcowy; atrybuty elementu podane w tagach oraz w treści, tekstach i grafice. Element HTML to wszystko, co leży między tagami i włącznie z nimi. (Tag jest słowem kluczowym zawartym w nawiasach kątowych).
Dokumenty XHTML mają tylko jeden element główny. Wszystkie elementy, w tym zmienne, muszą być pisane małymi literami, a przypisane wartości muszą być otoczone cudzysłowami, zamknięte i zagnieżdżone, aby mogły zostać rozpoznane. Jest to obowiązkowe wymaganie w XHTML w przeciwieństwie do HTML, gdzie jest opcjonalne. Deklaracja DOCTYPE określi zasady dotyczące dokumentów, których należy przestrzegać.
Oprócz różnych deklaracji otwierających dla dokumentu różnice między dokumentami HTML 4.01 i XHTML 1.0 - w każdym z odpowiednich DTD - są w dużej mierze składniowe. Podstawowa składnia HTML pozwala na wiele skrótów, których nie ma w XHTML, takich jak elementy z opcjonalnymi znacznikami otwierającymi lub zamykającymi, a nawet PUSTE elementy, które nie mogą mieć znacznika końcowego. Natomiast XHTML wymaga, aby wszystkie elementy miały znacznik otwierający lub zamykający. XHTML wprowadza jednak również nowy skrót: znacznik XHTML można otwierać i zamykać w tym samym znaczniku, włączając ukośnik przed końcem znacznika w następujący sposób:
. Wprowadzenie tego skrótu, które nie jest używane w deklaracji SGML dla HTML 4.01, może mylić wcześniejsze oprogramowanie nieznające tej nowej konwencji. Rozwiązaniem tego problemu jest włączenie spacji przed zamknięciem znacznika, jako takie:
.
HTML i XHTML są ściśle powiązane i dlatego mogą być dokumentowane razem. Zarówno HTML 4.01, jak i XHTML 1.0 mają trzy specyfikacje podrzędne - ścisłe, luźne i zestaw ramek. W deklaracjach otwierających różnicę dla dokumentu rozróżnia się HTML i XHTML. Inne różnice są składniowe. HTML dopuszcza skróty takie jak elementy z opcjonalnymi znacznikami, puste elementy bez znaczników końcowych. XHTML jest bardzo surowy w kwestii otwierania i zamykania tagów. XHTML korzysta z wbudowanego atrybutu funkcjonalności definiującego język. Wszystkie wymagania dotyczące składni XML są zawarte w dobrze sformatowanym dokumencie XHTML.
Zauważ jednak, że różnice te mają zastosowanie tylko wtedy, gdy dokument XHTML jest obsługiwany jako aplikacja XML; to znaczy z typem aplikacji MIME / xhtml + xml, application / xml lub text / xml. Dokument XHTML obsługiwany z typem tekstu / html typu MIME musi zostać przeanalizowany i zinterpretowany jako HTML, dlatego w takim przypadku obowiązują reguły HTML. Arkusz stylów napisany dla dokumentu XHTML obsługiwanego z typem tekstu / html typu MIME może nie działać zgodnie z przeznaczeniem, jeśli dokument zostanie następnie dostarczony z typem aplikacji MIME / xhtml + xml. Aby uzyskać więcej informacji o typach MIME, przeczytaj rozdziały Typy MIME.
Może to być szczególnie ważne, gdy podajesz dokumenty XHTML jako tekst / HTML. O ile nie znasz różnic, możesz utworzyć arkusze stylów, które nie będą działać zgodnie z przeznaczeniem, jeśli dokument będzie obsługiwany jako prawdziwy XHTML.
Tam, gdzie terminy „XHTML” i „Dokument XHTML” pojawiają się w pozostałej części tej sekcji, odnoszą się do znaczników XHTML obsługiwanych z typem XML MIME. Znaczniki XHTML podawane jako text / html są dokumentami HTML, jeśli chodzi o przeglądarki.
Zgodnie z zaleceniami W3C w przypadku migracji HTML do XHTML (dokumenty XHTML 1.0) można wykonać następujące kroki:
Ostrożnie postępując zgodnie z wytycznymi W3C dotyczącymi zgodności, agent użytkownika (przeglądarka internetowa) powinien być w stanie interpretować dokumenty z taką samą łatwością jak HTML lub XHTML.
Aby zrozumieć subtelność różnice między HTML a XHTML, rozważ przekształcenie ważnego i poprawnie sformułowanego dokumentu XHTML 1.0 w prawidłowy dokument HTML 4.01. Aby wykonać to tłumaczenie, należy wykonać następujące czynności:
język
atrybut zamiast XHTML xml: lang
atrybut. XHTML korzysta z wbudowanego atrybutu XML definiującego język. xmlns = URI
). HTML nie ma ułatwień dla przestrzeni nazw.
). text / html
. Zarówno dla HTML, jak i XHTML, pochodzi z HTTP Typ zawartości
nagłówek wysłany przez serwer.
do
).