Cum se configurează smartphone-uri și PC-uri. Portal informativ

Cum diferă html de xhtml. Glosar de termeni

20.05.16 3.4K

Atât HTML, cât și XHTML sunt limbaje pentru crearea paginilor web. HTML este construit pe SGML și XHTML este activat Bazat pe XML... Sunt ca două fețe ale aceleiași monede. XHTML a fost creat din HTML cu scopul de a se conforma standardelor XML. În consecință, XHTML este mai strict decât HTML și nu vă permite să vă abateți de la regulile de codificare.

XHTML a fost dezvoltat din cauza unei confuzii de etichete. Paginile scrise în HTML au fost redate în browsere diferite diferit.

tabel comparativ

HTML XHTML
Definiție (din Wikipedia) HTML sau HyperText Markup Language este limbajul de marcare principal pentru crearea de pagini web și alte documente care pot fi vizualizate într-un browser. XHTML (Extensible HyperText Markup Language) este o familie de limbaje de marcare XML care extind și extind limbajul Hypertext Markup (HTML) în care sunt scrise paginile web.
Extensii de fișiere .html, .htm. .xhtml, .xht, .xml, .html, .htm.
Format de utilizare text/html. aplicație / xhtml + xml.
Proiectat de W3C și WHATWG. Lume Rețeaua largă Consorţiu.
Tip de format Formatul documentelor. Limbajul de marcare.
Extins din SGML. XML, HTML.
Decriptare Limbajul de marcare hipertext. Limbajul de marcare hipertext extensibil.
Apendice Aplicație Standard Generalized Markup Language (SGML). aplicație XML.
Funcții Paginile web sunt scrise în HTML. O versiune extinsă de HTML, mai riguroasă, bazată pe XML.
Comportament Cadrele flexibile nu necesită analiza sintaxei HTML. Limitat reguli XMLși necesită respectarea acestora.
Origine Propus de Tim Berners-Lee în 1987. Recomandare La nivel mondial 2000 Web Consortium.
Versiuni HTML 2, HTML 3.2, HTML 4.0, HTML 5. XHTML 1, XHTML 1.1, XHTML 2, XHTML 5.

Prezentare generală a HTML și XHTML

HTML este limbajul de marcare principal pentru paginile web. Creează documente structurate prin evidențierea elementelor precum titluri, liste, linkuri, citate etc. Vă permite să încorporați imagini și obiecte pentru a crea forme interactive. HTML este specificat folosind etichete în paranteze unghiulare - de exemplu, ... De asemenea, codul său poate conține scripturi scrise în JavaScript.

XHTML este o familie de limbaje XML care se extind sau se extind versiuni HTML... Acestea nu permit omiterea niciunei etichete sau minimizarea atributelor. XHTML necesită ca fiecare etichetă de deschidere să aibă o etichetă de închidere potrivită în ordinea corectă. De exemplu, dacă o singură etichetă este permisă în limba hipertext
, apoi în XHTML, spre deosebire de HTML, trebuie să scrieți eticheta
... Aceasta este diferența.

Funcțiile documentelor HTML și XHTML

Sintaxa HTML constă din următoarele componente: etichete de deschidere și de închidere, atribute ale elementelor ( dat în etichete), conținut text și grafic. Un element HTML este orice între etichete, inclusiv etichetele în sine.

Un document XHTML conține un singur element rădăcină. Toate elementele, inclusiv variabilele, trebuie scrise cu litere mici, iar valorile atribuite trebuie citate, închise și imbricate. În XHTML, aceasta este cerinta obligatorie- spre deosebire de HTML. Declarația XHTML DOCTYPE definește regulile pentru documentele care trebuie urmate.

De bază Sintaxa HTML acceptă multe abrevieri care nu sunt permise în XHTML. De exemplu, elemente care nu necesită atât o etichetă de deschidere, cât și de închidere. XHTML necesită ca toate elementele să aibă atât o etichetă de deschidere, cât și o etichetă de închidere. În același timp, XHTML introduce noi abrevieri: o etichetă XHTML poate fi deschisă și închisă cu o bară oblică (
).

Introducerea unei sintaxe care nu este folosită în declarațiile SGML pentru HTML 4.01 ar putea duce la confuzie în aplicații în stadiile incipiente. Pentru a rezolva această problemă, trebuie să utilizați un spațiu înainte de eticheta de închidere:
.

Specificații XHTML și HTML

