Reguli de sintaxa in XHTML:
Voi exemplifica mai jos fiecare afirmatie
1. In XHTML toate atributele trebuiesc scrise cu litere mici.
Cod HTML acceptat de browser
html<table BORDER="0">
Cod XHTML corect
xhtml<table border="0">
2. In XHTML, valorile tuturor atributelor trebuiesc scrise intre ghilimele.
Cod HTML acceptat de browser
html<table border=0>
Cod XHTML corect
xhtml<table border="0">
3. In XHTML atributul name este inlocuit de atributul id
In html 4.01, tagurile: applet, frame, iframe si img pot avea definit atributul name. In XHTML acesta este depreciat folosinduse in schimb atributul id.
Unele browsere mai vechi nu recunosc tagul id in acest context. Pentru rezolvarea acestei probleme se pot folosi ambele taguri.
Cod XHTML corect. Atributul alt este obligatoriu, pentru a oferi o alternativa in cazul in care imagine nu se incarca.
Cod HTML acceptat de browser
html<img src="imagine.jpg" name="fotografie"/>
Cod XHTML corect
xhtml<img src="imagine.jpg" name="fotografie" alt="fotografie"/>
Observatie:
In XHTML exista taguri precum: img, input br, hr, care nu au nevoie de tagul specific de inchidere. Pentru a le transforma in taguri valide XHTML vom adauga un spatiu inainte de semnul "/", transformandul in " /".
4. In XHTML nu este permisa prescurtarea atributelor
Cod HTML acceptat de browser
html<input checked>
<option selected>
Cod XHTML corect
xhtml<input checked="checked" />
<option selected="selected" />
Am adaugat mai jos o lista cu toate atributele prescurtate
HTML | XHTML |
---|---|
compact | compact="compact" |
checked | checked="checked" |
declare | declare="declare" |
readonly | readonly="readonly" |
disabled | disabled="disabled" |
selected | selected="selected" |
defer | defer="defer" |
ismap | ismap="ismap" |
nohref | nohref="nohref" |
noshade | noshade="noshade" |
nowrap | nowrap="nowrap" |
multiple | multiple="multiple" |
noresize | noresize="noresize" |
5. Toate diocumentele XHTML au o declaratie DOCTYPE care contine toate elementele specifice HTML-ului (html, head, title, body).
Declaratia DOCTYPE nu este un element in sine dupa cum vom vedea in capitolul urmator
xhtml<!DOCTYPE Declaratia doctype va fi pusa aici>
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<title>Titlul pagini</title>
</head>
<body>
</body>
</html>
Observatie
Desi atributul xmlns intalnit in tagul <html> este obligatoriu, nu va fi nici o problema daca nu il punem. Ma cam contrazic nu-i asa? Explicatia este simpla: Acest atribut este atat de obligatoriu incat daca nu il punem, atunci cand validam documentul la w3.org, acesta va fi adaugat de la sine cu valoarea "xmlns=http://www.w3.org/1999/xhtml";, fiind valoarea standard.
Desi motoarele de cautare de multe ori detecteaza automat limba principala a unui website este important sa o specificam in prealabil.
Vom face aceasta dupa cum urmeaza:
xhtml<html lang="ro-RO" xml:lang="ro-RO" xmlns ="http://www.w3.org/1999/xhtml";>
De multe ori specificarea limbi unui website este intalnita sub aceasta forma:
xhtml<meta http-equiv="Content-Language" content="ro" />
w3.org valideaza aceasta expresie fara nici o problema. Se recomanda insa folosirea metoda xml:lang in locul http-equiv, cconform standardului XHTML.
In cazul in care avem un paragraf in alta limba decat cea specificata la inceputul documentului vom proceda in felul urmator:
xhtml<div lang="en-RO" xml:lang="en-RO">Continut in engleza pentru vorbitorii de limba romana</div>
Sau pentru continut in alta limba decat cea specificata la inceputul documentului XHTML dar care poate fi acceptat ca si continut universal. Un exemplu ar ilustra aceasta mult mai simplu:
xhtml<div lang="it" xml:lang="no">Ciao</div>
Desi pare complicat, cu putina practica lucrurile se simplifica de la sine.
Pentru o list acompleta cu limba si prescurtarea corespunzatoare, pentru construirea tagului "lang" va rog vizitati www.w3.org