Kako podesiti pametne telefone i računare. Informativni portal

Kako se html razlikuje od xhtml-a. Pojmovnik pojmova

20.05.16. 3.4K

I HTML i XHTML su jezici za kreiranje web stranica. HTML je izgrađen na SGML-u, a XHTML je uključen XML baziran... Oni su kao dvije strane istog novčića. XHTML je kreiran od HTML-a u svrhu usklađivanja sa XML standardima. Shodno tome, XHTML je stroži od HTML-a i ne dozvoljava vam da odstupite od pravila kodiranja.

XHTML je razvijen zbog neke zabune u oznakama. Stranice napisane u HTML-u su prikazane u različitim pretraživačima drugačije.

uporedna tabela

Html XHTML
Definicija (sa Wikipedije) HTML ili HyperText Markup Language je primarni jezik za označavanje za kreiranje web stranica i drugih dokumenata koji se mogu pregledati u pretraživaču. XHTML (Extensible HyperText Markup Language) je porodica XML jezika za označavanje koji proširuju i proširuju jezik za označavanje hiperteksta (HTML) na kojem su napisane web stranice.
Ekstenzije fajlova .html, .htm. .xhtml, .xht, .xml, .html, .htm.
Format upotrebe tekst / html. app / xhtml + xml.
Kreirao W3C i WHATWG. Svijet Wide web Konzorcijum.
Vrsta formata Format dokumenata. Markup language.
Prošireno od SGML. XML, HTML.
Dešifrovanje Jezik za označavanje hiperteksta. Proširivi jezik za označavanje hiperteksta.
Aplikacija Aplikacija Standard Generalized Markup Language (SGML). XML aplikacija.
Funkcije Web stranice su napisane u HTML-u. Proširena verzija HTML-a, rigoroznija, zasnovana na XML-u.
Ponašanje Fleksibilni okviri ne zahtijevaju raščlanjivanje HTML sintakse. Ograničeno XML pravila i zahtijeva njihovo poštovanje.
Porijeklo Predložio Tim Berners-Lee 1987. Preporuka Širom svijeta 2000 Web Consortium.
Verzije HTML 2, HTML 3.2, HTML 4.0, HTML 5. XHTML 1, XHTML 1.1, XHTML 2, XHTML 5.

Pregled HTML-a i XHTML-a

HTML je primarni jezik za označavanje web stranica. Kreira strukturirane dokumente isticanjem elemenata kao što su naslovi, liste, veze, citati itd. Omogućava vam da ugradite slike i objekte kako biste kreirali interaktivne forme. HTML je specificiran pomoću oznaka u ugaonim zagradama - na primjer, ... Takođe, njegov kod može sadržavati skripte napisane u JavaScript-u.

XHTML je porodica XML jezika koji se proširuju ili proširuju HTML verzije... Ne dozvoljavaju izostavljanje oznaka ili minimiziranje atributa. XHTML zahtijeva da svaka početna oznaka ima odgovarajuću završnu oznaku u ispravnom redoslijedu. Na primjer, ako je jedna oznaka dozvoljena u jeziku hiperteksta
, tada u XHTML-u, za razliku od HTML-a, morate napisati oznaku
... Ovo je razlika.

Funkcije HTML i XHTML dokumenata

HTML sintaksa se sastoji od sljedećih komponenti: oznake za otvaranje i zatvaranje, atributi elementa ( dato u oznakama), tekstualni i grafički sadržaj. HTML element je sve između oznaka, uključujući i same oznake.

XHTML dokument sadrži samo jedan osnovni element. Svi elementi, uključujući varijable, moraju biti napisani malim slovima, a dodijeljene vrijednosti moraju biti stavljene u navodnike, zatvorene i ugniježđene. U XHTML-u, ovo je obavezan uslov- za razliku od HTML-a. XHTML DOCTYPE deklaracija definira pravila za dokumente koje treba slijediti.

