3.	Structura liniară de documente HTML
3.1.	Structura liniară simplă
O aplicaţie web presupune un text uniform T care este fragmentat in textele T1, T2, …, Tn, care se parcurg în ordinea dată in Fig. 3.1.1.

T1

T2

Tn

Fig. 3.1.1 – Structură liniară de texte uniforme

	Variabilele pointer din structurile de date clasice sunt înlocuite cu legături HTML către fişierele aplicaţiei. Crearea prototipului de document care implementează structura liniară de texte presupune parcurgerea următorilor paşi:
-	crearea fişierelor HTML pentru textele T1, T2, …, Tn ca fişiere de text uniform
-	includerea comenzilor de legătură <a href=”nume fişier Ti+1”> în fişierul Ti

De exemplu, considerăm textul T divizat în textele T1, T2, T3 care alcătuiesc o structură liniară, ca în Fig. 3.1.2.

Starea de spirit este starea dogmatică, transformată în cuvinte inteligibile.

T1

Nici o pasăre nu va şti niciodată mai mult despre lume decât atunci când a spart coaja oului.

Aidoma ochiului, cuvântul vede lumina, dar, spre diferenţă de ochi, cuvântul o reţine în el.

T2

T3

Textul T
(preluare din Marea supravieţuire de Nichita Stănescu)

Fig. 3.1.2 – Structură liniară de texte uniforme

Documentele HTML care implementează structura liniară sunt date în Fig. 3.1.3.

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Starea de spirit</title>
</head>
<body>
<p>Starea de spirit este starea dogmatică, 
transformată în cuvinte inteligibile.</p>
<a href=”t2.html”>Apăsaţi aici pentru continuare</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Pasărea</title>
</head>
<body>
<p>Nici o pasăre nu va şti niciodată mai mult despre lume 
decât atunci când a spart coaja oului.</p>
<a href=”t3.html”>Apăsaţi aici pentru continuare</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Cuvântul</title>
</head>
<body>
<p>Aidoma ochiului, cuvântul vede lumina, dar, 
spre diferenţă de ochi, cuvântul o reţine în el.</p>
<p>Textul s-a terminat</p>
</body>
</html>
Fig. 3.1.3 – Document HTML ce implementează structura liniară

	Pe structura liniară se definesc operaţii de inserare şi ştergere a textelor uniforme. Pentru inserarea unui text Tk între elementele Ti şi Ti+1 se procedează astfel:
-	se construieşte fişierul HTML pentru textul Tk
-	se înlocuieşte în Ti referirea la Ti+1 cu referirea la Tk
-	se introduce în Tk referirea la Ti+1

De exemplu, pentru textul liniar din Fig. 3.1.2, se intercalează textul T23 între textele T2 şi T3 (Fig. 3.1.4). 

Starea de spirit este starea dogmatică, transformată în cuvinte inteligibile.

T1

Nici o pasăre nu va şti niciodată mai mult despre lume decât atunci când a spart coaja oului.

Cuvântul este cel mai apropiat de sine fără ca să facă parte din sine

T2

T23

Textul T
(preluare din Marea supravieţuire de Nichita Stănescu)

Aidoma ochiului, cuvântul vede lumina, dar, spre diferenţă de ochi, cuvântul o reţine în el.

T3

Fig. 3.1.4 – Textul care se inserează înaintea textului T3

	Structura liniară actualizată este dată în Fig. 3.1.5.

T1

T2

T3

T23

Fig. 3.1.5 – Text uniform cu operaţie de inserare

	Linia întreruptă dintre textele T2 şi T3 reprezintă vechea referire ce a fost înlocuită cu noile legături corespunzătoare textului inserat.
	Pentru ştergerea unei componente Ti din structura liniară, se înlocuieşte referirea din componenta Ti-1 astfel încât legătura să se realizeze către componenta Ti+1, ca în Fig. 3.1.6.

T1

T2

Ti-1

Ti

Ti+1

Fig. 3.1.6 – Ştergerea componentei Ti din structura liniară

	Pentru structura liniară de bază din Fig. 3.1.2, în cazul ştergerii componentei T2, textul rezultat este cel prezentat în Fig. 3.1.7.

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Starea de spirit</title>
</head>
<body>
<p>Starea de spirit este starea dogmatică, 
transformată în cuvinte inteligibile.</p>
<a href=”t3.html”>Apăsaţi aici pentru continuare</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Pasărea</title>
</head>
<body>
<p>Nici o pasăre nu va şti niciodată mai mult despre lume 
decât atunci când a spart coaja oului.</p>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Cuvântul</title>
</head>
<body>
<p>Aidoma ochiului, cuvântul vede lumina, dar, 
spre diferenţă de ochi, cuvântul o reţine în el.</p>
<p>Textul s-a terminat</p>
</body>
</html>
Fig. 3.1.7 – Document HTML ce implementează structura liniară

	Crearea structurilor liniare presupune scurtarea duratei de introducere a textelor de către mai mulţi operatori simultan şi includerea lor într-o construcţie uniformă, continuă. 
În cazul în care textul uniform final include o legătură către primul fişier, atunci se obţine o structură circulară, ca în Fig. 3.1.8. 

T1

T2

Tn

Fig. 3.1.8 – Structură liniară circulară de texte uniforme