HTML și XHTML pot fi documentate împreună. Atât HTML 4.01, cât și XHTML 1.0 au trei subspecificații - strict, lax și încadrare. Diferența documente HTML iar XHTML este despre declararea documentelor. Alte diferențe sunt sintactice. HTML nu permite nicio etichetă de închidere, elemente goale fără o etichetă de închidere. Extensible Hypertext Markup Language este foarte strict în ceea ce privește deschiderea și închiderea etichetelor XHTML. Folosește un limbaj încorporat pentru definirea funcționalității atributelor. Toate cerințele de sintaxă XML sunt respectate în documentul XHTML.

Dar aceste diferențe apar doar atunci când documentul XHTML este folosit ca aplicație XML; adică ca tip MIME aplicație / XHTML + XML, aplicație / XML sau text / XML. Un document XHTML folosit ca tip text/HTML MIME trebuie interpretat ca HTML, astfel încât în acest caz aplica reguli HTML... CSS scris pentru XHTML folosit ca tip text / HTML MIME poate să nu funcționeze corect într-un document care este utilizat ca aplicație / tip XHTML + XML MIME. Pentru obtinerea Informații suplimentare pentru tipurile MIME, consultați documentația aferentă.

Acest lucru poate fi important atunci când utilizați documente XHTML precum text / HTML. Dacă nu sunteți conștient de aceste diferențe, puteți crea CSS care nu va funcționa așa cum vă așteptați dacă documentul este folosit ca XHTML.

Unde termenii „ XHTML" și " document XHTML„, Pentru restul acestei secțiuni, se presupune că aceștia definesc utilizarea marcajului XHTML ca tip XML MIME. Markup XHTML folosit ca text / HTML este un document HTML.

Cum se trece de la HTML la XHTML

  • Includeți atributele xml: lang și lang pentru elementele care stabilesc limba;
  • Utilizați sintaxa elementului gol pentru elementele specificate în HTML ca goale;
  • Folosiți spațiu suplimentar pe etichetele de elemente goale: ;
  • Utilizați etichete de închidere pentru elementele care pot conține conținut, dar sunt goale: ;
  • Nu includeți declarația XML.

XHTML înseamnă ExtensibleHypertext Markup Language și în rusă - Extensible Hypertext Markup Language. Notă nu extinsă, dar extensibilă. Aceasta înseamnă că această limbă

Este completat (extins) până acum. Deci, ce este XHTML? Principalul onorează XHTML din acelasi HTML este modalitatea de procesare a unui document (pagina web). O altă definiție merită introdusă. Un parser este un program sau o parte dintr-un program care se execută analizare... Se mai numește și parser. Dacă este și mai simplu, atunci acest program analizează întreaga structură a paginii, întregul cod al paginii. În HTML, când a fost găsită o eroare, în timpul analizei aceasta a fost corectată, ceea ce a necesitat timp suplimentar - browserul trebuia să înțeleagă ce dorea să scrie autorul (dezvoltatorul). De exemplu, dacă a existat o eroare în orice etichetă, aceasta a fost pur și simplu afișată împreună cu restul textului.

O altă diferență este că toate elementele trebuie să fie închise și etichete unice trebuie să aibă un / după caractere, de exemplu:
... Voi scrie unul separat despre etichete. grozav articol, voi scrie și despre fiecare etichetă separat. Codificarea XHTML este UTF-8 (în prezent cea mai comună), în timp ce HTML a folosit ISO 8859-1.

Ce este modularizarea XHTML?

Modularizarea XHTML este împărțirea XHTML 1.0, în raport cu HTML 4, într-o colecție de module abstracte care oferă tipuri specifice de funcționalități. Aceste module abstracte sunt implementate în această specificație folosind limbajul XML Document Type Definition, dar este de așteptat o implementare folosind XML Schema.
Regulile pentru definirea modulelor abstracte și implementarea lor folosind DTD-uri sunt, de asemenea, definite în acest document.


xhtml

Aceste module pot fi combinate între ele și cu alte module pentru a crea un subset și o extensie de tipuri de documente XHTML care se califică ca membri ai familiei de tipuri de documente XHTML.

Pentru ce este modularizarea XHTML?

Model de formatare

Versiunile anterioare de HTML au încercat să definească părțile unui astfel de model care erau solicitate de agentul utilizator (agent de utilizator) să le folosească la formatarea unui document. Odată cu apariția, W3C a început procesul de separare a prezentării de structură. XHTML 1.0 menține această separare, iar acest document continuă să se deplaseze de la HTML și descendenții săi în această direcție. În consecință, acest document nu propune nicio cerință pentru un model de formatare asociat cu prezentarea documentelor marcate folosind tipurile de documente XHTML Family.