Basic HTML sintaksa prihvata mnoge skraćenice koje nisu dozvoljene u XHTML-u. Na primjer, elementi koji ne zahtijevaju i oznaku za otvaranje i zatvaranje. XHTML zahtijeva da svi elementi imaju oznaku za otvaranje i zatvaranje. U isto vrijeme, XHTML uvodi nove skraćenice: XHTML tag se može otvoriti i zatvoriti kosom crtom (
).

Uvođenje sintakse koja se ne koristi u SGML deklaracijama za HTML 4.01 može dovesti do zabune u aplikacijama u ranim fazama. Da biste riješili ovaj problem, trebate koristiti razmak ispred završne oznake:
.

XHTML i HTML specifikacija

HTML i XHTML se mogu dokumentovati zajedno. I HTML 4.01 i XHTML 1.0 imaju tri podspecifikacije — strogu, opuštenu i okvirnu. Razlika HTML dokumenti a XHTML se odnosi na deklarisanje dokumenata. Ostale razlike su sintaktičke. HTML ne dozvoljava završnu oznaku, prazne elemente bez završne oznake. Extensible Hypertext Markup Language je vrlo strog u pogledu otvaranja i zatvaranja XHTML oznaka. Koristi ugrađeni jezik za definiranje funkcionalnosti atributa. Svi zahtjevi XML sintakse se prate u XHTML dokumentu.

Ali ove razlike se pojavljuju samo kada se XHTML dokument koristi kao XML aplikacija; odnosno kao MIME tipovi aplikacija / XHTML + XML, aplikacija / XML ili tekst / XML. XHTML dokument koji se koristi kao tekst / HTML MIME tip mora se tumačiti kao HTML, tako da u ovom slučaju primijeniti HTML pravila... CSS napisan za XHTML koji se koristi kao tekst / HTML MIME tip možda neće raditi ispravno u dokumentu koji se koristi kao aplikacija / XHTML + XML MIME tip. Primiti Dodatne informacije za MIME tipove, pogledajte odgovarajuću dokumentaciju.

Ovo može biti važno kada koristite XHTML dokumente kao što su tekst / HTML. Ako niste svjesni ovih razlika, možete kreirati CSS koji neće raditi kako se očekuje ako se dokument koristi kao XHTML.

Gdje su pojmovi “ XHTML" i " XHTML dokument“, Za ostatak ovog odjeljka, pretpostavlja se da definiraju upotrebu XHTML oznake kao XML MIME tipa. XHTML oznaka koja se koristi kao tekst / HTML je HTML dokument.

Kako se prebaciti sa HTML-a na XHTML

  • Uključite atribute xml: lang i lang za elemente koji postavljaju jezik;
  • Koristite sintaksu praznog elementa za elemente navedene u HTML-u kao prazne;
  • Koristite dodatni prostor na oznakama praznih elemenata: ;
  • Koristite završne oznake za elemente koji mogu sadržavati sadržaj, ali su prazni: ;
  • Nemojte uključivati ​​XML deklaraciju.

XHTML je skraćenica od ExtensibleHypertext Markup Language, a na ruskom - Extensible Hypertext Markup Language. Napomena nije proširena, već proširiva. To znači da ovaj jezik

Do sada je dopunjen (proširen). Dakle, šta je XHTML? Glavni poštuje XHTML iz istog HTML-a je način obrade dokumenta (web stranice). Vrijedi uvesti još jednu definiciju. Parser je program ili dio programa koji se izvršava raščlanjivanje... Takođe se naziva i parser. Ako je još jednostavnije, onda ovaj program analizira cjelokupnu strukturu stranice, cijeli kod stranice. U HTML-u, kada je pronađena greška, tokom analize je ispravljena, što je zahtevalo dodatno vreme – pretraživač je trebao da shvati šta autor (programer) želi da napiše. Na primjer, ako je bilo greške u bilo kojoj oznaci, ona je jednostavno bila prikazana s ostatkom teksta.

