Structura si logica limbajului HTML
HTML este un limbaj care descrie modul de afisare a unui document (text si informatii de alt tip, de exemplu imagini, animatie, sunete,) folosind doua tipuri de elemente: caractere entitati si taguri.
Tagurile HTML sīnt elementele specifice limbajului care determina actiunile ce trebuie efectuate la afisarea si parcurgerea ulterioara a documentului (pot fi asimilate cu instructiunile unui limbaj de p 454j93e rogramare). Caracterele entitati se folosesc la descrierea caracterelor din document care nu fac parte din setul standard ASCII.
Toate tag-urile au nume scrise īntre paranteze unghiulare <NumeTag> si (eventual) cīteva atribute care pot lua anumite valori. Formatul general al "instructiunilor" (tag-urilor) HTML este urmatorul:
<NumeTag Atribute> Textul afectat de acest tag </NumeTag>
Tagurile pot fi de doua feluri:
1. Nevide (perechi), īntre care apare textul afectat. Ele au efect numai asupra textului inclus īntre ele si sīnt de doua tipuri:
de īnceput si au formatul <NUME>
de sfīrsit si au formatul </NUME>
Exemple de tag-uri nevide:
<I>Acest text va fi afisat italic</I>
<B>Acest text va fi afisat īngrosat</B>
2. Vide (singulare), au efect imediat īn punctul din document īn care apar.
Exemple de tag-uri vide:
<HR> Insereaza o linie orizontala īn locul īn care apare.
<IMG SRC="poza.gif"> Specifica inserarea unei imagini.
Tag-urile si atributele pot fi editate atīt cu caractere mici cīt si cu caractere mari, si au acelasi efect.
Atributele tag-urilor au la rīndul lor nume si pot lua numai anumite valori. Forma īn care sīnt editate atributele este NUME="valoare". Valoarea trebuie inclusa īn ghilimele. Daca īn tag exista mai multe atribute, ele trebuie separate prin spatiu. Formatul general al unui tag ce are si atribute este urmatorul:
<NumeTag NumeAtribut="ValoareAtribut">Textul afectat de tag</NumeTag>
Exemplu
<IMG src="poza.gif" align="bottom">
Aici NumeTag este IMG si specifica inserarea unei imagini. NumeAtribut1 este SRC si are ca valoare calea si numele fisierului imagine (poza.gif). NumeAtribut2 este ALIGN, priveste alinierea imaginii si are ca valoare BOTTOM (jos, īn raport cu rīndul).
Formatul tag-urilor trebuie respectat cu strictete. Chiar daca, īn general, aproape toate caracterele de control ASCII sīnt ignorate cīnd apar īn textul HTML (de pilda ENTER sau TAB), daca sīnt introduse īntre parantezele unghiulare ale tag-urilor le vor face neinterpretabile de catre navigatoare si prin urmare nu vor avea nici un efect.
Tag-urile pot fi utilizate si īn interiorul altor tag-uri. Acest lucru se face de forma:
<Tagl><Tag2>Textul afectat de tag</Tag2></Tagl>
Exemplu
<A HREF="poza-mare.gif"><IMG SRC="poza-mica.gif"></A>
Īn acest exemplu, primul tag este <A>...</A> ce indica existenta unei "legaturi" spre alt document, iar al doilea tag este <IMG> ce indica inserarea īn document a unei imagini. Astfel "poza-mica.gif" este imagine activa, selectabila, datorita faptului ca este cuprinsa īntre tag-urile <A>...</A>. Activarea ei de catre cel care priveste documentul cu un navigator, va determina serverul sa-i trimita documentul aflat īn fisierul "poza-mare.gif", specificata ca valoare a atributului HREF.
Deoarece o codificare (charset) poate sa nu fie capabila sa exprime toate caracterele unui set de caractere ale unui document si datorita faptului ca codarea interna a computerului care produce caracterele speciale prin apasarea altor taste (de pilda ALT + codul numeric) nu este aceeasi pentru diferitele sisteme, pentru afisarea lor corecta si pentru a permite translatarea caracterelor speciale este necesara definirea unui set special de coduri, numite caractere entitati (referinte), care pot fi incluse īn documentele HTML pentru reprezentarea acestor caractere speciale. Cīnd sīnt interpretate de catre navigatoare caracterele entitati sīnt afisate īn mod corespunzator tinīnd cont de platforma pe care ruleaza navigatorul si de fontul utilizat.
Caracterele entitati sīnt predefinite si pot lua una din doua forme posibile:
entitati nume (referinte caractere) &nume;
entitati numere (referinte numerice) &#numar; sau &#xnumar;
Toate caracterele entitati nume īncep cu semnul & (ampersand), urmat de numele entitatii (de exemplu â care este reprezentat de navigatoare ca ā) si terminat cu punct-si-virgula (;), avīnd deci forma &nume;. De remarcat ca īn numele entitatilor este semnificativ daca o litera este mare sau mica.
Toate caracterele entitati numere īncep cu semnul & si sīnt reprezentate de un numar precedat de semnul # (de pilda ~ care este reprezentat de navigatoare ca ~), terminat cu punct-si-virgula (;), avīnd deci forma &#numar; sau &#xnumar; (atunci cīnd numarul este īn hexa).
Exemplu
Cuvīntul "© rīndunica" (care contine caracterele "speciale" ī si ©) poate fi inserat īntr-un document HTML ca entitate nume sau ca entitate numar, astfel:
a). ©rîndunica
b). ©rîndunica
Entitatile (referintele) numerice specifica pozitia (codul) caracterului īn setul de caractere al documentului, iar entitatile nume (referintele caracter) folosesc nume simbolice care permit sa nu se retina pozitia caracterului īn cadrul setului de caractere ci doar "numele" sau. Īn timp ce entitatile sīnt limitate la un subset al setului de caractere Unicode, referintele numerice pot specifica orice caracter.
Utilizarea setului ISO Latin-1 permite reprezentarea celor mai multe caractere cu diacritice - prezente pe majoritatea platformelor - dar este totusi limitata. De pilda, caractere destul de des folosite, cum ar fi bulinele sau semnele grafice, nu sīnt disponibile īn ISO Latin 1. Caracterele romānesti de asemenea se gasesc īn totalitate doar īn supersetul ISO Latin 2. Decodarea seturilor Latin 1 sau 2 nu era implementata īn toate navigatoarele si din aceasta cauza documentele scrise cu aceste coduri erau afisate de unele navigatoare mai vechi (sau versiuni mai vechi) prin recurgerea la setul ASCII. Actualele versiuni HTML permit multiple seturi de caractere, inclusiv Unicode care include marea majoritate a caracterelor si a simbolurilor cunoscute īn lume.
Entitatile pentru caracterele romānesti aĂāĀīĪsstŢ (reprezentabile de navigator daca acesta cunoaste codurile Latinl si Latin2), īn aceasta ordine, sīnt: ã Ã â Â î Î (Latinl). Aici ã nu este chiar a ci un a cu tilda si lipsesc literele s si t. Reprezentarea lor prin numerele de cod este: ã Ã â Â î Î º ª þ Þ (Latin2)
Cīteva dintre caracterele speciale mai des utilizate sīnt:
Entitate |
Semnificatie |
< |
< (mai mic) |
> |
> (mai mare) |
& |
& (ampersand) |
" |
" (ghilimele) |
  |
Insereaza un spatiu dublu celui dintre caracterele monospatiate (largime de un EM, sau un punct) |
|
Insereaza un spatiu care nu permite ruperea rīndului īn acel loc |
&endash; |
Dash de largime un EN |
&emdash; |
Dash de largime un EM |
Un agent utilizator poate sa nu fie capabil sa afiseze (sau sa ofere utilizatorului) corect (sau inteligibil) toate caracterele dintr-un document. Aceasta se poate īntīmpla cīnd, spre exemplu, nu este disponibil un anumit font, un caracter are o valoare ce nu poate fi exprimata de codificarea interna a agentului utilizator, etc...
Deoarece sīnt prea multe cauzele ce pot duce la o astfel de situatie nu se impune ca fiind obligatoriu nimic, DAR fiecare agent utilizator trebuie:
sa adopte un mecanism clar de alertare a utilizatorului (de exemplu afisarea unui caracter sugestiv; īn astfel de cazuri Netscape Navigator foloseste semnul īntrebarii)
sa afiseze reprezentarea numerica a acelui caracter īn cazul īn care īn document acesta apare ca entitate numerica
|