xhtml

Mai degrabă, acest document recomandă autorilor de conținut să se bazeze pe mecanisme de stilare precum CSS atunci când definesc un model de formatare pentru conținutul lor.
Dacă agenții utilizatori acceptă mecanisme de stil, atunci documentele vor fi formatate conform așteptărilor.
Dacă agenții utilizator nu acceptă mecanisme de stilare, documentele vor fi formatate așa cum specifică agentul utilizator. Acest lucru permite agenților utilizatorilor familiei XHTML să accepte modele de formatare complexe (fanteziste; A.R.) pe acele dispozitive, acolo unde este posibil, și să modifice modelele de formatare pe acele dispozitive, acolo unde este posibil.

Extensible Hypertext Markup Language (XHTML) este o modalitate rapidă de a face referire la mai multe recomandări lingvistice care sunt utilizate pe scară largă pe dispozitivele compatibile web pentru navigarea pe web. Deși este numit după predecesorul său, Hypertext Markup Language (), se bazează de fapt pe Extensible Markup Language (XML), care este o parte foarte selectivă a Standard Generalized Markup Language (SGML).
De fapt, toți sunt descendenți ai SGML. Deși HTML este o aplicație directă a SGML, XHTML este ceea ce se numește spațiu de nume sau un set de definiții pentru un document XML, care ajută la eliminarea ambiguității atunci când este folosit mai mult de un vocabular XML într-o situație dată.

Limbajul provine din mai multe limitări ale HTML și din diferitele moduri în care HTML este implementat. În perioada în care HTML a fost actualizat la versiunea 4, acesta a început să slăbească, atunci când este utilizat în mod corespunzător de mulți interpreți HTML, programe de calculator care analizează documentele HTML într-o pagină web formatată și vizibilă. Pe măsură ce au apărut dispozitivele mobile și alte platforme de navigare pe web, era nevoie de o soluție mai bună. XML este o implementare mult mai strictă a SGML decât HTML și diferite spații de nume XML pot fi utilizate în aceeași instanță. Prin urmare, în jurul anului 2000, World Wide Web Consortium (W3C) a dezvoltat și a făcut XHTML una dintre recomandările sale pentru a aborda unele dintre aceste probleme emergente.

Pentru toate scopurile, în cele mai multe cazuri XHTML imită HTML, dar deoarece primul folosește un spațiu de nume XML, acesta poate fi analizat de orice interpret XML, iar HTML este limitat doar la interpreții HTML. XHTML este de fapt un HTML re-creat sub un subset mai restrictiv de XML SGML. Astfel, limba mai recentă a putut fi interpretată imediat de browserele web existente și a devenit disponibilă și pentru alte platforme. De asemenea, este important să rețineți că trebuie să se conformeze aspectului extensibil al firmware-ului XHTML. Nu numai că permite citirea mai multor programe și platforme, dar se extinde și pentru a permite utilizarea altor spații de nume XML în documentele sale.

Datorită capacității XHTML de a include alte spații de nume XML într-un document, acesta poate fi extins în mai multe moduri pentru a reprezenta mai mult decât formatarea paginii. De exemplu, Math Markup Language (MathML) poate fi inclus în aceste documente pentru a afișa formule și notații matematice. Imaginile pot fi, de asemenea, încorporate folosind spațiul de nume Scalable Vector Graphics (SVG) în acest tip de document. Astfel, XHTML poate fi inclus și într-un alt document XML.

Deoarece XHTML este într-adevăr doar HTML rafinat conform regulilor XML, oferă trei definiții de tip de document (DTD) care le dublează pe cele din versiunea HTML 4. Un DTD este o descriere detaliată a elementelor unui limbaj de marcare, inclusiv când, unde și cum pot fi utilizate și orice atribute asociate. Dar versiunile ulterioare ale XHTML au introdus XML Schemes, un alt mod mai fiabil de a descrie un document XML, care a extins XHTML și mai mult. La rândul lor, au fost dezvoltate diverse versiuni reduse de XHTML care pot fi apoi utilizate în scopuri specifice, dintre care multe gravitează în jurul platformelor de calcul mobile.

La alegere DOCTYPE este necesar să se stabilească clar care dintre cele două standarde să alegeți: HTML sau XHTML... Și pentru a vă facilita alegerea, am decis să dezasamblam diferența dintre HTML și XHTML.

Principala diferență dintre HTML și XHTML este asta XHTML bazat pe sintaxă XML... Și, în consecință, el este mai strict și în el nu trebuie să permită acele libertăți care pot fi permise în HTML.