Druga razlika je u tome što svi elementi moraju biti zatvoreni i pojedinačne oznake mora imati / iza znakova, na primjer:
... Napisaću posebno o oznakama. odličan članak, također ću pisati o svakoj oznaci posebno. XHTML kodiranje je UTF-8 (trenutno najčešći), dok je HTML koristio ISO 8859-1.

Šta je XHTML Modularizacija?

XHTML modularizacija je podjela XHTML 1.0, u odnosu na HTML 4, na kolekciju apstraktnih modula koji pružaju specifične tipove funkcionalnosti. Ovi apstraktni moduli su implementirani u ovoj specifikaciji koristeći jezik za definiciju tipa XML dokumenta, ali se očekuje implementacija pomoću XML šeme.
U ovom dokumentu su takođe definisana pravila za definisanje apstraktnih modula i njihovu implementaciju koristeći DTD.


xhtml

Ovi moduli se mogu kombinovati jedan sa drugim i sa drugim modulima da bi se kreirao podskup i proširenje tipova XHTML dokumenata koji se kvalifikuju kao članovi porodice XHTML dokumenata.

Čemu služi XHTML modulizacija?

Model formatiranja

Prethodne verzije HTML-a pokušavale su definirati dijelove takvog modela koje je korisnički agent (korisnički agent) trebao koristiti prilikom formatiranja dokumenta. Sa pojavom, W3C je započeo proces odvajanja prezentacije od strukture. XHTML 1.0 održava ovo razdvajanje i ovaj dokument nastavlja da se kreće od HTML-a i njegovih potomaka u tom pravcu. Shodno tome, ovaj dokument ne postavlja nikakve zahtjeve za model formatiranja povezan sa prezentacijom dokumenata označenih korištenjem tipova dokumenata porodice XHTML.


xhtml

Umjesto toga, ovaj dokument preporučuje da se autori sadržaja oslanjaju na mehanizme stiliziranja kao što je CSS kada definiraju model oblikovanja za svoj sadržaj.
Ako korisnički agenti podržavaju mehanizme stilova, dokumenti će biti formatirani kako se očekuje.
Ako korisnički agenti ne podržavaju mehanizme stiliziranja, dokumenti će biti formatirani kako odredi korisnički agent. Ovo omogućava korisničkim agentima porodice XHTML da podrže složene (fancy; A.R.) modele formatiranja na tim uređajima gdje je to moguće i mijenjaju modele formatiranja na tim uređajima gdje je to moguće.

Extensible Hypertext Markup Language (XHTML) je brz način referenciranja nekoliko jezičnih preporuka koje se široko koriste na uređajima na kojima je omogućen Internet za pretraživanje weba. Iako je nazvan po svom prethodniku, Hypertext Markup Language (), on je zapravo zasnovan na Extensible Markup Language (XML), koji je vrlo selektivan dio Standard Generalized Markup Language (SGML).
U stvari, svi su potomci SGML-a. Iako je HTML direktna primjena SGML-a, XHTML je ono što se zove imenski prostor ili skup definicija za XML dokument, koji pomaže u uklanjanju dvosmislenosti kada se koristi više od jednog XML rječnika u bilo kojoj situaciji.

Jezik je nastao iz nekoliko ograničenja HTML-a i različitih načina na koje se HTML implementira. Otprilike kada je HTML ažuriran na verziju 4, počeo je da slabi, kada su ga pravilno koristili mnogi HTML tumači, kompjuterski programi koji raščlanjuju HTML dokumente u formatiranu, vidljivu web stranicu. Kako su se pojavili mobilni uređaji i druge platforme za pretraživanje weba, bilo je potrebno bolje rješenje. XML je mnogo stroža implementacija SGML-a od HTML-a, a različiti XML imenski prostori se mogu koristiti u istoj instanci. Stoga je oko 2000. godine World Wide Web Consortium (W3C) razvio i učinio XHTML jednom od svojih preporuka za rješavanje nekih od ovih novih problema.