Acest tip de structură oferă posibilitatea reluării utilizării textelor uniforme de la început ori de câte ori este traversat întregul şir de fişiere HTML în ordinea T1, T2, …, Tn, T1.

3.2.	Structura liniară cu legături duble
Se consideră textul uniform T divizat în n texte uniforme T1, T2, …, Tn. Se construiesc fişiere HTML astfel încât să se realizeze traversarea de la textul Ti spre textul Ti+1 precum şi traversarea de la textul Ti spre textul Ti-1, ca în Fig. 3.2.1.

T1

T2

Tn-1

T3

Tn

Fig. 3.2.1 – Structură liniară cu legături duble

	O astfel de construcţie este caracteristică situaţiilor în care un text T trebuie parcurs integral de la T1 spre Tn. În acelaşi timp sunt necesare reveniri de la textul Ti la textul precedent Ti-1. 
	Pentru a realiza o astfel de construcţie se procedează în felul următor:
-	se construiesc fişiere HTML pentru fiecare text în parte
-	se inserează în fişierul asociat textului Ti o referire pentru textul Ti+1
-	se inserează în fişierul asociat textului Ti o referire pentru textul Ti-1

Pentru exemplul de text T divizat în textele T1, T2 şi T3 din Fig. 3.1.2, implementarea unei structuri liniare cu legături duble se realizează prin construcţia dată în Fig. 3.2.2.

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Starea de spirit</title>
</head>
<body>
<p>Starea de spirit este starea dogmatică, 
transformată în cuvinte inteligibile.</p>
<a href=”t2.html”>Pagina următoare</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Pasărea</title>
</head>
<body>
<p>Nici o pasăre nu va şti niciodată mai mult despre lume 
decât atunci când a spart coaja oului.</p>
<a href=”t1.html”>Pagina anterioară</a>
<a href=”t3.html”>Pagina următoare</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Cuvântul</title>
</head>
<body>
<p>Aidoma ochiului, cuvântul vede lumina, dar, 
spre diferenţă de ochi, cuvântul o reţine în el.</p>
<a href=”t2.html”>Pagina anterioară</a>
</body>
</html>
Fig. 3.2.2 – Exemplu de structură liniară cu legături duble

	Acestei construcţii îi corespunde reprezentarea dată în Fig. 3.2.3.

T1

T2

T3

Fig. 3.2.3 – Structură liniară cu legături duble

	În cazul în care se doreşte revenirea de la textul Tn la textul T1, se adaugă în fişierul t3.html legătura corespunzătoare: 

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Cuvântul</title>
</head>
<body>
<p>Aidoma ochiului, cuvântul vede lumina, dar, 
spre diferenţă de ochi, cuvântul o reţine în el.</p>
<a href=”t2.html”>Pagina anterioară</a>
<a href=”t1.html”>Prima pagină</a>
</body>
</html>

	Reprezentarea structurii este dată în Fig. 3.2.4.

T1

T2

T3

Fig. 3.2.4 – Structură liniară circulară cu legături duble

	Aşa cum reiese în mod clar din figura anterioară, textul T1 poate fi referit în mod direct de la T3 fără a mai fi necesar să se utilizeze legătura prezentă în cadrul paginii intermediare.

3.3.	Structura liniară cu legături multiple
Structura liniară cu legături multiple este o construcţie care conduce la referirea textelor uniforme după o regulă impusă. 
Structura liniară cu referirea universală a primului element are modelul prezentat în Fig. 3.3.1.

T1

T2

Tn

T3

Fig. 3.3.1 – Structură liniară cu referirea universală a primului element

Dacă se consideră textele T1, T2 şi T3 date în Fig. 3.1.2, pentru a realiza o structură liniară de acest tip se procedează astfel:
-	în fişierul t1.html se introduce marcatorul <a href=”t2.html”> pentru a obţine legătura cu elementul T2
-	în fişierul t2.html se introduce <a href=”t3.html”> pentru a obţine legătura cu T3 şi <a href=”t1.html”> pentru a reveni la primul element
-	în fişierul t3.html se introduce referirea <a href=”t1.html”> pentru a realiza legătura cu primul element din structura liniară

Rezultatul aplicări acestor paşi este construcţia dată în Fig. 3.3.2.

Fişier HTML 1 (t1.html)
<html>
<head><title>Starea de spirit</title></head>
<body>
<p>Starea de spirit este starea dogmatică, 
transformată în cuvinte inteligibile.</p>
<a href=”t2.html”>Pagina următoare</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head><title>Pasărea</title></head>
<body>
<p>Nici o pasăre nu va şti niciodată mai mult despre lume 
decât atunci când a spart coaja oului.</p>
<a href=”t1.html”>Prima pagină</a>
<a href=”t3.html”>Pagina următoare</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head><title>Cuvântul</title></head>
<body>
<p>Aidoma ochiului, cuvântul vede lumina, dar, 
spre diferenţă de ochi, cuvântul o reţine în el.</p>
<a href=”t1.html”>Prima pagină</a>
</body>
</html>
Fig. 3.3.2 – Structură liniară cu revenire la primul element

	Acest tip de structură se utilizează atunci când utilizatorul întrerupe în orice punct traversarea oricărui text şi doreşte reluarea de la început a procesului de traversare.