Și acum vom analiza punctele specificul sintaxei XHTML:

1. Fiecare etichetă trebuie să fie închisă

Etichetele asociate trebuie să fie închise HTML de asemenea, dar știm cu toții asta în HTML există multe etichete unice (de ex.<img>), și am putea scrie în siguranță astfel:

Cu toate acestea, în XHTML toate etichetele trebuie să fie închise, chiar și cele unice, și sunt închise după cum urmează:

Singura diferență este bara oblică înainte de a doua paranteză unghiulară.

2. Toate caracterele speciale trebuie înlocuite cu entități

Adică nu poți scrie așa: " & ", trebuie să scrieți acest caracter doar ca entitate, adică," & ". V HTML nu există o astfel de regulă.

3. Toate valorile atributelor trebuie să fie între ghilimele.

Știm cu toții că în HTML se poate scrie asa:

Adică avem valoarea atributului " lăţime„se găsește fără ghilimele. XHTML acest lucru este inacceptabil și acolo este necesar să scrieți astfel:

4. Toate etichetele și atributele trebuie scrise cu litere mici.

Sincer să fiu, nu am înțeles niciodată de ce oamenii scriu etichetele cu majuscule. După părerea mea, acest lucru desfigurează codul și există sentimentul că a fost scris fără a strânge " MAJUSCULE". Dar dacă în HTML este o chestiune de gust, apoi in XHTML- aceasta este regula: scrie doar cu litere mici.

După cum puteți vedea, singura diferență este în sintaxă. Există și alte diferențe minore, dar nu vom vorbi despre ele. Cu alte cuvinte, singurul beneficiu XHTML- e mai usoara parsarea unui document... Precum și XHTML foarte potrivit pentru iubitorii de cod „curat”. Nu mai sunt avantaje. Toate browserele se afișează corect și HTML, și XHTML... Și adesea browsere XHTML tratat ca HTML, deci, pentru aparenţa de gravă diferențe în HTML și XHTML cu siguranta nu va.

Am ales pentru mine XHTML, pentru că îmi place foarte mult când codul este „curat” și când poate fi ușor analizat în părțile sale componente ( analizare). Da, și în general sunt obișnuit cu sintaxa strictă a altor limbaje, de exemplu, Java, așa că voi scrie în continuare cât mai valid posibil. Și ceea ce alegi depinde de tine, dar despre diferențe dintre HTML și XHTML Deja știi.

XHTML este scris folosind aceeași sintaxă ca și HTML. Acestea fiind spuse, diferența dintre HTML și XHTML constă în setul de reguli obligatorii.

Regulile XHTML sunt după cum urmează.

  1. Toate etichetele și atributele lor trebuie introduse cu litere mici (caractere mici).
  2. Valorile oricăror atribute trebuie să fie cuprinse între ghilimele.
  3. Toate etichetele trebuie să fie închise, chiar și cele care nu au o etichetă de final asociată.
  4. Trebuie respectată imbricarea corectă a etichetelor.
  5. Nu puteți utiliza atributele etichetelor scurte.
  6. Folosiți id în loc de atributul nume.
  7. DTD (definiția tipului de document) ar trebui definită folosind elementul .

Etichetele trebuie introduse cu litere mici

Această regulă a apărut deoarece XHTML este sensibil la majuscule, deci etichetele


și
diferă. Pentru a evita confuzia, sintaxa forțează toate etichetele, precum și atributele acestora, să fie litere mici. Exemplul 3.1 arată utilizarea greșită a etichetelor.

Exemplul 3.1. Ortografie greșită a etichetelor

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor sit amet...

În acest exemplu, etichetele și

Sunt introduse cu majuscule, ceea ce este o eroare. Exemplul 3.2 arată codul corect.

Exemplul 3.2. Ortografie corectă a etichetelor

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor sit amet...

Valorile oricăror atribute trebuie să fie cuprinse între ghilimele

Deși HTML vă solicită și să includeți valorile între ghilimele, absența acestora nu afectează în niciun fel corectitudinea codului. Deci putem spune că în HTML, utilizarea ghilimelelor este doar un ghid. În XHTML, utilizarea ghilimelelor este ridicată la o regulă și orice valoare de atribut trebuie specificată numai în ele (exemplul 3.3).

Exemplul 3.3. Folosind ghilimele

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Cheburashka Shapoklyak
1 5
4 13

În acest exemplu, toate atributele etichetei

, precum și
sunt specificate între ghilimele.

Toate etichetele trebuie să fie închise