Za sve namjere i svrhe, u većini slučajeva XHTML oponaša HTML, ali pošto prvi koristi XML imenski prostor, može ga raščlaniti bilo koji XML tumač, a HTML je ograničen samo na HTML interpretatore. XHTML je zapravo ponovo kreiran HTML pod restriktivnijim podskupom XML SGML-a. Tako je noviji jezik mogao odmah biti protumačen postojećim web pretraživačima, a postao je dostupan i za druge platforme. Takođe je važno zapamtiti da mora biti u skladu sa proširivim aspektom XHTML firmvera. Ne samo da omogućava čitanje više programa i platformi, već se i širi kako bi omogućio korištenje drugih XML imenskih prostora u svojim dokumentima.

Zbog mogućnosti XHTML-a da uključi druge XML prostore imena u dokument, on se može proširiti na nekoliko načina da predstavlja više od formatiranja stranice. Na primjer, jezik za označavanje matematike (MathML) može biti uključen u ove dokumente za prikaz matematičkih formula i zapisa. Slike se takođe mogu ugraditi pomoću skalabilne vektorske grafike (SVG) imenskog prostora u ovaj tip dokumenta. Dakle, XHTML se takođe može uključiti u drugi XML dokument.

Budući da je XHTML zapravo samo HTML rafiniran prema XML pravilima, nudi tri definicije tipa dokumenta (DTD) koje dupliciraju one u HTML verziji 4. DTD je detaljan opis elemenata markup jezika, uključujući kada, gdje i kako mogu se koristiti i svi povezani atributi. Ali kasnije verzije XHTML-a uvele su XML šeme, još jedan, pouzdaniji način opisivanja XML dokumenta, koji je još više proširio XHTML. Zauzvrat, razvijene su različite skraćene verzije XHTML-a koje se zatim mogu koristiti u posebne svrhe, od kojih se mnoge vrte oko platformi za mobilno računarstvo.

Prilikom odabira DOCTYPE potrebno je jasno odrediti koji od dva standarda odabrati: Html ili XHTML... I kako bih vam olakšao izbor, odlučio sam rastaviti razlika između HTML-a i XHTML-a.

Glavna razlika između HTML-a i XHTML-a je li to XHTML zasnovano na sintaksi XML... I, samim tim, on je strožiji i u njemu ne treba dozvoliti one slobode koje se mogu dozvoliti u Html.

A sada ćemo analizirati tačke specifičnosti XHTML sintakse:

1. Svaka oznaka mora biti zatvorena

Uparene oznake moraju biti zatvorene Html takođe, ali to svi znamo u Html postoji mnogo pojedinačnih oznaka (npr.<img>), a mogli bismo sa sigurnošću napisati na ovaj način:

Međutim, u XHTML sve oznake moraju biti zatvorene, čak i pojedinačne, a zatvaraju se na sljedeći način:

Jedina razlika je kosa crta prije druge ugaone zagrade.

2. Sve posebne znakove treba zamijeniti entitetima

Odnosno, ne možete pisati ovako: " & ", ovaj znak trebate napisati samo kao entitet, tj.," & ". V Html ne postoji takvo pravilo.

3. Sve vrijednosti atributa moraju biti pod navodnicima.

To svi znamo u Html može se napisati ovako:

To jest, imamo vrijednost atributa " širina"nalazi se bez navodnika. XHTML ovo je neprihvatljivo i tu je potrebno napisati ovako:

4. Sve oznake i atributi moraju biti napisani malim slovima.

Da budem iskren, nikad nisam razumio zašto ljudi pišu oznake velikim slovima. Po mom mišljenju, to deformiše kod, i postoji osjećaj da je napisan bez stiskanja " CAPSLOCK Ali ako uđete Html je stvar ukusa, onda u XHTML- ovo je pravilo: pisati samo malim slovima.

