De la HTML la XHTML

Explicatiile din acest tutorial sunt pentru cei care cunosc deja limbajul HTML, prezentat detaliat in lectiile si tutorialele precedente din acest curs.
XHTML (eXtensible HyperText Markup Language) are acelasi rol si capacitati ca HTML, fiind o varianta avansata a acestuia, dar cu o sintaxa putin diferita, mai stricta.
XHTML este un inlocuitor modern al HTML-ului, o combinatie intre HTML si XML, fiind aproape identic cu HTML 4.01.
Principala diferenta ce trebuie avuta in vedere la XHTML fata de HTML este la sintaxa acestuia.
Daca stiti deja limbajul HTML, respectand regulile de sintaxa XHTML, prezentate mai jos, se poate spune ca stiti si XHTML.

Reguli de sintaxa XHTML

1. - Pentru ca un document XHTML sa fie considerat valid, acesta trebuie sa aibe la inceput (prima linie) o declaratie !DOCTYPE, un DTD (Document Type Definitions) ce contine regulile standard ale elementelor din pagina.
Sunt 3 tipuri de DTD ce pot fi folosite: Strict, Transitional si Frameset. Iata cod-ul specifc fiecaruia, ce trebuie sccris in prima linie din pagina:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd";>

Dupa una din aceste declaratii se adauga codul pentru structura documentului XHTML, cum se vede in urmatorul exemplu (structura standard ce trebuie sa o aibe o pagina de site XHTML):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ro">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Titlul paginii</title>
<meta name="description" content="Descrierea paginii" />
<meta name="keywords" content="cuvinte, principale, din, pagina" />
</head>
<body>
Continutul paginii, care apare in fereastra navigatorului web.
</body>
</html>

2. - Toate elementele si atributele trebuie scrise cu litera mica.
3. - Valorile tuturor atributelor trebuie scrise intre ghilimele.
4. - Spre deosebire de HTML, in care elementele sunt inchise cu un al doilea tag (identic) de inchidere, iar unele nici nu trebuie sa aibe inchidere, in XHTML toate elementele trebuie inchise si exista tag-uri specifice care au inchidere singulara, in acelasi tag.
In XHTMLIn HTML
<meta ... /><meta ...>
<br /><br>
<hr /><hr>
<input /><input>
<img ... /><img ...>
- Celelalte, precum <p> </p>, <div> </div>, <span> </span>, ... etc. sunt la fel.

5. - La inchiderea tag-urilor trebuie sa se respecte ordinea simetrica de deschidere.
6. - Toate atributele trebuie sa fie insotite de o valoare. In HTML fiind atribute, precum "checked", care sunt scrise fara vreo valoare. Iata cateva din cele mai folosite:
In XHTMLIn HTML
checked="checked"checked
declare="declare"declare
readonly="readonly"readonly
disabled="disabled"disabled
selected="selected"selected
nowrap="nowrap"nowrap
noresize="noresize"noresize

7. - Atributul name din tag-urile <a> si <map> a fost inlocuit cu id.
Tag-urile DIV si SPAN <<-- Anterior --- Urmator -->> XHTML - Tag-uri si ...

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care meta tag se foloseste pentru scurta descriere a paginii?
<meta content="..."> <meta description="..."> <meta http-equiv="...">
<meta name="description" content="70-160 caractere ce descriu continutul paginii" />
Ce proprietate CSS opreste efectul dat de "float"?
clear text-align position
#some_id {
  clear: both;
}
Clic pe metoda ce creaza un array cu toate elementele din pagina cu un anumit nume de tag.
getElementsByName() getElementById() getElementsByTagName()
var divs = document.getElementsByTagName("div");
var nr_divs = divs.length;
alert(nr_divs);
Indicati functia PHP ce returneaza numarul de elemente dintr-un array.
is_array() count() strlen()
$arr = array(7, 8, "abc", 10);
$nri = count($arr);
echo $nri;        // 4
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "I live (happy)".
happly happily hapily
I live happily.
- Traiesc fericit (in mod fericit).
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "Vivo (feliz)".
felizamente felizmente felices
Vivo felizmente.
- Traiesc fericit (cu fericire).
XHTML - Tutoriale HTML