În HTML, etichetele sunt împărțite în două categorii - etichete pereche, numite și containere, și etichete simple. Etichetele împerecheate constau dintr-o etichetă de început și o etichetă de final, iar în unele cazuri, eticheta de final poate fi omisă. În XHTML, eticheta finală este necesară oricând și oriunde. Exemplul 3.4 arată codul cu o eroare din cauza etichetei lipsă

.

Exemplul 3.4. Fără etichetă finală

XHTML 1.0 IE Cr Op Sa Fx

XHTML

și urcă, pe furiș, în avion,

și-i pune o bombă în burtă,

Etichetele de final sunt ignorate de unii dezvoltatori ,

, dar XHTML consideră că absența lor este o eroare. Exemplul 3.5 arată utilizarea corectă a listelor.

Exemplul 3.5. Adăugarea unei liste

XHTML 1.0 IE Cr Op Sa Fx

XHTML

  • Est
  • Vest
  • Sud
  • Nord

În acest exemplu, fiecare etichetă de început are propria etichetă de final.

Elementnu face parte din documentul XHTML, deci nu necesită o etichetă de final.

Etichetele unice trebuie să se termine cu o bară oblică înainte de paranteza unghiulară de închidere, așa cum se arată în Exemplul 3.6.

Exemplul 3.6. Adăugarea unei imagini

XHTML 1.0 IE Cr Op Sa Fx

XHTML

În acest exemplu, observați spațiul necesar care precede construcția />.

Masa 3.1 arată câteva etichete HTML și modul în care sunt scrise într-un document XHTML.

Trebuie respectată impunerea corectă a etichetelor

XHTML critică erorile de următoarele tipuri: imbricarea incorectă a unei etichete în alta și locația etichetei într-un container neadecvat.

Imbricarea corectă a etichetelor

Fiecare etichetă trebuie să fie amplasată în interiorul altei etichete, în timp ce „intersecția” lor nu este permisă, așa cum se arată în exemplul 3.7.

Exemplul 3.7. Eroare de poziție a etichetei

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor sit amet...

În acest exemplu, eticheta finală precede eticheta, deși ar trebui să fie invers, ceea ce duce la eroare. Merită să schimbați locurile etichetelor, deoarece codul devine corect.

Deși validatorul de cod aruncă o eroare dacă etichetele sunt poziționate incorect, browserele redă pagina web corect.

Ierarhia etichetelor

Toate etichetele au un sistem ierarhic strict, în sensul că fiecare etichetă trebuie să fie în interiorul unei alte etichete și nimic altceva. Elementul rădăcină este situat în partea de sus condiționată , și toate celelalte etichete pot conține alte etichete în interiorul lor, care sunt numite etichete copil. În consecință, etichetele copil sunt localizate în elementul părinte.

Trebuie să cunoașteți și să urmați sistemul de subordonare a etichetelor atunci când scrieți codul XHTML. Exemplul 3.8 prezintă structura de bază a unui document.

Exemplul 3.8. Structura documentului

XHTML 1.0 IE Cr Op Sa Fx

document nou

În acest exemplu, eticheta este dată mai întâi , în interiorul căruia se află etichetele și ... În interiorul unei secțiuni titlul documentului este stocat ( ) și codificarea paginii ( <meta> ).</p> <h2>Nu se pot folosi atributele etichetelor scurte</h2> <p>Un atribut fără valoare atribuită este abreviat. Exemplul 3.9 arată un formular care utilizează aceste atribute.</p> <p>Exemplul 3.9. Eroare la utilizarea atributelor</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

„Valoare goală”, așa cum este numită și această eroare, este ușor de corectat prin atribuirea unei valori atributului care se potrivește cu numele. Masa 3.2 arată unele dintre atribute și cum sunt scrise în HTML și XHTML.

Tabelul 3.2. Maparea atributelor în HTML și XHTML
HTML XHTML
verificat verificat = "verificat"
compact compact = "compact"
dezactivat disabled = "dezactivat"
ismap ismap = "ismap"
multiplu multiplu = „multiplu”
nohref nohref = "nohref"
noresize noresize = "noresize"
noshade noshade = "noshade"
nowrap nowrap = „acum înfășurat”
numai citire readonly = "numai citire"
selectat selectat = "selectat"

Exemplul 3-10 arată utilizarea corectă a formularului de mai sus.

Exemplul 3.10. Utilizarea corectă a atributelor

XHTML 1.0 IE Cr Op Sa Fx

XHTML

În loc de atributul nume, trebuie să specificați id

Atributul nume este definit în HTML pentru etichete , ,