Kao što vidite, jedina razlika je u sintaksi. Postoje i druge manje razlike, ali nećemo o njima. Drugim riječima, jedina korist XHTML- lakši je raščlanjivanje dokumenta... I XHTML vrlo pogodno za ljubitelje "čistog" koda. Nema više prednosti. Svi pretraživači se prikazuju ispravno i Html, i XHTML... A često i pretraživači XHTML tretiran kao Html, dakle, za pojavu ozbiljnih razlike u HTML-u i XHTML-u definitivno neće.

Odabrao sam za sebe XHTML, jer jako volim kada je kod "čist" i kada se lako može raščlaniti na sastavne dijelove ( raščlanjivanje). Da, i općenito sam navikao na strogu sintaksu drugih jezika, na primjer, Java, pa ću ipak pisati što je moguće valjanije. A šta ćete izabrati zavisi od vas, ali o tome razlike između HTML-a i XHTML-a Već znate.

XHTML je napisan koristeći istu sintaksu kao HTML. Ipak, razlika između HTML-a i XHTML-a leži u skupu nekih obaveznih pravila.

XHTML pravila su sljedeća.

  1. Sve oznake i njihovi atributi moraju biti upisani malim slovima (mala slova).
  2. Vrijednosti bilo kojeg atributa moraju biti stavljene u navodnike.
  3. Sve oznake moraju biti zatvorene, čak i one koje nemaju pridruženu završnu oznaku.
  4. Mora se voditi računa o ispravnom ugnježđenju oznaka.
  5. Ne možete koristiti skraćene atribute oznaka.
  6. Koristite id umjesto atributa name.
  7. DTD (definicija tipa dokumenta) treba definirati pomoću elementa .

Oznake moraju biti upisane malim slovima

Ovo pravilo je nastalo zato što je XHTML osjetljiv na velika i mala slova, pa tagovi


i
razlikuju se. Da bi se izbjegla zabuna, sintaksa prisiljava sve oznake, kao i njihove atribute, da budu mala slova. Primjer 3.1 pokazuje pogrešnu upotrebu oznaka.

Primjer 3.1. Pogrešan pravopis oznaka

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor sit amet ...

U ovom primjeru, oznake i

Upisuju se velikim slovima, što je greška. Primjer 3.2 pokazuje ispravan kod.

Primjer 3.2. Ispravan pravopis oznaka

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor sit amet ...

Vrijednosti bilo kojeg atributa moraju biti stavljene u navodnike

Iako HTML također zahtijeva da vrijednosti stavite u navodnike, njihov nedostatak ni na koji način ne utiče na ispravnost koda. Dakle, možemo reći da je u HTML-u upotreba navodnika samo smjernica. U XHTML-u, upotreba navodnika je podignuta na pravilo i sve vrijednosti atributa moraju biti specificirane samo u njima (primjer 3.3).

Primjer 3.3. Korištenje navodnika

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Cheburashka Shapoklyak
1 5
4 13

U ovom primjeru, svi atributi oznake

, i
navedeni su u navodnicima.

Sve oznake moraju biti zatvorene

U HTML-u oznake su podijeljene u dvije kategorije - uparene oznake, koje se nazivaju i kontejneri, i pojedinačne oznake. Uparene oznake sastoje se od početne i završne oznake, au nekim slučajevima završna oznaka može biti izostavljena. U XHTML-u, krajnja oznaka je potrebna bilo kada i bilo gdje. Primjer 3.4 prikazuje kod s greškom zbog nedostajuće oznake

.

Primjer 3.4. Nema završne oznake

XHTML 1.0 IE Cr Op Sa Fx

XHTML

i penje se, kradomice, u avion,

i stavlja bombu u njegov stomak,

Neki programeri zanemaruju krajnje oznake ,

, ali XHTML smatra njihovo odsustvo greškom. Primjer 3.5 pokazuje ispravnu upotrebu lista.

