HTML i XHTML su oba jezika na kojima su napisane web stranice. HTML je
HTML je glavni jezik označavanja za web stranice. HTML stvara strukturirane dokumente označavanjem strukturne semantike za tekst poput naslova, popisa, veza, citata itd. Omogućuje umetanje slika i objekata za stvaranje interaktivnih oblika. Napisano je kao oznake okružene uglastim zagradama - na primjer, . Može se učitati i skripte na jezicima kao što je JavaScript.
XHTML je obitelj XML jezika koji proširuju ili zrcale verzije HTML-a. Ne dopušta izostavljanje bilo kakvih oznaka ili upotrebu minimalizacije atributa. XHTML zahtijeva da za svaku početnu oznaku postoji krajnja oznaka, a sve ugniježđene oznake moraju biti zatvorene u ispravnom redoslijedu. Na primjer, dok
vrijedi u HTML-u, bilo bi potrebno napisati
u XHTML-u.
HTML dokumenti su sastavljeni od elemenata koji imaju tri komponente - par oznaka elemenata - početna oznaka, krajnja oznaka; atributi elemenata dani unutar oznaka i stvarni, tekstualni i grafički sadržaj. HTML element je sve što se nalazi između i uključuje oznake. (Oznaka je ključna riječ koja je zatvorena u zagradama).
XHTML dokumenti imaju samo jedan korijenski element. Svi elementi, uključujući varijable, moraju se nalaziti malim slovom, a dodijeljene vrijednosti moraju biti okružene navodnicima, zatvorene i ugniježđene da bi bile prepoznate. Ovo je obavezan zahtjev u XHTML-u za razliku od HTML-a gdje nije obavezan. Izjava DOCTYPE utvrdila bi pravila za dokumente koje treba slijediti.
Razlike u različitim deklaracijama za otvaranje dokumenta, razlike između HTML 4.01 i XHTML 1.0 dokumenta - u svakom od odgovarajućih DTD-ova - uglavnom su skladne. Sintaksa u HTML-u dopušta mnoge prečace koje XHTML nema, poput elemenata s opcijskim oznakama otvaranja ili zatvaranja, pa čak i EMPTY elementima koji ne moraju imati krajnju oznaku. S druge strane, XHTML zahtijeva da svi elementi imaju početnu oznaku ili završnu oznaku. XHTML, međutim, uvodi i novu prečicu: XHTML oznaka se može otvoriti i zatvoriti unutar iste oznake, uključujući crtanje prije kraja oznake poput ove:
. Uvođenje ove skraćenice, koja se ne koristi u deklaraciji SGML za HTML 4.01, može zbuniti raniji softver koji nije upoznat s ovom novom konvencijom. Popravak za to je uključivanje razmaka prije zatvaranja oznake, kao takvog:
.
HTML i XHTML su usko povezani pa ih je moguće zajedno dokumentirati. Oba HTML 4.01 i XHTML 1.0 imaju tri pod specifikacije - strogu, labav i frameset. Izjava o otvaranju razlike za dokument razlikuje HTML i XHTML. Ostale razlike su sintaktičke. HTML omogućava prečace poput elemenata s neobaveznim oznakama, praznih elemenata bez krajnjih oznaka. XHTML je vrlo strog u pogledu otvaranja i zatvaranja oznaka. XHTML koristi ugrađeni atribut funkcionalnosti koji određuje jezik. Svi zahtjevi za sintaksu XML uključeni su u dobro formiran XHTML dokument.
Imajte na umu da se te razlike primjenjuju samo kad se XHTML dokument poslužuje kao aplikacija XML-a; to jest s MIME vrstom aplikacije / xhtml + xml, application / xml ili text / xml. XHTML dokument poslužen s MIME vrstom teksta / html-a mora se raščlaniti i interpretirati kao HTML, tako da se u ovom slučaju primjenjuju pravila HTML-a. Tablica stila napisana za XHTML dokument koji se poslužuje s MIME vrstom teksta / html-a možda neće raditi kako je planirano ako se dokumentu poslužuje s MIME vrstom aplikacije / xhtml + xml. Za više informacija o MIME tipovima obavezno pročitajte MIME tipove.
To može biti osobito važno kada XHTML dokumente poslužujete kao tekst / html. Ako niste svjesni razlike, možete stvoriti tablice stilova koji neće raditi kako je bilo predviđeno ako je dokument poslužio kao pravi XHTML.
Tamo gdje se pojmovi "XHTML" i "XHTML dokument" pojavljuju na ostatku ovog odjeljka, odnose se na XHTML markup poslužen s XML MIME tipom. Oznaka XHTML koja služi kao tekst / html je HTML dokument, što se tiče preglednika.
Prema preporuci W3C-a, slijede se koraci za migraciju HTML-a u XHTML (XHTML 1.0 dokumenti):
Pažljivo slijedeći W3C-ove smjernice o kompatibilnosti, korisnički agent (web preglednik) trebao bi biti u mogućnosti interpretirati dokumente s jednakom lakoćom kao HTML ili XHTML.
Da razumijemo suptilno razlike između HTML i XHTML, razmotrite transformaciju valjanog i dobro formiranog XHTML 1.0 dokumenta u valjani dokument HTML 4.01. Za izradu ovog prijevoda potrebni su sljedeći koraci:
lang
atribut, a ne XHTML xml: lang
atribut. XHTML koristi XML ugrađen u atribut funkcionalnosti koji određuje jezik. xmlns = URI
). HTML nema mogućnosti za prostore imena.
). text / html
. I za HTML i za XHTML, ovo dolazi s HTTP-a Content-Type
zaglavlje koje šalje server.
do
).