HTML este exact ceea ce am încercat noi să PREVENIM: link-uri rupte, link-uri exclusiv externe, citate ale căror origini nu se poţi urmări, niciun management al versiunilor, nicio gestionare a drepturilor. ~ Ted Nelson
Încă de la începuturile sale, HTML și protocoalele sale asociate au câștigat acceptarea relativ repede. Cu toate acestea, nu au existat standarde clare în primii ani ai limbajului. Deși creatorii săi iniţiali au conceput HTML ca un limbaj semantic fără detalii de prezentare, utilizările practice împins la implementarea multor elemente şi atribute de prezentare în limbaj, în mare măsură determinate de diverţi vânzătorii de browsere. Cele mai recente standarde în legătură cu HTML reflectă eforturi de a depăși uneori dezvoltarea haotică a limbajului, și de a crea o fundație rațională pentru construirea de documente atât cu sens cât și bine prezentate. Pentru a readuce HTML la rolul său iniţial de limbaj semantic, W3C a dezvoltat limbaje de stil precum CSS și XSL pentru a uşura prezentarea. Drept rezultat, specificaţiile HTML au redus elementele de prezentare.
Există două axe care diferenţiază diverse variante de HTML aşa cum este specificat în prezent: HTML pe bază de SGML vs. HTML pe bază de XML (denumit în continuare XHTML) pe o axă, și HTML strict vs. tranzițional (liber) vs. frameset pe cealaltă axă.
HTML pe bază de SGML vs. HTML pe bază de XML
O diferență în cele mai recente specificații HTML constă în distincția dintre specificațiile bazate pe SGML și cele bazate pe XML. Specificaţiile bazate pe XML se numesc de obicei XHTML, pentru a le distinge clar de definiția mai tradițională. Cu toate acestea, numele elementului rădăcină continuă să fie „HTML”.W3C a intenţionat ca XHTML 1.0 să fie identic cu HTML 4.01 cu excepția cazului în care limitările XML peste SGML mai complex necesită soluții. Deoarece XHTML și HTML sunt strâns legate, uneori ele sunt documentate în paralel. În astfel de circumstanțe, unii autori îmbină cele două nume ca (X)HTML sau X(HTML).
Ca şi HTML 4.01, XHTML 1.0 are trei sub-specificaţii: strict, tranzițional, și frameset.
În afară de diferitele declarații de deschidere pentru un document, diferențele între un document HTML 4.01 și un document XHTML 1.0 în fiecare din DTD-urile corespondente, sunt în mare parte sintactice. Sintaxa de bază HTML permite multe comenzi rapide pe care XHTML nu le are, cum ar fi elemente cu deschidere opțională sau etichete de închidere, și chiar elemente goale care nu trebuie să aibă o etichetă de închidere. Prin contrast, XHTML necesită ca toate elementele să aibă o etichetă de deschidere și o etichetă de închidere. Dar XHTML introduce o nouă comandă rapidă: o etichetă XHTML poate fi deschisă și închisă în interiorul unei aceleiaşi etichete, prin includerea unei bare oblică înainte de sfârșitul unei eticheta ca aceasta: <br/>. Introducerea acestei stenografii, care nu este folosită în declarația SGML pentru HTML 4.01, poate încurca un software timpuriu neobișnuit cu acest nou acord. O rezolvare pentru acest lucru este includerea un spațiu înainte de închiderea tag-ul, ca de exemplu: <br />
.
Pentru a înțelege diferențele subtile dintre HTML și XHTML, se ia în considerare transformarea unui document valabil și bine format XHTML 1.0 care aderă la Anexa C într-un document valabil HTML 4.01. Pentru a face această translatare se presupune următoarele etape:
- Limbajul pentru un element trebuie precizat cu un atribut lang mai degrabă decât atributul XHTML: xml:lang. XHTML foloseşte atributul de funcţionalitate al limbajului implicit al XML.
- Îndepărtaţi spațiul de nume XML (xmlns=URI). HTML nu are nici facilități pentru spații de nume.
- Modificarea declarației tipului de document din XHTML 1.0 în HTML 4.01.
- Dacă este prezentă, îndepărtaţi declaraţia XML. (De obicei, aceasta este: <?xml version=”1.0″ encoding=”utf-8″?>).
- Asigurați-vă că tipul MIME al documentului este setat la text/html. Pentru ambele HTML și XHTML, acesta vine din antetul HTTP Content-Type trimis de către server.
- Modificaţi sintaxa de element gol XML într-un element gol pentru stilul HTML (<br/> în <br>).
Acestea sunt schimbările principale necesare pentru a atranslata un document din XHTML 1.0 în HTML 4.01. Pentru a translata din HTML în XHTML va fi nevoie de asemenea de adăugarea oricăror etichete de deschidere sau închidere omise. Indiferent dacă codificarea este în HTML sau XHTML, ar fi cel mai bine să includeţi mereu etichetele opționale în document HTML, decât să vă amintiţi mai tîrziu ce etichete pot fi omise.
Un document XHTML bine format aderă la toate cerințele de sintaxă XML. Un document valabil aderă la specificaţia de conținut pentru XHTML, care descrie structura documentului.
W3C recomandă mai multe convenții pentru a asigura o migrație uşoară între HTML și XHTML. Următoarele etape pot fi folosite doar la documentele XHTML 1.0:
- Includeţi ambele atribute xml:lang şi lang în oricare limbaj de atribuire a elementelor.
- Utilizați sintaxa elementui gol numai pentru elemente specificate ca goale în HTML.
- Includeți un spațiu suplimentar în etichetele pentru elemente goale: de exemplu <br /> în loc de <br/>.
- Includeți etichete cât mai explicite pentru elemente care permit conţinut dar sunt lăsate goale (de exemplu, <div></div>, nu <div />).
- Omiteţi declaratia XML.
Urmând cu grijă liniile directoare de compatibilitate W3C, un agent utilizator trebuie să poată interpreta documentul la fel în HTML sau XHTML. Pentru documente XHTML 1.0 şi au fost făcute compatibile în acest fel, W3C le permite să fie servite sau ca HTML (cu un tip MIME text/html), sau ca XHTML (cu un tip MIME application/xhtml+xml sau application/xml). Atunci când sunt livrate ca XHTML, browsere trebuie să folosească un parser XML, care aderă cu strictețe la specificațiile XML pentru parsarea conținutul documentului.
Lasă un răspuns