Primjer 3.5. Dodavanje liste

XHTML 1.0 IE Cr Op Sa Fx

XHTML

  • Istok
  • Zapad
  • Jug
  • Sjever

U ovom primjeru, svaka početna oznaka ima svoju završnu oznaku.

Elementnije dio XHTML dokumenta, tako da ne zahtijeva završnu oznaku.

Pojedinačne oznake moraju završavati kosom crtom ispred zagrade za ugao, kao što je prikazano u primjeru 3.6.

Primjer 3.6. Dodavanje slike

XHTML 1.0 IE Cr Op Sa Fx

XHTML

U ovom primjeru uočite potreban prostor koji prethodi konstrukciji />.

Table 3.1 pokazuje neke HTML oznake i kako su one napisane u XHTML dokumentu.

Mora se poštovati pravilno ugniježđenje oznaka

XHTML je kritičan prema greškama sljedećih tipova: pogrešno ugniježđenje jedne oznake unutar druge i lokacija oznake u neprikladnom kontejneru.

Ispravno ugniježđenje oznaka

Svaka oznaka mora biti locirana unutar druge oznake, dok njihovo "ukrštanje" nije dozvoljeno, kao što je prikazano u primjeru 3.7.

Primjer 3.7. Greška pozicije oznake

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor sit amet ...

U ovom primjeru, krajnja oznaka prethodi oznaci, iako bi trebalo biti obrnuto, što dovodi do greške. Ako zamijenite oznake, kod postaje ispravan.

Iako validator koda daje grešku ako su oznake pozicionirane pogrešno, pretraživači ispravno prikazuju web stranicu.

Hijerarhija oznaka

Svi tagovi imaju strogi hijerarhijski sistem u smislu da svaki tag mora biti unutar druge oznake i ništa više. Korijenski element se nalazi na uslovnom vrhu , a sve ostale oznake mogu sadržavati druge oznake unutar sebe, koje se nazivaju podređenim oznakama. U skladu s tim, podređene oznake se nalaze u roditeljskom elementu.

Prilikom pisanja XHTML koda morate znati i pratiti sistem podređenosti oznaka. Primjer 3.8 prikazuje osnovnu strukturu dokumenta.

Primjer 3.8. Struktura dokumenta

XHTML 1.0 IE Cr Op Sa Fx

novi dokument

U ovom primjeru, oznaka je prva , unutar kojeg se nalaze oznake i ... Unutar sekcije naslov dokumenta je pohranjen ( ) i kodiranje stranice ( <meta> ).</p> <h2>Ne mogu koristiti skraćene atribute oznake</h2> <p>Atribut bez dodijeljene vrijednosti je skraćen. Primjer 3.9 prikazuje obrazac koji koristi ove atribute.</p> <p>Primjer 3.9. Greška u korištenju atributa</p> <p>XHTML 1.0 IE Cr Op Sa Fx</p><p> <!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>XHTML

"Prazna vrijednost", kako se ova greška također naziva, lako se ispravlja dodjeljivanjem vrijednosti atributu koji odgovara imenu. Table 3.2 pokazuje neke od atributa i kako su napisani u HTML i XHTML.

Tabela 3.2. Mapiranje atributa u HTML i XHTML
Html XHTML
provjereno checked = "provjereno"
kompaktan kompakt = "kompaktan"
onemogućeno disabled = "onemogućeno"
ismap ismap = "ismap"
višestruko višestruko = "višestruko"
nohref nohref = "nohref"
noresize noresize = "noresize"
noshade noshade = "noshade"
nowrap nowrap = "nowrap"
samo za čitanje readonly = "samo za čitanje"
odabrano odabrano = "odabrano"

Primjer 3-10 pokazuje ispravnu upotrebu gornjeg obrasca.

Primjer 3.10. Ispravna upotreba atributa

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Umjesto atributa name, morate navesti id

Atribut imena je definiran u HTML-u za oznake , ,