diplomtot
DESCRIPTION
aTRANSCRIPT
Coala
Mod Coala N Document Semnat. Data
INTRODUCERE
Ca şi altele tehnologii “mari”, reţeaua mondială de calculatoare INTERNET se datorează
naşterea sa “războiului rece”, în acel timp a apărut ideia de Internet. Internet-ul este recunoscut de
către savanţi ca un fenomen foarte important în dezvoltarea omenirii de mai departe şi este egalat cu
alte descoperiri ca cum ar fi: motorul cu ardere internă, becul electric şi calculatorul personal. Se
consideră că începând cu 1988, volumul resurselor Internetul-ui cu fiecare an se dublează.
Internetul câştigă cu 3,5 mai mulţi utilizatori şi simpatizanţi decât televiziunea de la apariţia ei.
Cu cât mai mult este întrebuinţat INTERNET-ul cu atât apar mai multe site-uri noi, pagini
web, portaluri internaţionale ş.a. Pentru elaborarea site-urilor sau a paginilor web sunt folosite mai
multe tehnologii ca de exemplu: Limbajul HTML, Javascript, XML, Perl ş.a. Datorită unor
avantaje, limbajul HTML domină celelalte tehnologii de elaborare. Eu în lucrare de diplomă voi
descrie fiecare tehnologie, dar mai mult mă voi opri asupra limbajului HTML.
Odată cu dezvoltarea tehnologiilor de comunicare prin Web, a apărut necesitatea generării
dinamice a conţinutului paginilor. Cu alte cuvinte a efectua o legătură între sistemul de operare, sub
care lucrează web-serverul, şi pagina web generată de server la cererea clientului. Deci a apărut
necesitatea de a rula aplicaţii în sistemul de operare care efectuând careva operaţii ar întoarce
rezultatul direct pe pagină. Aşa a apărut standardul CGI (Common Gateway Interface) care a permis
programatorilor să scrie aplicaţii de acest gen. Dezvoltarea de mai departe a tehnologiilor de creare
a aplicaţiilor Web pe servere a dus la apariţia unor probleme ca: divizarea paginii generate, sau
altfel spus divizarea codului HTML, generat de însăşi aplicaţia generatoare de cod. Aplicaţia
simplifică elaborarea servleturilor prin separarea programării propriu zise de design-ul paginilor:
Designer-ii creează template-uri cu ajutorul limbajului de criptare al aplicaţiei.
Programatorii lucrează în Java, fără a utiliza HTML, JavaScript sau alte limbaje de
prezentare. Filozofia aplicaţiei poate fi expusă aşa:
Lucrurile de care nu vă pasă trebuie să dispară din faţa D-stă.
Altfel spus un developer de soft (chiar dacă este şi un designer de pagini Web) doreşte să se
gândească numai la compunerea codului programei. Se gândeşte la structura de date, obiecte şi
fluxul de informaţii. Nu doreşte să fie deranjat de sintaxa HTML şi îl deranjează faptul că trebuie să
includă în codul programului şi bucăţi de cod HTML sau JavaScript.
7UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Ca web designer (chiar dacă este şi programator) doreşte să se gândească despre modul cum
vor arăta lucrurile. El trage atenţie culorilor, cât spaţiu să lase între secţii, cum trebuie să fie
organizată pagina, şi relaţiile dintre obiectele de pe pagină. Nu doreşte să fie deranjat de sintaxa
complicată a software-lui, şi nici nu-i place să editeze codul programei ca să schimbe modul cum
arată o tabelă.
8UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1 TEHNOLOGII DE ELABORARE A PAGINILOR WEB
În acest compartiment se descriu tehnologiile utilizate în elaborarea proiectului dat. SGML,
HTML şi XML sunt standardele cu care interfaţează aplicaţia server elaborată. Indispensabil în
crearea paginilor Web, HTML este un descendent al limbajului SGML, folosit pentru dezvoltarea
de documente hiper-text accesibile prin Internet. Acest punct trece în proiect o serie din
caracteristicile, implementările şi tendinţele acestui limbaj.
1.1 Noţiuni generale despre WWW (World Wide Web)
Unul din primele elemente fundamentale ale WWW (World Wide Web) este HTML
(Hypertext Markup Language), care descrie formatul primar în care documentele sunt distribuite şi
văzute pe Web. Multe din trăsăturile lui, cum ar fi independentă faţă de platforma, structurarea
formatării şi legăturile hipertext, fac din el un foarte bun format pentru documentele Internet şi
Web.
WWW este un sistem distribuit de hipermedia funcţionând în mod client-server prin
Internet. Sistemul pune la dispoziţie informaţiile sub forma de hipertext (mixtura între text, grafică,
elemente multi-media, plus referinţe încrucişate). Pentru a căpăta acces la WWW, utilizatorul va fi
nevoit sa folosească un program client (user-agent) cum ar fi Lynx (în mod text) sau Mosaic şi
Netscape (în mod grafic) şi bineînţeles va trebui să cunoască localizarea fizică a documentului dorit.
Localizarea unui document hiper-text se exprimă sub formă de URL (Uniform Resource Locator), o
modalitate flexibilă şi eficienţa de accesare a oricărei resurse Internet, prin oricare protocol
(TELNET, FTP, Gopher, HTTP, mail) bazat pe TCP/IP.
Modul de dialogare între clienţi si serverele WWW se realizează prin protocolul HTTP
(HyperText Transfer Protocol). Un document WWW trebuie în prealabil formatat (sau 'marcat') cu
ajutorul limbajului HTML, marcaj ce va descrie structura logică a documentului şi va fi procesat de
programul client. Orice astfel de document poate cuprinde legături de tip hipertext, indicate prin
zone de text sau imagini, conducându-l pe cititor fie în alt punct al aceluiaşi document, fie intr-un
alt document, care poate sa se găsească stocat local (pe serverul curent) sau la distanţă (pe oricare
alt server Web din lume). Aceste legaturi încrucişate între miile şi sutele de mii de servere WWW
realizează o adevărată pânză de păianjen (web) planetara (world-wide) de unde vine şi denumirea
WWW, iar utilizatorul navighează în ciber-spaţiul reprezentat de această reţea.
Clientul WWW poate manipula documente multimedia datorită facilităţilor puse la
dispoziţie de diferitele versiuni ale limbajului HTML ce prevăd includerea de imagini (formate
grafice precum GIF sau JPG), fişiere audio şi video. Mai mult, programele client se pot comporta ca
9UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
programe client FTP, Gopher sau News (NNTP) şi sunt capabile să gestioneze poşta electronică. În
HTML pot fi concepute formulare (forms) pentru introducerea interactivă a datelor (texte, meniuri,
liste, butoane de selecţie etc.) şi trimiterea lor către server spre a fi procesate. Îmbinarea limbajului
HTML cu rutine scrise în alte limbaje (scripturi) conferă o sporită interactivitate a Web-ului.
Primele specificaţii de bază ale Web-ului au fost HTML, HTTP şi URL.
HTML a fost dezvoltat iniţial de Tim Berners-Lee la CERN în 1989. HTML a fost văzut ca o
posibilitate pentru fizicienii care utilizează computere diferite şi schimbă între ei informaţie
utilizând Internetul. Erau prin urmare necesare câteva trăsături: independenţa de platformă,
posibilităţi hypertext şi structurarea documentelor. Independenţa de platforma înseamnă ca un
document poate fi afişat în mod asemănător de computere diferite (deci cu fonte, grafică şi culori
diferite), lucru vital pentru o audienţă atât de variată.
Hipertext înseamnă că orice cuvânt, frază, imagine sau alt element al documentului văzut de
un utilizator (client) poate face referinţă la un alt document, ceea ce uşurează mult navigarea între
multiple documente sau chiar în interiorul unui aceluiaşi document. Structurarea riguroasă a
documentelor permite convertirea acestora dintr-un format în altul precum şi interogarea unor baze
de date formate din aceste documente.
WWW (Word Wide Web) şi mijloacele interactive de interacţiune
Interfaţa interactivă a utilizatorului prezintă în sine o sistemă, asigurând interacţiunea
utilizatorului şi programelor. Pentru WWW, interfaţa interactivă se poate de determinat ca o
consecutivitate a documentelor HTML, realizând interfaţa utilizatorului. Se poate tot de clasificat
principiile construcţiei interfeţei după tipul formării documentului HTML:
static
dinamic
În primul caz sursa interfeţei este documentul HTML, creat în orişicare redactor textual sau
HTML – orientare. Concomitent, documentul dat rămâne neschimbat în timpul întrebuinţării. În al
doilea caz sursa interfeţei este documentul HTML generat cu modulul cgi. Concomitent, apare o
oarecare flexibilitate de schimbare a interfeţei în timpul întrebuinţării.
În aşa mod se poate introduce ideea de interfaţă pentru WWW. Practic fiecare problemă,
care rezolvă primirea datelor de la client, este legată cu construirea interfeţei. Cel mai interesant
lucru este construirea interfeţei pentru diferite baze de date, acces la SQL-server, primirea
informaţiei de la structura periferică, crearea locurilor de muncă pentru clienţi.Toate acestea sunt
posibile cu ajutorul CGI (Common Gateway Interface).
10UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
CGI este standardul interfeţei programului aplicativ interior cu WWW-server. Problema
creării interfeţei susnumite se împarte în două părţi:
partea clientului
partea serverului
Partea clientului
Pentru crearea părţii clientului trebuie de creat documentul HTML, în care este realizat
interfaţa cu utilizatorul. În limbajul HTML este posibilă realizarea cu ajutorul formelor.
Construcţia limbajului HTML, care utilizează în timpul realizării formelor este:
<FORM atribute>…</FORM>
utilizarea: este atribuit pentru primirea informaţiei de la client şi determină începutul şi sfârşitul
formelor.
Atributele:
obligatorii
ACTION – determină URI (adresa şi locul amplasării documentului) scriptului CGI
METHOD – determină metoda transmiterii informaţiei scriptului.
neobligatorii
[ENCTYPE] – determină tipul MIME de decodificarea informaţiei
[SCRIPT] – se întrebuinţează pentru transmiterea URI a scriptului. Limbajul scriptului şi
interfaţa utilizatorului care nu este o parte a specificaţiei HTML.
Notă: Formele nu pot fi intercalate.
11UTM.2152.01.259.ME
Clientul Serverul
Programul vizionării WWW
HTML – documentul, care realizează
interfaţa cu utilizatorul (forma)
modulul CGI Structuriinterioare
ServerulWWW
baze de date
CGI
Fig.1.1 Două părţi a interfeţei interactive
Coala
Mod Coala N Document Semnat. Data
Partea serverului
Partea serverului constă din modulul executat, ce soluţionează problemele de bază de
prelucrare a datelor transmise de la partea clientului, formarea răspunsului în formatul HTML
ş.a.m.d. Aşa tip de modul se numeşte cgi-modul.
1.2 HTML – limbaj Word Wide Web
Un document poate fi identificat prin următoarele caracteristici fundamentale: structura,
conţinut şi forma. Dacă forma de vizualizare este dependentă de programul de afişare a
informaţiilor conţinute de acel document, structura şi conţinutul său trebuie să aibă un format
general de reprezentare, pentru a asigura portabilitatea.
Pagina personală – aceasta este un document textual, creat cu ajutorul următoarelor
mijloacelor de bază:
– HTML (Hypertext Markup Language) – limbajul de marcare a hipertextului,
– CGI (Common Gateway Interface) – interfaţa generală a barajului,
– HTTP (Hypertext Transfer Protocol) – protocolul de transmitere a documentelor
hipertextuale.
Limbajele de bază de programare: Java, JavaScript, Perl.
Aceste mijloace – întrebuinţarea lor ne dă voie să elaborăm o pagină destul de funcţională,
în continuare începem cu HTML.
1.3 Prezentare generală a limbajului HTML
Tim Berners-Lee a utilizat ca model SGML (Standard Generalized Markup Language), un
standard internaţional în plină dezvoltare. SGML avea avantajul unei structurări avansate şi al
independenţei de platformă dar proiectarea lui a avut în vedere mai mult structura semantică a
documentului decât modul de formatare. Flexibil, SGML putea fi descris ca o specificare pentru
descrierea altor formate. Utilizatorii puteau crea noi formate (DTD, Document Type Definitions)
care puteau fi înţelese de orice produs soft SGML pur şi simplu prin citirea mai întâi a definiţiilor
noilor formate.
HTML este pur şi simplu un DTD, deci o aplicaţie a SGML. În primii ani de evoluţie
HTML a crescut lent, în principal pentru că îi lipseau posibilităţile de a descrie publicaţii electronice
profesionale; limbajul permitea oarece control asupra fontelor dar nu permitea inserarea graficii. În
1933, NCSA a îmbogăţit limbajul pentru a permite inserarea graficii şi au construit primul navigator
grafic, Mosaic. Au urmat apoi contribuţii ad hoc ale diverselor firme care au adus adăugări
limbajului HTML (adăugări şi nu îmbogăţiri pentru ca unele tăguri nu erau în conformitate cu
12UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
principiile generale ale SGML) astfel încât, prin 1994 limbajul părea scăpat de sub control. Urmarea
a fost ca la prima conferinţa WWW din Geneva (Elveţia) s-a constituit un grup (HTML Working
Group) a cărui prima misiune a fost formalizarea HTML într-un DTD al SGML, lucru care s-a
concretizat în HTML Level 2 (sau HTML 2.0; Nivelul 1, deci HTML 1.0, a fost proiectat de Tim
Berners-Lee). Importanţa acţiunii acestui grup constă în faptul că, odată standardizat, limbajul poate
fi apoi extins într-un mod mai controlat la alte nivele.
Standardul oficial HTML este World Wide Web Consortium (W3C), care este afiliat la
Intrenet Engineering Task Force (IETF). W3C a enunţat câteva versiuni ale specificaţiei HTML,
printre care şi HTML 2.0, HTML 3.0,HTML 3.2, HTML 4.0 şi, cel mai recent, HTML 4.01. În
acelaşi timp, autorii de browsere, cum ar fi Netscape şi Microsoft, au dezvoltat adesea propriile
“extensii” HTML în afară procesului standard şi le-au încorporat în browserele lor. În unele cazuri,
cum ar fi tăgul Netscape, aceste extensii au devenit standarde de facto adoptate de autorii de
browsere.
HTML 2.0, elaborat în iunie 1994, este standardul pe care ar trebui să-l suporte toate
browserele curente – inclusiv cele mod text. HTML 2.0 reflectă concepţia originală a HTML că un
limbaj de marcare independent de obiectele existente pentru aşezarea lor în pagină, în loc de a
specifica exact cum ar trebui să arate acestea. Daca doriţi sa fiţi siguri ca toţi vizitatorii vor vedea
paginile aşa cum trebuie, folosiţi tăgurile HTML 2.0.
Specificaţia HTML 3.0, Enunţată în 1995, a încercat să dezvolte HTML 2.0 prin adăugarea
unor facilităţi precum tabelele şi un mai mare control asupra textului din jurul imaginilor. Deşi
unele din noutăţile HTML 3.0 erau deja folosite de autorii de browsere, multe nu erau încă. In unele
cazuri, tăguri asemănătoare implementate de autorii de browsere au devenit mai răspândite decât
tăgurile “oficiale”. Specificaţia HTML 3.0 acum a expirat, deci nu mai este un standard oficial.
În mai 1996, W3C a scos pe piaţă specificaţia HTML 3.2, care era proiectată să reflecte şi să
standardizeze practicile acceptate la scara largă. Deci, HTML 3.2 include tăgurile HTML 3.0 ce
erau adoptate de autorii de browsere ca Netscape şi Microsoft plus extensii HTML răspândite. În
bilanţul asupra HTML, W3C recomandă că providerii de informaţii să utilizeze specificaţia HTML
3.2. Versiunile curente ale majorităţii browserelor ar trebui să suporte toate, sau aproape toate
aceste tag-uri.
De asemenea există extensii Netscape şi Microsoft care nu fac parte din specificaţia HTML
3.2, ori pentru că sunt mai puţin utilizate, ori au fost omologate după apariţia HTML 3.2. Pentru ca
navigatorul Netscape a fost printre primele browsere care suporta anumite tăguri HTML 3.0, iar
Netscape deţine în jur de 70% din piaţa de browsere, mulţi au crezut eronat ca toate extensiile
Netscape (incluzând tăguri ca şi facilitaţi ca ferestrele) fac parte din HTML 3.0 sau HTML 3.2.
13UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Următoarea versiune a HTML-ului dezvoltată de consorţiul W3, denumita Cougar, este
standardul HTML 4.0, apărut relativ recent, în anul 1997, care aduce suport pentru accesibilitatea
paginilor Web din partea persoanelor cu handicap, foi de stiluri interne, suport lingvistic şi pentru
formule matematice, evenimente etc. După cum stipulează inventatorul Web-ului şi directorul
W3C, Tim Berners-Lee:
“Cu HTML 4.0, orice aplicaţie Web va fi independentă de navigator.”
HTML 4.0 este disponibil în trei variante:
HTML 4.0 Strict
HTML 4.0 Transitional
HTML 4.0 Frameset
La momentul apariţiei acestui tutorial, HTML 4.0 este larg utilizat şi au fost deja publicate
specificaţiile HTML 4.01.
Documentele HTML sunt documente în format ASCII şi prin urmare pot fi create cu orice
editor de texte. Au fost însă dezvoltate editoare specializate care permit editarea într-un fel de
WYSIWYG deşi nu se poate vorbi de WYSIWYG atâta vreme cât navigatoarele afişează acelaşi
document oarecum diferit, în funcţie de platforma pe care rulează. Au fost de asemenea dezvoltate
convertoare care permit formatarea HTML a documentelor generate (şi formatate) cu alte editoare.
Evident conversiile nu pot patra decât parţial formatările anterioare deoarece limbajul HTML este
încă incomplet.
Proiectanţii de navigatoare (ca Netscape şi, mai nou, Microsoft) au adăugat diferite facilităţi
care nu apar definite de nici un standard HTML. De exemplu, Netscape Navigator 3.0 oferă
posibilităţi de adăugare de elemente multi-media direct în paginile Web, fundaluri reprezentate de
imagini, cadre (frames) etc. plus suport pentru script-uri Java interpretate direct de către client.
Pentru a asigura fidelitatea şi corectitudinea comunicaţiilor pe WWW, consorţiul W3 a
introdus HTML Validation Service (http://validator.w3.org/) care verifică dacă un anumit document
respectă standardul HTML 4.0. În prezent, nu există încă un navigator care să suporte acest
standard, dar se aştepta apariţia noilor versiuni care să se conformeze acestuia. În fapt, Tim Berners-
Lee declară că HTML 4.0 n-a fost conceput pentru navigatoare ci pentru aplicaţii viitoare şi produse
Web.
14UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1.3.1 Format
Formatul se specifică prin HTML, limbaj care conformându-se SGML-ului, accepta un
număr de tag-uri pentru formatarea documentului. Ca şi în SGML, tag-urile se încadrează între
<şi>, putând exista tag-uri de început şi de sfârşit. Fişierele HTML sunt fişiere ASCII obişnuite
având extensia .html (sau .html) şi sunt divizate în două părţi: antetul (head) şi corpul (body).
Astfel, o pagină Web marcată cu tag-uri HTML are forma generală:
<html> <!-- tăg obligatoriu --> <head> <!-- început de antet --> ... </head> <!-- sfârşit de antet -->
<body> <!-- început de corp --> ... </body> <!-- sfârşit de corp --> </html> <!-- sfârşit de document -->
Conform specificaţiei HTML 3.2 pentru a fi identificat ca document SGML un fişier HTML
trebuie precedat şi de linia:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2 Final//EN>
pentru a putea fi procesat şi de analizatoarele SGML.
În cadrul antetului, printre altele, poate apare titlul documentului (al paginii Web) specificat de tag-ul <title>:
<title>Faculty of Computer Science</title>
De obicei între <head> şi </ head> apar definiţii de rutine scrise în limbaje script (ca
JavaScript) pentru a fi siguri ca sunt analizate şi memorate de navigator (antetul e procesat primul).
1.3.2 Tag-uri
În cadrul corpului pot apărea diverse tag-uri:
stil de afişare
<b> (îngroşat), <i> (înclinat), <u> (subliniat), <strong> (intensificat), <big> (mai
mare), <small> (mai mic), <sub> (indice), <sup> (exponent), <font> (dimensiune
si culoare font), <pre> (text preformatat), <code> (cod sursa), <center> (centrat),
<blink> (clipitor)
titluri
<h1> ... <h6>
secţiuni
<div> (diviziuni), <p> (paragrafe), <hr> (linie orizontală),
15UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
<br> (trecere la o linie nouă)
liste
<ul> (lista nenumerotată), <ol> (lista numerotată), <li> (element de listă), <dir>
(lista de directoare), <menu> (meniu)
imagini
<img>
tabele
<table> (început de tabel), <tr> (linie de tabel), <td> (definiţie celulă), <th>
(antet)
legături (ancore)
<a>
formulare
<form> (definiţie), <input> (câmp de interogare)
cadre (frame-uri)
<frameset> (definire), <frame> (cadru), <noframes>
suport pentru alte limbaje
<applet>, <script>, <style>
suport multi-media
<embed> (extensie Netscape)
extensii
<meta>
entităţi speciale
< > & © etc.
În continuare, vom prezenta definiţiile formale pentru o parte din tag-urile de mai sus,
împreună cu atributele aferente, conform notaţiei DTD.
Corpul documentului
<!--========= Document Body ========-->
<!ENTITY % body.content “(%heading | %text | %block | ADDRESS)*”>
<!ENTITY % color “CDATA” -- specificaţia de culori: #HHHHHH (RGB, in hexa) -->
<!ENTITY % body-color-attrs “ bgcolor %color #IMPLIED <!-- culoare fundal --> text %color #IMPLIED <!-- culoare caractere -->
16UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
link %color #IMPLIED <!-- culoare legături --> vlink %color #IMPLIED <!-- culoare legaturi vizitate --> alink %color #IMPLIED <!-- culoare legaturi active --> ”>
<!ELEMENT BODY O O %body.content><!ATTLIST BODY
background %URL #IMPLIED -- textura pentru fundalul documentului -- %body-color-attrs; -- bgcolor, text, link, vlink, alink -- >
<!ENTITY % address.content "((%text;) | P)*">
<!ELEMENT ADDRESS - - %address.content>
Secţiuni
<!ELEMENT DIV - - %body.content> <-- tag-ul diviziune --><!ATTLIST DIV align (left|center|right) #IMPLIED -- alinierea textului -- >
<!-- CENTER e o 'scurtătura' pentru DIV cu ALIGN=CENTER --><!ELEMENT center - - %body.content>
Liste
<!-- liste de definiţii - DT pentru termen, DD pentru definiţia lui -->
<!ELEMENT DL - - (DT|DD)+><!ATTLIST DL compact (compact) #IMPLIED -- stil compact -- >
<!ELEMENT DT - O (%text)*><!ELEMENT DD - O %flow;>
<!-- liste ordonate OL si liste neordonate UL --><!ELEMENT (OL|UL) - - (LI)+>
<!-- Stil de numărare 1 numere arabe 1, 2, 3, ... a litere mici a, b, c, ... A litere mari A, B, C, ... i litere romane mici i, ii, iii, ... I litere romane mari I, II, III, ...-->
<!ENTITY % OLStyle "CDATA" -- restrâns la: [1|a|A|i|I] -->
<!ATTLIST OL -- liste ordonate --
17UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
type %OLStyle #IMPLIED -- stil de numărare -- start NUMBER #IMPLIED -- startul secvenţei de numărare -- compact (compact) #IMPLIED -- compactare -- >
<!-- stiluri de 'bullet'-uri -->
<!ENTITY % ULStyle “disc|square|circle”>
<!ATTLIST UL -- liste neordonate -- type (%ULStyle) #IMPLIED -- stil -- compact (compact) #IMPLIED -- compactare -- >
<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)><!ATTLIST DIR compact (compact) #IMPLIED ><!ATTLIST MENU compact (compact) #IMPLIED >
<!-- <DIR> Lista de directoare --><!-- <DIR COMPACT> Ca mai sus, compactat --><!-- <MENU> Lista de meniuri --><!-- <MENU COMPACT> Ca mai sus, compactat -->
<!ENTITY % LIStyle “CDATA” -- retrins la: “(%ULStyle|%OLStyle)” -->
<!ELEMENT LI - O %flow -- element de lista --><!ATTLIST LI type %LIStyle #IMPLIED -- stil -- value NUMBER #IMPLIED -- valoare -- >
Tabele
<!-- vezi şi RFC 1942 http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt -->
<!-- locul de amplasare orizontală a tabelului în cadrul ferestrei --><!ENTITY % Where “(left|center|right)”>
<!-- alinierea orizontală a conţinutului celulelor de tabel --><!ENTITY % cell.halign “align (left|center|right) #IMPLIED” >
<!-- alinierea verticală a conţinutului celulelor de tabel --><!ENTITY % cell.valign “valign (top|middle|bottom) #IMPLIED”
18UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
>
<!ELEMENT table - - (caption?, tr+)> <-- un tabel e compus din titlu şi rânduri -->
<!ELEMENT tr - O (th|td)*><!ELEMENT (th|td) - O %body.content>
<!ATTLIST table elementul de tabel -- align %Where; #IMPLIED -- poziţia relativa la fereastra -- width %Length #IMPLIED -- lăţimea relativa la fereastra -- border %Pixels #IMPLIED -- cadru tabel -- cellspacing %Pixels #IMPLIED -- spatii dintre celule -- cellpadding %Pixels #IMPLIED -- spaţiere in cadrul celulelor -- > Imagini
<!ENTITY % Length "CDATA" -- nn pentru pixeli sau nn% pentru procente --><!ENTITY % Pixels "NUMBER" -- lungimea în pixeli -->
<!ENTITY % IAlign "(top|middle|bottom|left|right)">
<!ELEMENT IMG - O EMPTY -- Incorporează o imagine în document --><!ATTLIST IMG src %URL #REQUIRED -- URL-ul imaginii -- alt CDATA #IMPLIED -- text afişat în locul imaginii -- align %IAlign #IMPLIED -- aliniere orizontală/verticală -- height %Pixels #IMPLIED -- înălţimea în pixeli -- width %Pixels #IMPLIED -- lăţimea în pixeli -- border %Pixels #IMPLIED -- lăţimea bordurii imaginii -- hspace %Pixels #IMPLIED -- spaţiere orizontală -- vspace %Pixels #IMPLIED -- spaţiere verticală -- usemap %URL #IMPLIED -- utilizează client harta de imagini -- ismap (ismap) #IMPLIED -- utilizează server harta de imagini -- >
Codificarea documentelor
În componenţa limbajului HTML sunt tag-uri, ce determină codificarea documentului şi
permite atent citirea documentului în orice cod. Dar în legătură cu ceea că aceste tag-uri nu sunt
susţinute nici de un broswer cunoscut. Posibil, în viitor această situaţie se va schimba, şi problema
cu codificarea va fi rezolvată.
Pentru susţinerea paginilor codificate întreprind multe metode care pot fi separate în două
grupe:
─ întrebuinţarea fişierelor – copiile unui document în diferite codificări
─ transformarea dinamică a documentelor din codificare, unde stau pe server, codificat,
susţinut WWW-client.
În următoarea figură se codifică un document oarecare:
19UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Fig.1.2 Codificarea documentului
1.4 Cascading Style Sheets (CSS)
Vom prezenta în continuare câteva dintre trăsăturile CSS, scopul lor fiind controlarea mai
precisă a formatului elementelor HTML (poziţie şi apariţie în fereastra de afişare şi comportament
la anumite evenimente produse de utilizator sau navigator). Într-un document HTML putem utiliza
multiple foi de stiluri, având un anume nivel de importanţă.
Aflată la cea de a doua versiune standardizată recent (luna mai 1998) de Consorţiul Web,
specificaţia CSS poate fi utilizată prin:
inserţie
Fiecare tag HTML are ataşat un stil de afişare (tip de font, culoare, mărime etc.) , ulterior
putându-se modifica într-o manieră dinamică:
<p style= “font-size: 22pt; font-style: italic; font-weight: extra-bold font-family: Arial”>
Students' Web Pages</p>
definiţie
Stilurile se declară între <style> şi </style>, în cadrul definirii corpului paginii Web
(secţiunea <head>...</head>), pentru fiecare tag în parte:
<style type="text/css"> p { font-size: 22pt; font-style: italic; font-weight: extra-bold }
h3 { font-family: Arial; font-style: italic; color: green }
20UTM.2152.01.259.ME
WWW - client WWW - server
Programul care recodifică
Documente
Coala
Mod Coala N Document Semnat. Data
</style>Am definit stiluri pentru paragrafe şi titluri de tip H3.
extern
Toate stilurile se definesc în exteriorul documentului HTML şi anume în cadrul unui fişier
.css care este inclus prin intermediul tag-ului <link> în pagina Web. Astfel, avem posibilitatea
de a utiliza un anumit fişier .css pentru mai multe pagini, definind stilurile doar o singură dată.
Câteva elemente de stil
CSS permite o afişare mai clară, mai flexibilă a informaţiilor stocate în cadrul unui
document.
O parte din atributele noi introduse de CSS sunt următoarele:
line-height specifică spaţiul dintre liniile de text, permiţând astfel distanţări sau
suprapuneri variabile;
font-family controlează font-ul încărcat pentru afişarea unui anumit element (Times,
Garamond, Verdana, Arial);
font-size specifică dimensiunea font-ului (în centimetri, inch, pixeli, procente);
font-style defineşte stilul fontului afişat (normal, oblique, italic etc.);
font-weight specifică grosimea fontului (bold, light, medium, extra-bold etc.);
text-decoration defineşte elementele decorative adăugate textului (italic, line-
through, none, underline);
position specifică poziţia de afişare (absolută sau relativă la alt element) în cadrul
paginii.
Notă
Din păcate, doar ultima generaţie de navigatoare suportă definiţiile de stiluri conform
specificaţiei CSS.
1.5 Complemente HTML - ului
Veteran în ceea ce priveşte apariţia sa pe Web, limbajul HTML, cu toată răspândirea sa
impresionantă şi a simplităţii, nu este extensibil, neputându-se adăuga noi tag-uri la cele existente.
Mai mult, HTML este o soluţie foarte bună pentru afişarea informaţiei, dar nu şi pentru stocarea ei,
lipsind posibilitatea creării de structuri complexe de date care să faciliteze căutarea, validarea şi
interpretarea eficientă a datelor. Astfel, iniţial HTML a fost prevăzut cu posibilitatea apelării unor
programe care să ruleze pe serverul Web, aşa-numitele aplicaţii CGI (Common Gateway
21UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Interface) menite să mărească interactivitatea paginilor WWW. Apoi s-au adăugat tag-uri de
apelare a unor parţi de cod Java şi JavaScript rulând pe calculatorul clientului.
1.6 Standard Generalized Markup Language (SGML)
SGML (Standard Generalized Markup Language) reprezintă un standard internaţional
pentru definirea unor metode de reprezentare a textelor în format electronic, independent de
dispozitiv şi de sistemul de calcul. În seria de articole referitoare la acest standard vom încerca sa
prezentăm istoricul şi caracterizarea generala ale SGML-ului, plus structurile, declaraţiile,
proiectele şi aplicaţiile bazate pe SGML.
1.6.1 Aplicaţii timpurii importante în SGML
Electronic Manuscript Project (EMP) între anii 1983 şi 1987, EMP a fost dezvoltat
de AAP (Association of American Publishers) avându-se în vedere conceperea asistată de calculator
a cărţilor, ziarelor şi articolelor. Aplicaţia avea printre facilităţi suport de interschimbare a
manuscriselor între autorii lor şi editori şi includerea de elemente de definire a tabelelor complexe şi
a formulelor ştiinţifice.
Computer-aided Acquisition and Logistic Support (CALS) Partea de SGML a CALS
a fost propusă în februarie 1987 de către Bruce Lapisto, având ca beneficiar Ministerul Apărării al
SUA, devenind în 1988 standard militar (conform MIL-M-28001). Proiecte similare pentru achiziţia
de date asistată de calculator şi suport logistic au fost dezvoltate şi de alte ţări ca Suedia, Australia,
Canada.
1.6.2 Prezentare a SGML - Precizări generale
SGML este un standard internaţional pentru descrierea de marcaje (markups) ale textelor
electronice. De fapt, SGML reprezintă un metalimbaj, o descriere formală a unui limbaj, în acest
caz, un limbaj de adnotare (de formatare) de texte. Cuvântul marcaj (markup) a fost utilizat iniţial
pentru a descrie anumite adnotări, note marginale în cadrul unui text cu intenţia de a indica
tehnoredactorului cum trebuie listat un anumit pasaj ori chiar omis. Exemple de acest gen ar fi
sublinierea unor anumite cuvinte, folosirea anumitor simboluri speciale, listarea unor părţi de
document cu un corp de litera (font) specificat etc. Cum formatarea şi imprimarea textelor au fost
automatizate, termenul s-a extins pentru a acoperi toate tipurile de coduri de marcare inserate în
textele electronice cu scopul de a indica modul de formatare, listare ori alte acţiuni.
Generalizând, putem defini marcajul sau codarea drept orice acţiune de a interpreta explicit
o porţiune de text. La un nivel superficial, toate textele sunt codate: puncte de punctuaţie, folosirea
22UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
de majuscule, dispunerea enunţurilor în pagină, chiar şi spaţiile dintre cuvinte putвnd fi privite drept
marcaje. Codificarea unui text pentru procesarea computerizata este, in principiu, ca o transcriere a
unui manuscris din scriptio continua într-un format special, intern, dictat de utilizator prin folosirea
(explicita sau nu) a unor directive/marcaje ce definesc modul de interpretare a conţinutului textului.
Printr-un limbaj de specificare înţelegem, astfel, un set de convenţii de marcare utilizate
pentru codificarea textelor. Un limbaj de marcare trebuie sa specifice mulţimea de marcaje
obligatorii, permise, maniera de identificare a marcajelor si care este semantica fiecărui marcaj
disponibil (similar procesului de specificare a sintaxei si semanticii unui limbaj de programare).
1.6.3 Caracteristici
Există trei caracteristici definitorii ale SGML:
marcaje descriptive (descriptive markups) - folosirea de coduri de marcaje ce oferă
nume speciale pentru a clasifica părţi de document (de exemplu sau \end{section} identifica o
porţiune dintr-un anumit document, în cazul nostru început de paragraf şi respectiv de sfârşit de
secţiune). Prin contrast, un limbaj de marcare procedurala defineşte o acţiune de îndeplinit la un
moment dat (e.g. move(left_margin,2') ori skip(this_line)).
tipuri de documente - SGML introduce noţiunea de tip de document si de definiţie a
tipurilor de documente: document type definition (DTD). Documentele sunt privite ca avвnd tipuri,
aşa cum au obiectele procesate de calculatoare. Un tip de document este definit formal de părţile
sale constituente si de structura lor. De exemplu, definiţia unui raport poate consta din titlu si
numele autorului, urmate de un rezumat si de o secvenţa de mai multe paragrafe. Documentele
avвnd asociat un tip, se poate utiliza un parser (analizor) pentru a verifica pentru un text
corectitudinea sa, adică apartenenţa sa la un tip de document si respectarea elementelor specificate
în DTD. Astfel, documente de acelaşi tip pot fi procesate intr-un mod uniform. Programele pot
exploata informaţiile încapsulate in definiţiile de structura ale documentelor si se pot comporta deci
intr-o maniera inteligenta. De aceea, SGML este luat in consideraţie de cercetători din domeniul
inteligentei artificiale, in special de cei care se ocupa de procesarea limbajului natural.
independenta datelor - SGML asigura translarea documentelor codificate in acest
mod de la o platforma la alta si de la un mediu software la altul fără pierderea informaţiei. SGML
oferă un mecanism general pentru substituţia şirurilor de caractere (independent de setul de
caractere ales: ASCII, EBCDIC sau UniCode) şi posibilităţi de extindere a marcajelor.
1.6.4 Structuri SGML
23UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
În continuare vom descrie mecanismul simplu şi consistent prezent în SGML pentru
marcarea şi identificarea unităţilor-text structurale (atomi lexicali), cum ar fi secţiunile, capitolele,
paragrafele.
Elemente
Termenul tehnic utilizat de SGML pentru o unitate-text, văzută ca o componenta structurala,
este element. Diferite tipuri de elemente au asignate diferite nume. Fiecare element trebuie
specificat explicit intr-un anumit mod. Standardul oferă o varietate de moduri pentru a realiza acest
lucru, dar cea mai comuna modalitate este de a insera un marcaj (tag) la începutul unui element (tag
de start) si unul la sfârşitul lui (tag de sfârşit). Perechea tag de start - tag de sfârşit este folosita la
încadrarea fiecărei instanţe a elementului respectiv în cadrul unui text (similar utilizării diferitelor
tipuri de paranteze ori semne de punctuaţie; de exemplu, in Pascal comentariile sunt specificate
între acolade {}, în Fortran indicii de tablouri sunt inseraţi între (), în C secţiunile de început şi de
sfârşit de bloc de instrucţiuni se scriu între {}, iar în limbajul natural folosim ghilimelele pentru a
delimita un citat).
În SGML se utilizează <element> pentru a specifica un tag de început si </element>
pentru un tăg de sfârşit, unde element este numele unui element oarecare. Exemplu:
<p>Cum zice si fratele nostru Che Guevara
în însemnările sale ce acuma cetesc la opait:
<quote>Pantofarul musai pantofi sa facă,
iar revoluţionarul, revoluţii</quote></p>
(Mircea Cartarescu – “Levantul”)
unde <p> si <quote> denota început de paragraf, respectiv de citat.
Modele
Un element poate fi vid (nu conţine nimic intre tag-urile de început si sfârşit) sau poate
conţine un text ori alte elemente. Mai multe elemente de acelaşi tip pot fi imbricate (aşa cum am
văzut mai sus).
Astfel, relaţiile dintre elementele SGML pot fi văzute in termeni de:
secvenţa
apariţie
ierarhie
grupare
incluziune
24UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Pentru a ilustra mai detaliat acest aspect, consideram un model structural foarte simplu.
Presupunem ca dorim sa identificam o antologie printr-o succesiune de poeme, titlurile lor, versurile
din care sunt compuse. In termeni SGML, antologie este un tip de document si este compusa
dintr-o serie de poeme. Fiecare poem încapsulează un element titlu (unic) şi câteva apariţii de
elemente strofa, fiecare strofa conţinând un număr de elemente vers. Astfel avem:
<antologie>
<poem><titlu>...
<strofa>
<vers>...
<vers>...
...
</strofa>
<poem>
...
<!--mai multe poeme...(acesta e un comentariu)-->
</antologie>
La fel, am putea defini acelaşi lucru pentru un limbaj de programare:
<prog>
<titlu>...
<decl>
<const>
...
</const>
<var>
...
</var>
<proc>
...
</proc>
<corp>
<instrucţiune>...</instrucţiune>
<instrucţiune>...</instrucţiune>
...
</corp>
25UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
</prog>
Evident, exemplele de mai sus nu ne precizează anumite reguli de compunere a unei
antologii, respectiv a unui program. Declaraţiile de variabile sau de constante sunt opţionale, dar
corpul programului e obligatoriu si acest lucru nu se deduce din cele prezentate anterior. Aşadar
avem nevoie de un mecanism de precizare a structurii unui text si, desigur, semantica fiecărui
element definit.
Totuşi, chiar şi la acest nivel, documentul de tip antologie poate fi procesat in anumite
moduri, pentru diverse scopuri. Un program de indexare ar putea extrage doar elemente relevante
criteriului ales pentru realizarea indexului: o listă de titluri, o listă a celor mai des folosite cuvinte
dintr-o poezie. Un program de formatare a textului ar putea însera linii între fiecare strofă, iar titlul
fiecărui poem ar putea fi tipărit îngroşat.
Un program mai ambiţios pentru analiza lingvistică asistată de calculator ar putea determina
metrica şi tipul de rime ale fiecărui poem. În ceea ce priveşte documentul de tip program, s-ar putea
concepe un analizor care să verifice corectitudinea sintactică şi, în funcţie de limbajul dorit, să
genereze automat construcţiile specifice acelui limbaj (pentru Pascal <prog> ar putea fi înlocuit de
program identificator, iar în C de void main(void). <corp> ar fi begin în varianta
Pascal şi { în C, iar </corp> ar fi end, respectiv }
1.7 Definirea structurii unui document (Document Type Definition)
DTD este exprimată în SGML ca un set de afirmaţii (instrucţiuni) declarative, utilizând o
sintaxă simplă. Pentru modelul antologie, am putea scrie definiţia următoare:
<!ELEMENT antologie - - (poem+)>
<!ELEMENT poem - - (titlu?,strofa+)>
<!ELEMENT titlu - 0 (#PCDATA)>
<!ELEMENT strofa - 0 (vers+)>
<!ELEMENT vers 0 0 (#PCDATA)>
Fiecare declaraţie reprezintă o definiţie formala a unui element. O declaraţie (meta-element)
este delimitata de < şi >, primul caracter fiind semnul de exclamaţie, urmat imediat de un cuvânt
cheie SGML, care denota tipul obiectului ce va fi definit. Fiecare definiţie este compusa din trei
părţi: un nume sau un grup de nume (neterminali în jargonul limbajelor formale), doua caractere
specificând regulile de minimizare (vezi mai jos) şi un conţinut (neterminali şi terminali). După
cum se observa, fiecare definiţie poate fi asimilată cu o producţie. Pârtile componente ale unei
declaraţii sunt separate de spaţii albe (spaţiu, tab-uri sau NL).
26UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Reguli de minimizare
Aceste reguli determina dacă tag-urile de început şi de sfârşit de element trebuie sa fie
prezente la fiecare apariţie a respectivului element.
Regulile sunt de fapt perechi de caractere: primul se referă la tag-ul de start, iar cel secund la
tag-ul de sfârşit. Pot fi prezente numai caracterele “-”(tag obligatoriu) şi “O” (tag opţional). După
cum se remarca, doar elementele antologie si strofa au ambele tag-uri obligatorii, pe când la
titlu poate apare numai tag-ul de start.
Conţinutul
Închisă între paranteze, a treia parte a definiţiei se numeşte model-conţinut, specificând ce
alte elemente pot apare în cadrul elementului definit. Cuvîntul cheie #PCDATA (parsed character
data) indica posibilitatea apariţiei oricărui caracter valid. Alte tipuri de date: CDATA (character
data), RCDATA (replaceable character data), SDATA (specific data), NDATA (non-SGML data),
EMPTY (no data - element vid), ANY (orice tip de data). Indicatori de apariţie în declaraţia
elementului strofă observam apariţia unui semn special, un indicator de apariţie, care poate fi:
semnul plus (+) elementul respectiv poate apare de una sau mai multe ori (o strofă e
compusă din cel puţin un vers)
semnul asterisc (*) elementul poate apare de zero, unu sau mai multe ori
semnul întrebării (?) elementul poate apare de cel mult o dată (un poem poate avea
un unic titlu sau nici unul, dar e compus măcar dintr-o singură strofă).
Conectori
Un model-conţinut poate cuprinde mai multe componente într-o anumită ordine dictată de
un conector. În exemplul nostru s-a utilizat virgula. Conectorii pot fi:
virgula (,) componentele trebuie sa apară obligatoriu în ordinea specificată
ampersand (&) componentele trebuie sa apară, dar în ordine aleatoare
bara verticala (|) doar una dintre componente poate apare
Daca la definirea elementului poem am fi pus & în loc de virgulă, atunci titlul ar fi putut
apare la sfârşitul poeziei, după strofe!
Observaţii
27UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Putem reprezenta DTD ca un arbore: rădăcina este definiţia elementului
antologie (simbol de start) care are ca fiu poem, iar poem are ca fii titlu şi strofa şi aşa
mai departe.
În SGML e permis sa definim modele-conţinut în care fiecare componentă este o
listă de elemente, combinată cu conectorii de grup. Astfel am putea avea definiţii ca:
<!ELEMENT catren 0 0(vers1,vers2,vers3,vers4)>
<!ELEMENT (vers1|vers2|vers3|vers4)0 0 (#PCDATA)>
(un catren e compus din patru versuri, fiecare vers conţinând orice caracter). Mai complex,
să presupunem ca în cadrul unui poem apare şi un refren care poate fi prezent doar la începutul unui
poem ori ca o adăugire opţională după fiecare strofă:
<!ELEMENT refren - - (#PCDATA|vers+)>
<!ELEMENT poem - 0 (titlu?,
((vers+)|(refren?,(strofa,refren?)+)))>
Excepţii
SGML permite ca orice model-conţinut sa fie modificat prin intermediul unei liste de
excepţii. Excepţiile sunt:
includeri elementele adiţionale pot fi incluse într-un anumit moment în model
(specificate cu semnul plus +)
excluderi anumite elemente nu pot fi incluse în cadrul modelului curent (specificate
cu semnul minus -)
Când includerile şi excluderile privesc acelaşi element, excluderile sunt prioritare (conform
standardului ISO 8879). Revenind la tipul de document program, în corpul unui program nu pot
apare declaraţii de constante sau de variabile:
<!ELEMENT (vardecl|constdecl) - - (#PCDATA)><!ELEMENT prog - - (titlu?,
((vardecl?|constdecl?|procdecl?),corp)>În acest caz, corp ar trebui declarat astfel:
<!ELEMENT instructiune - - (#PCDATA)>
<!ELEMENT corp - - (instructiune*) -(vardecl|constdecl)>
28UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Corpul poate conţine mai multe instrucţiuni (posibil nici una), dar nu poate include declaraţii
de variabile sau de constante.
29UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1.8 EXtensible Markup Language - XML
XML - eXtensible Markup Language este un limbaj foarte flexibil bazat pe SGML. XML
combină dificilul SGML (Standard Generalized Markup Language) că uneori limitatul HTML
(Hypertext Markup Language). HTML este un limbaj de marcare, şi înţelegerea conceptului de
limbaj de marcare (markup language) este cheia înţelegerii XML.
Pe scurt XML este un limbaj de marcare care poate rula pe orice platformă, orice sistem de
operare şi este realizat pentru a oferi dezvoltatorilor un mecanism mai bun de a descrie conţinutul
paginilor pe care le realizează. XML a fost realizat iniţial pentru a publica proiecte şi a fost
dezvoltat pentru a face schimbul de informaţie pe Web mai uşor şi mai eficient. XML permite
dezvoltatorilor să scrie definirea structurii unui document (DTD - document type definition).
XML este suficient de robust pentru a putea fi folosit la descrierea nu doar a conţinutului ci
şi a informaţiilor care descriu alte informaţii (metadata). Membrii W3C au realizat că HTML nu
putea fi extins pentru a îngloba toate tipurile de date pentru că, dacă s-a fi procedat astfel, HTML-ul
ar fi devenit prea incomod. Reîntoarcerea la SGML nu era o opţiune.
În momentul de faţă s-ar putea spune că XML şi HTML sunt veri, dar în viitor XML s-ar
putea sa devină părinte pentru HTML. Atât HTML cât şi XML au plecat de la SGML, dar XML
este un meta-markup language în timp ce HTML este doar un limbaj de marcare specializat. Cine
ştie ceva despre HTML, ştie ceva despre XML. Web-ul încă are la bază HTML, aşa că vor trebui
cunoştinţe de HTML persoanelor care doresc să apeleze la XML.
Multe din noile unelte care sunt create pentru a analiza sintaxa XML sunt realizate în Java.
Pentru a include un applet Java într-o pagină Web, trebuie să fie utilizat HTML-ul. Acest lucru nu
se va schimba cu siguranţă în viitorul apropiat. Cel puţin în anii ce vin HTML şi XML vor exista
împreună pe Web, iar HTML va fi o parte necesară pentru implementarea soluţiilor XML. Probabil
că una din întrebările cel mai des puse este dacă se poate folosi XML pentru a realiza pagini web.
Din păcate răspunsul la această întrebare nu poate fi un simplu da sau nu. Atât în Internet Explorer
4.0 şi 5.0 cât şi Netscape Navigator 5.0 au integrat suport XML. Nu trebuie să se aştepte nimeni să
realizeze un document XML să îl pună pe un site şi să creadă că un browser obişnuit ştie ce să facă
cu sintaxa respectivă.
În prezent nu se poate include pe o cale simplă XML într-o pagină web. Dezvoltatorii
determinaţi să facă acest lucru trebuie să apeleze la scripturi, realizate în JavaScript, ca să
convertească un document XML într-unul HTML, ceea ce nu reprezintă o soluţie prea bună. Cu
ajutorul XML orice persoană poate realiza tag-uri. Numai că cei ce doresc să creeze propriile tag-uri
nu o vor face foarte uşor. Pentru a realiza propriile tag-uri o persoană trebuie să realizeze propriile
DTD (document type definition).
30UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Mecanismul de realizare a unui DTD nu este foarte complicat dar realizarea unui DTD
eficient şi extensibil nu este nici “floare la ureche”. Nu încerc să sperii pe nimeni dar XML nu este
chiar o plimbare în parc aşa cum este HTML-ul.
1.8.1 XML - eXtensible Markup Language scurt istoric
Descendent al SGML, XML (eXtensible Markup Language) este un meta-limbaj utilizat
în activitatea de marcare structurală a documentelor, a cărui specificaţie a fost dezvoltată începând
cu 1996 în cadrul Consorţiului Web, la care au aderat ulterior o serie de grupuri de experţi din
comunităţile academice (Text Encoding Initiative, NCSA, James Clark) şi industriale (SUN, IBM,
Netscape, Oracle, Adobe etc.). Mai simplu decât SGML, XML este şi el independent de platformă
şi de sistemul de operare, fiind astfel potrivit pentru utilizare în cadrul reţelelor de calculatoare
neomogene.
De fapt, XML este compus dintr-o familie de limbaje menite a adapta curentele concepte de
publicare a documentelor la Internet. XML este compus din:
XML (eXtensible Markup Language) - subset al specificaţiei SGML, conceput
pentru o implementare mai uşoară;
XLL (eXtensible Linking Language) - set al mecanismelor hipertext bazate pe
HyTime şi Text Encoding Initiative, concretizat în două componente majore:
XLink - conceput pentru descrierea legăturilor dintre obiectele Internet
XPointer - compus dintr-o serie de termeni de localizare relativi la alte locaţii
XSL (eXtensible Stylesheet Language) - limbaj standard al foilor de stil, ca subset
al DSSSL;
XUA (XML User Agent) - direcţie de standardizare a navigatoarelor XML.
Scopurile declarate ale XML-ului sunt următoarele:
uşor de utilizat pe Internet
compatibil cu SGML
documentele XML sa fie uşor de citit, clare şi concise
uşurinţa în creare şi proiectare
numărul tag-urilor sa fie minim
Elaborarea specificaţiilor a fost divizata în trei faze: sintaxa, legături hiper-text şi
specificaţia de stiluri, bazată pe DSSSL (Document Style Semantics and Specification Languages);
la aceasta din urmă încă se mai lucrează.
31UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1.8.2 Format
Formatul unui document XML este similar celui SGML. Iată un exemplu:
<?XML version = “1.0” standalone = “yes” ?>
<conversation>
<greetings>Hello, world!</greetings>
<response>Stop the planet, I want to get off...</response>
</conversation>
Diferenţa faţă de SGML şi HTML este că în cazul XML contează modul de scriere a tag-
urilor cu caractere mici sau mari (exact ca la limbajul C): <tag> va fi diferit de <Tag> sau
<TAG>.
Mai mult, în cazul legăturilor hiper-text, în XML există mai multe mecanisme de conexiuni:
independente de locaţie
legături specificate şi organizate în afara documentului
legături n-are
legături agregate, provenite din surse multiple
legături interne, localizate în cadrul documentului.
1.8.3 Trăsături principale ale XML
1. Subset simplificat al SGML
foarte puternic, dar uşor de implementat
fără limite în ceea ce priveşte complexitatea structurilor ce pot fi definite
îndeajuns de compact pentru a fi suportat de navigatoarele Web
2. Oferă suport pentru uzul internaţional
marcajele şi conţinutul pot fi reprezentate în UniCode
uneltele de dezvoltare XML pot suporta orice codificări
3. Metalimbaj
conceput pentru a suporta definirea unui număr nelimitat de limbaje specializate,
oferind suport de extinderi
portabilitate.
1.8.4 Deosebiri esenţiale faţă de SGML
Orice document XML trebuie să înceapă cu meta-elementul <?xml...>.
32UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
În XML nu trebuiesc realizate definiţii ale tipului de document (DTD) obligatorii.
Elementele vide nu-s acceptate. Un element vid are o sintaxă modificată:
<element />.
Numele de elemente şi de atribute sunt case-sensitive (<tag> este diferit de <Tag>
sau de <TAG>).
În XML pot fi specificate anumite instrucţiuni de procesare (processing instructions)
de forma <?nume informaţii ?>. nume, denumit ţinta, identifică instrucţiunile de procesare
pentru o aplicaţie.
Incluziunile şi excluziunile nu sunt permise, la fel parametrii de minimizare în
declaraţiile de elemente.
Numele începând cu xml ori XML sunt rezervate. XML predefineşte semantica
atributelor xml:space şi xml:lang (vezi mai jos).
Regula spaţiilor albe
În editarea documentelor, este uneori necesara apariţia “spaţiilor albe” (spaţii, tab-uri, linii
vide). Anumite spaţii albe nu trebuie incluse în versiunea finală a documentului, pe când altele sunt
obligatorii (de exemplu, în codul sursa sau în cazul producţiilor lirice).
Un atribut special xml:space poate fi inserat în documente pentru a specifica, în cadrul
elementului în care apare acest atribut, ca spaţiile albe să fie tratate în mod semnificativ. Valorile
acestuia pot fi “default” sau “preserve”.
<!ATTLIST poem xml:space (default|preserve) 'preserve'>
Identificarea limbajului
Atributul special xml:lang poate fi inclus în documente pentru a defini limbajul utilizat în
conţinutul şi valorile atributelor unui element. Un exemplu:
<p xml:lang="en-GB">What colour is it?</p>
<p xml:lang="en-US">What color is it?</p>
<quote autohr="Sainte-Beuve" xml:lang="fr">
Il n'y a que de vivre; on voit tout et le contraire de tout.
</quote>
33UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1.8.5 Hiper-legături în XML
Specificaţia legăturilor în XML, denumită XLL, prezintă un model standard pentru
realizarea hiper-legăturilor. O legătură exprimă o relaţie între resurse. O resursă este orice locaţie
(un element identificat de un atribut ID sau conţinutul unui element de legătură, de exemplu) care
este adresată de o legătură. XLL dă posibilităţi de a defini semantica unei legături, nu doar sintaxa
ei, introducând şi noţiunea de legături extinse în care sunt implicate mai mult de două resurse (nu
doar o sursă şi o destinaţie) - direcţia XLink. XLL introduce şi pointeri extinşi (prin XPointer),
oferind o metodă sofisticată de a localiza resursele.
Două atribute speciale, show şi actuate, permit controlul asupra comportamentului
legăturii. Atributul show specifică dacă documentul pointat de o legătură este inclus în documentul
curent, înlocuindu-l sau afişându-l într-o altă fereastră atunci când legătura este activată. Atributul
actuate determină cum va fi activată o legătura (automat sau când e selectată de utilizator). Un
exemplu de legături extinse care ilustrează relaţiile dintre mai multe resurse:
<clink xml-link="extended" role="annotation">
<locator xml-link="locator" href="odix.txt">
Textul
</locator>
<locator xml-link="locator" href="adn1.loc">
Adnotari
</locator>
<locator xml-link="locator" href="adn2.loc">
Alte adnotări
</locator>
<locator xml-link="locator" href="obs.loc">
Observaţii critice
</locator>
</clink>
XML XPointer împrumută concepte din HyTime şi TEI, oferind o sintaxă ce permite
localizarea unei resurse prin traversarea arborelui de elemente al documentului conţinând acea
resursă. Pot fi folosite şi grupuri de legături extinse (legături recursive).
34UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1.8.6 Stil şi substanţa în XML
XSL se bazează pe DSSSL (Document Style Semantics and Specification Language),
standard internaţional pentru definirea foilor de stiluri (ISO/IEC 10179:1996). XSL oferă
următoarele:
formatarea bazată pe moştenire sau poziţie
crearea de construcţii de formatare incluzând text şi grafică
definirea de macro-uri de formatare
foi de stiluri independente de direcţia de scriere (suport pentru
internaţionalizare)
un set extensibil de obiecte de formatare
publicare independenta de medii
XML este suficient de robust pentru a putea fi folosit la descrierea nu doar a conţinutului ci
şi a informaţiilor care descriu alte informaţii (metadata). Membrii W3C au realizat că HTML nu
putea fi extins pentru a îngloba toate tipurile de date pentru că, dacă s-a fi procedat astfel, HTML-ul
ar fi devenit prea incomod. Reîntoarcerea la SGML nu era o opţiune.
În momentul de faţă s-ar putea spune că XML şi HTML sunt veri, dar în viitor XML s-ar
putea sa devină părinte pentru HTML. Atât HTML cât şi XML au plecat de la SGML, dar XML
este un meta-markup language în timp ce HTML este doar un limbaj de marcare specializat. Cine
ştie ceva despre HTML, ştie ceva despre XML. Web-ul încă are la bază HTML, aşa că vor trebui
cunoştinţe de HTML persoanelor care doresc să apeleze la XML.
Multe din noile unelte care sunt create pentru a analiza sintaxa XML sunt realizate în Java.
Pentru a include un applet Java într-o pagină Web, trebuie să fie utilizat HTML-ul. Acest lucru nu
se va schimba cu siguranţă în viitorul apropiat. Cel puţin în anii ce vin HTML şi XML vor exista
împreună pe Web, iar HTML va fi o parte necesară pentru implementarea soluţiilor XML. Probabil
că una din întrebările cel mai des puse este dacă se poate folosi XML pentru a realiza pagini web.
Din păcate răspunsul la această întrebare nu poate fi un simplu da sau nu. Atât în Internet Explorer
4.0 şi 5.0 cât şi Netscape Navigator 5.0 au integrat suport XML. Nu trebuie să se aştepte nimeni să
realizeze un document XML să îl pună pe un site şi să creadă că un browser obişnuit ştie ce să facă
cu sintaxa respectivă.
În prezent nu se poate include pe o cale simplă XML într-o pagină web. Dezvoltatorii
determinaţi să facă acest lucru trebuie să apeleze la scripturi, realizate în JavaScript, ca să
convertească un document XML într-unul HTML, ceea ce nu reprezintă o soluţie prea bună. Cu
ajutorul XML orice persoană poate realiza tag-uri. Numai că cei ce doresc să creeze propriile tag-uri
35UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
nu o vor face foarte uşor. Pentru a realiza propriile tag-uri o persoană trebuie să realizeze propriile
DTD (document type definition).
1.9 Elaborarea paginilor Web în JavaScript
După ce am învăţat HTML şi i-am simţit limitele mi-am zis ca trebuie sa trec la următoarea
etapă. Etapa următoare s-a dovedit a fi JavaScript. Sau JScript? Pe urmă am aflat ca JavaScript
este dezvoltat de cei de la Netscape iar JScript de cei de la Microsoft şi există mici diferenţe între
cele “două limbaje”. Ca măsură de precauţie îmi testez paginile atât sub Netscape cât şi sub Internet
Explorer.
JavaScript oferă posibilitatea de a crea pagini mai interactive, pagini care-şi modifică
conţinutul în funcţie de... ce vrea programatorul, pagini mai spectaculoase, pagini care nu au acces
la HDD şi, nu în ultimul rând, pagini care nu au auzit de baze de date. Vă las pe voi să evaluaţi care
sunt avantajele şi care sunt dezavantajele. Dar... ce nu face JavaScript face PHP
Înainte de a vedea cum înserăm liniile de JavaScript în documentul HTML vă prezint câteva reguli
de bază:
JavaScript este case sensitive
sintaxa este asemănătoare cu a C++
este orientat pe obiecte
Inserarea liniilor JavaScript în documentele HTML, inserarea se poate face în patru feluri:
• prin folosirea tagului <SCRIPT> al HTML
• prin specificarea fişierului cu comenzi JavaScript
• prin includerea de expresii JavaScript în atributele HTML
• prin funcţii de gestionare a evenimentelor
Java este un limbaj orientat pe obiecte. La baza lui stă noţiune de clasă. Clasa apare ca
şablon pentru crearea obiectelor; el poate să întreţină datele şi metodele. Există diferite regimuri
pentru acces la elementele clasei – private, protected, public.
Java este complect un limbaj orientat pe obiecte, fiecărei noţiuni care (clase, obiecte, metode
ş.a.) corespunde cu clasa, susţin prelucrarea programelor corespunzător “noţiunilor” obiectelor.
Clasele în limbajul Java se adună în pachete. Fiecare pachet determină spaţiu aparte pentru
nume. Toate clasele, intrând într-un pachet, sunt unite anume prieten la prieten, se are în vedere că
au acces la schimbări şi metode, anume private sau protected. Pentru însemnarea moştenirii se
întrebuinţează cuvântul cheie extends. În limbajul Java lipseşte multe, dar există înţelesul de
interfaţă ne dă voie de a uşura această depăşire. Interfaţa prezintă un cuplu de metode descrise.
Clasele pot de a reda interfeţe. Acest fapt este un cuvânt cheie implements în titlu clasei. Clasa class
36UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
se întrebuinţează pentru primirea în timpul îndeplinirea informaţiei despre proprietăţile “claselor”
de obiecte. Metode tipice de acest fel de clase – forName (obiectul de primire a clasei class după
textul numelui), newInstance (produsul obiectului nou acestei clase), getMethods (primirea
obiectului masiv, descriind metoda – public a clasei).
Mecanismul curentului – linia obligatorie a operaţiilor avansate a mediului. În limbajul Java
curenţii sunt prezentaţi de clase Thread, a interfeţei Runnable. Programele – Java se împarte în două
tipuri – aplicarea de sinestătător şi apleturi. Ultimul se execută în Web-navigator şi pot apărea pe
reţea. Aplicarea şi apleturile esenţial se deosebesc după măsurile securităţii, primite în procesul de
lucru.
1.9.1 Folosirea tag-ului <SCRIPT>
Tag-ul <SCRIPT> este un tag al HTML şi poate cuprinde un număr nelimitat de linii
JavaScript. Se foloseşte în felul următor:
<SCRIPT language=” JavaScript”>
...linii JavaScript...
</SCRIPT>
Un document HTML poate conţine mai multe tag-uri <SCRIPT>. Atributul
language poate specifica versiunea de JavaScript:
<SCRIPT language=”JavaScript1.0”>
<SCRIPT language=”JavaScript1.1”>
<SCRIPT language=”JavaScript1.2”>
1.9.2 Ascunderea scriptului în comentariu
Browserele care nu cunosc JavaScript vor ignora tagul <SCRIPT> şi vor afişa liniile de
comenzi ca text HTML. Pentru a preveni astfel de situaţii se introduce întregul script în comentariu
HTML:
<SCRIPT language=” JavaScript”>
<!--
...linii JavaScript...
// --> </SCRIPT>
1.9.3 Specificarea fişierului cu comenzi JavaScript
37UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Putem specifica fişierul de inclus prin intermediul atributului src al tagului <SCRIPT>. De
exemplu:
<HEAD>
<SCRIPT src=”fişier.js”>
...
</SCRIPT>
</HEAD>
Acest procedeu este util mai ales când folosim aceleaşi funcţii în mai multe pagini.
Liniile de comenzi introduse între <SCRIPT> şi </SCRIPT> sunt ignorate dacă nu apare vreo
eroare la deschiderea fişierului “fişier.js” specificat. În cazul unei erori se vor executa liniile
introduse în cadrul tagului.
Fişierele JavaScript externe nu pot conţine decât linii JavaScript şi definiţii de funcţii. Este
recomandat ca fişierul JavaScript sa aibă extensia .js şi... nu voi explica de ce!
Folosirea expresiilor JavaScript ca valoare a atributelor HTML. Folosind entităţile JavaScript
putem specifica o expresie JavaScript ca valoare a unui atribut HTML. Valoarea entităţii este
evaluata dinamic. În acest fel putem construi pagini HTML flexibile, pentru ca atributul unui
element HTML depinde de o informaţie plasată undeva în pagina.
Ca şi entităţile HTML, entităţile JavaScript încep cu caracterul “&” şi se termină cu
caracterul ”;”. În plus entitatea JavaScript este încadrată între acolade. Ex.:
<HR width=”&{barWidth};%”>
unde, barWidth este o variabilă JavaScript şi reprezintă lăţimea liniei orizontale în procente.
Tagul <NOSCRIPT>
Acest tag se foloseşte pentru cazul în care browserul care încarcă pagina nu “înţelege”
JavaScript sau avem decuplat JavaScript din browser. Ex.:
<NOSCRIPT>
Această pagină conţine linii JavaScript.
</NOSCRIPT>
1.9.4 Definirea funcţiilor
Funcţiile sunt una din cele mai importante părţi în JavaScript. Ca în majoritatea limbajelor
de programare o funcţie are următoarele părţi:
• cuvântul cheie function urmat de
• numele funcţiei, de o
• lista de parametri separaţi de caracterul “;”, lista încadrată de paranteze rotunde şi de
38UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
• corpul funcţiei închis între acolade.
În general definirea funcţiilor se face în partea de antet a paginii, adică în tagul . În felul
acesta toate funcţiile sunt definite înainte de apariţia paginii. Există posibilitatea de a apela o funcţie
înainte de a fi încărcată în browser. (ce se întâmplă, de exemplu, dacă apelăm cu onLoad în tagul o
funcţie a cărei definiţie este undeva în ?).
Folosirea metodei write()
Metoda write a obiectului document scrie în pagina HTML. Metoda este o funcţie asociată
cu un obiect. Apelul unei metode se face astfel:
numeObiect.numeMetoda(argumente...)
Ca argument pentru metoda write se acceptă orice număr sau string. Se pot de asemenea
concatena mai multe stringuri cu caracterul “+”. Ex.:
document.write(“<HR align=’left’
width=”+barWidth+”%>”)
1.9.5 Funcţii de gestiune a evenimentelor
Evenimentele sunt acţiuni ale persoanei care foloseşte browserul. De exemplu mutarea
mouseului pe suprafaţa unui link, sau executarea unui click pe un buton etc. Folosirea unei astfel de
funcţii se face în felul următor:
<A href=”pagina.htm” onMouseOver=”document.bgColor=’
red’”>Text</A>
În momentul în care mouseul este pe “Text” culoarea fundalului se schimbă în roşu (dacă nu
era roşu iniţial). Vă prezint în continuare câteva din aceste funcţii:
onClick() - se activează dacă s-a făcut click pe element
onChange() - se activează dacă s-a modificat valoarea elementului (ex. la <INPUT
type=”text”>
onLoad() - se activează la încărcarea paginii (se foloseşte în <BODY>)
onMouseOut() - se activează dacă mouse-ul părăseşte suprafaţa unui element
onMouseOver() - se activează dacă mouse-ul intră pe suprafaţa unui element
onReset() - se activează dacă utilizatorul resetează un formular
onSubmit() - se activează dacă s-a utilizatorul trimite un formular
Mai sunt şi altele dar cred că acestea sunt cele mai importante acum.
Folosirea ghilimelelor
39UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Trebuie avută în vedere alternarea tipului de ghilimele pentru a nu crea erori la citirea
paginii; în interiorul unei expresii închise între ghilimele duble putem folosi doar ghilimele simple
& viceversa.
1.9.6 Culoare
Există trei modalităţi de a schimba culoarea elementelor:
• prin atributele HTML ale tag-ului <BODY>
• prin obiectul document al JavaScript
• prin metoda fontcolor(“culoare”) a obiectului string.
Exemple:
• <BODY text=”blue”>
• document.fgColor=”yellow”
• document.write(“text roşu”.fontcolor(“red”))
Se poate schimba culoarea oricărui atribut din cele enumerate mai jos, prin obiectul
document, astfel:
• culoare de fundal: document.bgColor=”culoare”
• culoare pentru text: document.fgColor=”culoare”
• culoare pentru legături: document.linkColor=”culoare”
• culoare pentru legături active: document.alinkColor=”culoare”
• culoare pentru legături vizitate: document.vlinkColor=”culoare”
1.9.7 JavaScript: trusa de instrumente
JavaScript este cel mai cunoscut şi, cel mai folosit limbaj pentru crearea de script-uri pe
web. Bineînţeles, că e vorba despre un limbaj obiectual şi, foarte important, multi-platforma (nu ştiu
cât de necesar era să amintesc această proprietate, poate că nici nu e vorba despre o proprietate
efectivă. Idea de bază este că acelaşi cod este sau ar trebui să fie interpretat la fel indiferent de
platforma pe care rulează browser-ul).
Una dintre cele mai întâlnite întrebări referitoare la Javascript este legată de “gradul de
rudenie” cu limbajul Java. Afinităţile dintre cele două limbaje se regăsesc la nivelul sintaxei, al
structurilor de control şi, într-o anumită măsură, la securitate (nu este permisă, spre exemplu, citirea
fişierelor de pe calculatorul-client). În rest, Java este un limbaj mult mai complex (ca urmare şi mai
greu de deprins, ca majoritatea limbajelor orientate-obiect). Diferenţe există inclusiv în legătură cu
rularea codului, însă prezentarea lor ar depăşi scopul acestui articol. Şi, sincer, nu e doar o metodă
de eschivare; chiar nu au relevanta. Poate vă voi convinge dacă menţionez că Netscape, care a
40UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
introdus pentru prima dată în versiunea 2 a browser-ului sau – Navigator, acest limbaj de scripting
l-a denumit iniţial LiveScript. Doar suportul ulterior din partea Sun (ştiută fiind încăpăţinarea - în
sensul bun al cuvântului - acestei companii a impune Java) a determinat rebotezarea.
Meritul principal al JavaScript este că pune la dispoziţia creatorilor de pagini web o metodă
excelentă de “a dinamiza” paginile create. Şi aceasta fără a apela la programarea pe partea de server
(server-side programming). Fără a înlocui acest gen de programare menţionat, script-urile pot
rezolva o serie de probleme (e drept, nu foarte complexe; cu toate aceste complexitatea e relativă,
depinzând de abilităţile programatorului) cum ar fi validarea unui câmp dintr-o formă sau afişarea
unui mesaj după un click pe un buton (în general, programarea evenimentelor). Iar avantajul
integrării complete în paginile HTML a căpătat o nouă dimensiune acum cu explozia interfeţelor
HTML (mai ales în producţia CD-ROM-urilor).
Aşadar, JavaScript pare să aibă cu adevărat sens, dacă raportăm mini-programale create la
paginile web. Ca documentaţii JavaScript se găsesc peste tot pe web şi vă pot ajuta să vă faceţi o
primă impresie despre acest limbaj. Totuşi, pentru prima noastră “întâlnire” (îmi place să o numesc
aşa) aş prefera să aduc în discuţie o serie de aspecte nu prea evidente (fără pretenţia de a le epuiza),
dar care ajută la înţelegerea script-urilor ce vor fi prezentate în viitor. Aceasta va da o favoare de
iniţiere acestui articol, dar vă va ajuta cu siguranţă în viitor.
Salut nu e SALUT
Într-adevăr, JavaScript este “case sensitive”, adică se face discriminarea între literele mari şi
cele mici întâlnite în numele identificatorilor (nume de variabile, funcţii, obiecte etc.). De aceea,
este foarte important să fiţi atenţi la acest aspect. Depănarea script-urilor poate fi o adevărată
corvoada dintr-o simplă înlocuire a literei 'A' cu 'a' în cazul unei funcţii cum ar fi 'Adăuga' (care nu
e nicidecum 'adăuga').
Un tip slab?!
JavaScript e un limbaj slab-tipizat în comparaţie cu Pascal, C++ sau Java. Astfel tipul unei
variabile (sau, “reţeta de stocare în memorie”) nu este determinat în momentul creării variabilei, iar
pe parcursul execuţiei programului se poate schimba în funcţie de context. Acest fapt poate fi un
avantaj, în sensul unei libertăţi în conceperea programului, dar şi un dezavantaj legat de
ambiguitatea ce poate să apară, codul fiind mai greu de înţeles. Totuşi, dacă la un moment dat,
doriţi să aflaţi tipul unei variabile aveţi la dispoziţie operatorul typeOf. Prin aplicarea lui se obţine
un string ce conţine tipul variabilei (inclusiv undefined sau object, pe lângă tipurile standard).
"Punctul" + 3 = "Punctul 3"
41UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Raportat la variabile, există aşa-numita facilitate de "type-casting" (riscând o traducere,
echivalentul ar fi “convertire automată a tipului”). În acest caz, în funcţie de context, tipul
variabilelor se modifică automat. În JavaScrpit câştigul este parţial. Astfel o variabilă numerică se
conversează automat la string (cum e cazul în titlul paragrafului), însă reciproc nu este valabilă. De
aceea, în multe script-uri veţi întâlni funcţia parseInt care converteşte, în măsura posibilului, unui
string în număr. Să mă explic (de ce în măsura posibilului): parseInt(x) va returna NaN (not a
number), dacă x='a20'; 20, dacă x='20'; 2, dacă x='2a0';
Chiar nimic?
Există o valoare specială în JavaScipt şi anume null. Adică, după cum îi spune şi numele,
nimic. Există diverse situaţii când o veţi întâlni cum ar fi folosirea de variabile nedefinite dar şi
unele rezultate de funcţii. Atrag atenţia că null nu este acelaşi lucru cu şirul vid (''), de pildă: De
aceea, uneori trebuie să testaţi cu grijă anumite rezultate etc.
Mai mult decât variabile
Trebuie spus că string-urile sunt în JavaScript obiecte. Aceasta are relevanţa, mai ales, în
cazul manipulării (cât trebuie folosită notaţia cu punct pentru aplicarea funcţiilor). Dacă doriţi să
convertiţi un string (strA) în litere mici veţi scrie: strA.toLowerCase().
Un altfel de dacă…
JavaScript permite folosirea expresiilor condiţionale (existente, de atfel, şi în alte limbaje de
programare), ce se pot dovedi foarte utile. Exemplu: isNS = (document.layers)? 1 : 0;
Dacă browserul recunoaşte această colecţie de obiecte (specifica Netscape Navigator) atunci
expresia se evaluează true şi variabila noastră va lua valoarea 1, altfel 0. Această este o metodă
extrem de simplă de a identifica un browser. Pentru Internet Explorer: isIE = (document.all) ? 1 : 0.
This
Cuvântul cheie this se poate dovedi extrem de util, căci întotdeauna se referă la obiectul
curent. Dacă sunteţi familiarizat cu programarea orientată pe obiecte, ştiţi despre ce este vorba.
Important e să puteţi folosi o expresie de genul self.proprietate pentru a accesa proprietatea
obiectului curent (mă rog, formularea suportă critici), fără a şti care obiect este efectiv.
Salvează-mă
Data fiind caracteristica multi-platoforma a JavaScript este important sa dispunem de funcţii
care să asigure compatibilitatea în diverse situaţii. Două asemenea funcţii complementare sunt
escape şi uescape. Şirul de caractere primit ca argumet este convert la codificarea standard ISO
42UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Latin-1 şi invers. Este necesară mai ales în cazul cookie-urilor (vom vorbi şi despre ele) pentru a
converti caractere depinzând de setul de caractere (dependent, la rândul său, de platformă).
Macrosubstituţie
Macrosubstituţia este facilitate puternică a unor limbaje de programare (din fericire, şi la
JavaScript). Poate ca în acest caz e vorba de o mini-implementare a unei asemenea facilitaţi (prin
funcţia eval), însă este foarte utilă. Astfel eval execută string-ul primit ca argument ca şi cum ar fi o
linie de cod JavaScript: eval('alert(strA)') va genera o fereastră (prompt window) care va afişa
valoarea string-ului strA. Utilitatea este dată şi de incompatibilităţile dintre browsere la nivelul
referirii obiectelor suportate. În acest caz eval() ne ajută la scrierea unui cod elegant.
Imuabila perisabilitate
Toate variabilele şi obiectele sunt distruse la reîncărcarea paginii web sau la încărcarea unei
pagini noi. Singura soluţie în acest caz (pentru crearea unei aplicaţii mai complexe) rămâne
folosirea frame-urilor şi, în speţa, a unui frame ce nu îşi reîncarcă conţinutul. Fără a avea pretenţia
unei introduceri în JavaScript, am dorit să atrag atenţia asupra câtorva aspecte. Totuşi, cred că se
vor dovedi utile, mai ales când vom trece la aplicaţii efective, care va ajuta, poate, mai mult să vă
familiarizaţi cu JavaScript.
Meritul principal al JavaScript este că pune la dispoziţia creatorilor de pagini web o metodă
excelentă de “a dinamiza” paginile create. Şi aceasta fără a apela la programarea pe partea de server
(server-side programming). Fără a înlocui acest gen de programare menţionat, script-urile pot
rezolva o serie de probleme (e drept, nu foarte complexe; cu toate aceste complexitatea e relativă,
depinzând de abilităţile programatorului) cum ar fi validarea unui câmp dintr-o formă sau afişarea
unui mesaj după un click pe un buton (în general, programarea evenimentelor). Iar avantajul
integrării complete în paginile HTML a căpătat o nouă dimensiune acum cu explozia interfeţelor
HTML (mai ales în producţia CD-ROM-urilor).
Aşadar, JavaScript pare să aibă cu adevărat sens, dacă raportăm mini-programale create la
paginile web. Ca documentaţii JavaScript se găsesc peste tot pe web şi vă pot ajuta să vă faceţi o
primă impresie despre acest limbaj. Totuşi, pentru prima noastră “întâlnire” (îmi place să o numesc
aşa) aş prefera să aduc în discuţie o serie de aspecte nu prea evidente (fără pretenţia de a le epuiza),
dar care ajută la înţelegerea script-urilor ce vor fi prezentate în viitor. Aceasta va da o favoare de
iniţiere acestui articol, dar vă va ajuta cu siguranţă în viitor.
43UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1.10 Posibilităţile limbajului PERL
(Practical Extraction and Report Language)
Acronimul PERL înseamnă (în traducere) “limbaj practic de extragere şi raportare”. A fost
realizat de Larry Wall, pentru a scrie programe în mediul UNIX. PERL reuneşte ce este mai bun din
majoritatea limbajelor şi compilatoarelor:
flexibilitatea şi puterea din C (multe din funcţiile acestui limbaj seamănă cu cele din
C),
programele pot fi rulate imediat după scriere (pentru că sunt interpretate, nu
compilate) nefiind nevoie de compilări, link-editari, etc.; acesta poate fi însă şi un dezavantaj,
puternice facilitaţi de scripting, asemănătoare cu shell script-urile din UNIX,
este portat pe variate platforme (dintre care cele *nix şi Win32 sunt cele mai
folosite),
limitările în mărimea variabilelor sunt cele impuse de memorie şi de caracteristicile
maşinii pe care rulează,
este gratuit.
PERL este mult folosit pentru scrierea scripturilor CGI folosite de severele web, majoritatea
counter-elor, guestbook-urilor, interfeţelor de web-mail, programelor de căutare în pagini sunt
scrise în PERL. Multe sarcini de programare pot fi îndeplinite mult mai uşor în PERL (validarea
datelor de intrare este mult mai simplă, se pot face cautări de date după criterii foarte complexe - de
aici numele structuri de control asemănătoare cu limbajul natural).
Numărul major al versiunii curente este 5, iar distribuţiile se pot lua de pe ftp, cum ar fi:
ftp.netlabs.com/pub/outgoing/perl5.0
ftp.cis.ufl.edu/pub/perl/src/5.0
ftp.cs.ruu.nl/pub/PERL/perl5.0/src
ftp.funet.fi/pub/languages/perl/ports/perl5.
Primul program PERL
Un program Perl constă într-un fişier text, care este prelucrat la rulare de interpretor
(avantajul este că programele pot fi modificate uşor, scurtând procesul scriere > verificare >
compilare > link-editare > obţinere cod binar > rulare; dezavantajul: trebuie sa fie rulate cu un
interpretor disponibil pe acea platforma).
Exemplu de sursă: #!/usr/perl $nume = ; print ($nume);
Prima linie din program este oarecum speciala. Componentele ei sunt:
45UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
caracterul # reprezintă marcajul de comentariu în PERL. Tot ce ii urmează este
ignorat în mod normal (aici nu se întâmpla aşa). Pot fi adăugate şi după cod, cam aşa:
$nume = ; #acesta este un comentariu
caracterul ! indica sistemului de operare tipul programului
/usr/perl este calea absoluta in sistem către interpretorul PERL. În funcţie de OS,
poate arata diferit (acest exemplu este pentru sisteme UNIX).
A doua linie citeşte de la intrarea standard (în cazul de faţă, consola) o linie de intrare (un şir
de caractere), care se încheie la primirea unui CR. În linia a treia se tipăreşte ceea ce s-a introdus.
Sintaxa liniilor este asemănătoare cu cea C, acestea fiind încheiate prin caracterul ';'. Nu
contează dacă lăsaţi spaţii între elementele instrucţiunii, sau între linii. Totuşi sunt recomandate
pentru a îmbunătăţi aspectul codului. În cazul vreunei greşeli, interpretorul avertizează printr-un
mesaj de eroare, de obicei suficient de inteligibil pentru a ne da seama de greşeala (bineînţeles,
pentru cine cunoaşte engleza, ceea ce în lumea calculatoarelor este - cred - mai mult decât
necesar...).
Pentru a rula programul, trebuie salvate cele trei linii într-un fişier text (preferabil cu
extensia .pl, fiind mai uşor de identificat). Dacă rulaţi pe un sistem de tip UNIX, trebuie să
modificaţi atributul de execuţie al fişierului (cu comanda 'chmod +x numefis.pl'), după care îl rulaţi
pur şi simplu. Dacă folosiţi UNIX, s-ar putea sa fie nevoie sa specificaţi calea curentă, folosind în
loc de 'numefis.pl' comanda './numefis.pl'. Sub platforma Windows, încercaţi sa faceţi drag & drop
cu fişierul sursa pe iconul executabilului PERL.
La momentul dat există site oficial al limbajului de programare PERL, unde fiecare doritor,
utilizatori este posibil să-şi includă ideile sale. Sintaxa liniilor este asemănătoare cu cea C, acestea
fiind încheiate prin caracterul ';'. Nu contează dacă lăsaţi spaţii între elementele instrucţiunii, sau
între linii. Totuşi sunt recomandate pentru a îmbunătăţi aspectul codului. În cazul vreunei greşeli,
interpretorul avertizează printr-un mesaj de eroare, de obicei suficient de inteligibil pentru a ne da
seama de greşeala (bineînţeles, pentru cine cunoaşte engleza, ceea ce în lumea calculatoarelor este -
cred - mai mult decât necesar...).
Multe sarcini de programare pot fi îndeplinite mult mai uşor în PERL (validarea datelor de
intrare este mult mai simplă, se pot face cautări de date după criterii foarte complexe - de aici
numele structuri de control asemănătoare cu limbajul natural). Pentru a rula programul, trebuie
salvate cele trei linii într-un fişier text (preferabil cu extensia .pl, fiind mai uşor de identificat). Dacă
rulaţi pe un sistem de tip UNIX, trebuie să modificaţi atributul de execuţie al fişierului (cu comanda
'chmod +x numefis.pl'), după care îl rulaţi pur şi simplu.
46UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
1.11 PHP/FI - Personal HomePage/Form Interpreter
PHP/FI iniţial a fost gândit a fi o simplă aplicaţie CGI pentru interpretarea formularelor
definite prin HTML şi procesate de un program scris într-un limbaj (C, Perl, script shell) executat
pe server. În cazul interfeţei CGI aveam nevoie de permisiunea de a rula programe pe server, ceea
ce ducea la lacune în securitate şi în plus la disocierea programului de procesare a datelor de
documentul HTML.
Astfel, PHP/FI este un pachet suficient de puternic care oferă un limbaj de programare
accesibil din cadrul fişierelor HTML, limbaj asemănător cu Perl sau C, plus suport pentru
manipularea bazelor de date într-un dialect SQL (mSQL sau Postgres95). Acest pachet este
disponibil gratuit pe Internet, pentru medii UNIX (inclusiv sursele).
Limbajul PHP se introduce în cadrul documentului HTML printr-un tag special <?
statement> unde statement este o instrucţiune a limbajului cum ar fi echo, if, break,
while etc. Variabilele se declară 'din zbor', tipul lor putând fi integer, double sau string,
iar numele de variabile trebuie precedat de $. Sunt permişi operatorii obişnuiţi şi se pot defini şi
funcţii utilizator (prin construcţia Function).
Un exemplu
Presupunem ca definim următorul formular:
<form action="/cgi-bin/php.cgi/~user/display.html" method=post>
<input type="text" name="nume">
<input type="text" name="virsta">
<input type="submit">
</form>
Se cere utilizatorului un nume şi vârsta sa care vor fi procesate de programul PHP/FI
conţinut în fişierul display.html. Acesta ar putea conţine:
<?
if ($virsta>50);
echo "<p>Salut $nume, eşti vârstic...</p>";
elseif ($virsta>30);
echo "<p>Salut $nume, eşti matur...</p>";
else;
echo "<p>Salut $nume, eşti tânăr...</p>";
endif;
>
47UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
După cum se observă, PHP/FI oferă un limbaj script puternic şi simplu, accesul la câmpurile
formularului realizându-se prin intermediul unor variabile create automat.
Alături de suportul pentru încărcarea fişierelor de pe calculatorul client: upload (standard
propus de E. Nebel şi L. Masinter de la Xerox, descris în RFC 1867) şi de suportul pentru cookies
(mecanism de stocare a datelor în navigatorul client pentru identificarea utilizatorilor, propus de
Netscape), PHP/FI oferă integrarea bazelor de date prin sistemul de gestiune mini-SQL (mSQL)
scris de David Hughes, sistemul Postgres95 al Universităţii Berkeley şi sistemul Solid care suportă
standarde ca Ansi SQL2, ODBC, SAG CLI si X/Open SQL.
Există de asemeni o multitudine de funcţii predefinite:
matematice
de conversie
de manipulare a şirurilor de caractere
de acces la resursele sistemului de operare şi de lucru cu fişiere
de manipulare a bazelor de date
privitoare la conexiunile Internet
generale
Un exemplu de interogare SQL efectuat în PHP/FI şi afişat în cadrul unei pagini Web:
<?
$name="Sabin";
$result=msql($database,
"select * from table where firstname='$name'");
$num=msql_numrows($result);
<!-- numărul de înregistrări găsite -->
echo "<p>Au fost găsite $num înregistrări:<p>");
$i=0;
while ($i<$num)
echo msql_result($result,$i,"fullname");
echo "<br>";
echo "<b>"; <!-- adresa se va scrie îngroşat -->
echo msql_result($result,$i,"address");
echo "</b>";
echo "<p>";
$i++;
endwhile; >
48UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
PHP3 – limbaj arhitectură
PHP este un limbaj de “scripting” utilizat în fişierele HTML. Scriptul PHP este rulat la nivel
de SERVER.
Sintaxa PHP este o combinaţie intre limbajele C, Java si Perl. Scopul limbajului este de a
permite programatorilor WEB sa scrie rapid pagini ce se generează dinamic.
Prin intermediul PHP3 se pot accesa Microsoft SQL Server si baze de date Microsoft Access
cu ajutorul ODBC.
Ce poate face PHP3?
Una dintre cele mai importante caracteristici este “database integration layer”. Scrierea
paginilor WEB cu acces la baze de date este foarte uşor datorita PHP3.
Următoarele SGBD-uri pot fi utilizate împreuna cu PHP3: Oracle, Adabas D, Sybase,
FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, PostgreSQL.
Scurtă istorie a PHP
PHP a fost conceput în toamna lui 1994 de către Rasmus Lerdorf pentru a ţine evidenţa celor
care i-au citit pagina de web. Prima versiune s-a numit “Personal Home Page Tools”. Versiunea
ulterioară s-a numit PHP/FI Version 2. Combinând scripturile Personal Home Page Tools cu “Form
Interpreter” şi adăugând suport pentru mSQL a obţinut PHP/FI.
Statistic, în 1996 PHP/FI era utilizat în 15.000 site-uri de web, iar în 1997 în 50.000. În
1998 PHP este utilizat în peste 150.000 site-uri.
Noţiuni de baza în PHP
Cu ajutorul PHP se pot crea pagini de WEB dinamice, care sunt generate în momentul in
care programul utilizator (de exemplu: Netscape) a formulat cererea către serverul de WEB.
Serverul de WEB trebuie sa aibă activat suportul pentru PHP. Toate fişierele care au
extensia .php3 trebuie sa fie rulate de către motorul PHP.
Fişierele se creează in aceeaşi maniera ca si fişierele HTML.
Exemplu de pagina cu tag-uri PHP:
<html><head><title>PHP Test</title></head>
<body>
<?php echo "Hello World<P>"; ?>
</body></html>
49UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Tag-ul PHP
Fiecare tag PHP începe cu <? php , se continua cu propoziţia PHP şi se închide în partea
dreaptă cu ?> . Într-un fişier HTML pot exista un număr nelimitat de tag-uri PHP.
Identificarea tipului de browser
Putem vedea tipul de browser pe care utilizatorul îl foloseşte pentru a vizualiza pagina
datorita informaţiilor pe care browserul le trimite împreuna cu cererea pe care o face către serverul
de web. Limbajul PHP se introduce în cadrul documentului HTML printr-un tag special <?
statement> unde statement este o instrucţiune a limbajului cum ar fi echo, if, break,
while etc. Variabilele se declară 'din zbor', tipul lor putând fi integer, double sau string,
iar numele de variabile trebuie precedat de $. Sunt permişi operatorii obişnuiţi şi se pot defini şi
funcţii utilizator (prin construcţia Function).
50UTM.2152.01.259.ME
WOW
CGIprograme şi
scripturi:
- WOWSTUB- WOW
Pachetele PL/SQL:
– HTP– HTF
Fig. 1.3 PHP, o simplă aplicaţie CGI
Coala
Mod Coala N Document Semnat. Data
1.12 CGI - Common Gateway Interface
Standard pentru interacţiunea clienţilor Web cu serverele de Web, Common Gateway
Interface se află în prezent la versiunea 1.1. Un program CGI, numit script, se execută pe serverul
WWW, fie în mod explicit (apelat din cadrul paginii printr-o directivă), fie la preluarea
informaţiilor aflate în cadrul câmpurilor unui formular (form) sau coordonatele unei zone senzitive
(image map). Acest standard conferă interactivitate paginilor Web, documentele HTML putând
astfel sa-şi schimbe conţinutul şi să permită prelucrări de date.
Script-ul poate fi scris în orice limbaj, fiind interpretat (cazul Perl, Tcl, script shell UNIX)
sau compilat (C, C++, Delphi). Regulile care trebuie respectate la conceperea unui program CGI
sunt:
programul scrie datele la ieşirea standard (stdin)
programul generează antete ce permit serverului Web să interpreteze corect ieşirea
scriptului
Cele mai multe script-uri CGI sunt concepute pentru a procesa datele introduse în formulare.
Un formular se defineşte în HTML pentru afişarea conţinutului şi introducerea datelor de către
client (prin tag-urile <form> şi <input>), iar script-ul CGI, executat de server, va prelua
conţinutul acelui formular.
Antetul trimis serverului de către programul CGI va respecta specificaţiile MIME conţinând
de exemplu Content-type: text/html (document HTML) sau Content-type:
image/jpeg (imagine JPEG) ori Content-type: text/plain (text obişnuit).
Programului CGI i se vor transmite în diverse variabile de mediu sau în linia de comandă
informaţii referitoare la datele de procesat sau la clientul care a iniţiat cererea (de exemplu,
SERVER_PORT, REQUEST_METHOD, SCRIPT_NAME, QUERY_STRING, REMOTE_HOST etc.).
Specificarea CGI
CGI determină 4 fluxuri de informaţie.
1. Variabilele anturajului
2. Fluxul standard de intrare
3. Fluxul standard de ieşire
4. Linia de comandă
51UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Exemple:
Generează o pagină Web conţinând mesajul 'Salut!'.
/*
salut-cgi.c
Generează o pagina Web conţinând mesajul 'Salut!'
*/
#include <stdio.h>
void main()
{
printf(“Content-type: text/html\n\n”);
printf(“<html>”); /* început document HTML */
printf(“<head><title>Salut!</title></head>\n”);
/* antet pagina */
printf(“<body>\n”);/* corp pagina */
printf(“<p>Salut!</p>\n”);
printf(“</body></html>”);
}
52UTM.2152.01.259.ME
Argumentele liniei de comandă
Variabilele anturajului
ModululCGI
ServerulHTTPD
Clientul
fluxul de intrare
fluxul de ieşire
Cre
area
HT
TP
Flu
xul d
e ie
şire
Fig.1.4 Interfaţa CGI
Coala
Mod Coala N Document Semnat. Data
Un alt exemplu, de script bash folosit pentru înregistrarea într-o bază de date a
participanţilor la colocviul studenţesc de informatică InfoJunior:
#!/bin/bash
echo “Content-type: text/html”
echo
echo “<HEAD>”
echo “<TITLE>Multumiri</title>”
echo “</head>”
echo “<BODY>”
echo “<H1>Multumiri</h1>”
eval `/home/httpd/cgi-bin/cgiparse -form`
echo “Va multumim, $FORM_name, pentru dorinta de a participa \
la colocviul INFO JUNIOR”
echo “<P>”
printf “%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n!” “$FORM_name” \
“$FORM_univ" "$FORM_depart” \
“$FORM_paper1” “$FORM_words1” “$FORM_coord1” \
“$FORM_paper2” “$FORM_words2” “$FORM_coord2” \
“$FORM_paper3” “$FORM_words3” “$FORM_coord3” \
“$FORM_conadress” “$FORM_email” “$FORM_tel” “$FORM_fax” \
>> /home/httpd/infojr/database
echo '<A HREF=” http://www.infoiasi.ro/~petrea/infojr.html “> \
INFO JUNIOR' 97 - Invitaţie la colocviu</A>'
echo “</body>”
53UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
2 ANALIZA CALITATIVĂ A TEHNOLOGIILOR
DE CREARE A PAGINILOR WEB
2.1 XML şi HTML: care limbaj este mai greu
La convorbire [4] s-a pus întrebarea de compararea standardelor complicate HTML şi XML.
Se afirmă că limbajul XML este mai primitiv decât HTML. Dacă de comparat volumul descrierii
acestor limbaje (documentaţia standardelor XML şi HTML), atunci specificaţiile XML ocupă de
mai multe ori mai puţin loc. Trebuie de cheltuit mai puţină forţă şi timp pentru ca să înţelegi şi să ţii
minte. În acest sens XML este mai simplu decât HTML.
Cu toate acestea XML nicidecum nu este mai primitiv decât HTML. Dacă de comparat posibilităţile funcţionale acestor limbaje, atunci trebuie în primul rând de luat în vedere, măcar că ei au rădăcini comune – standardul internaţional vestit limbajului marcat de
comunicare a documentelor SGML [27], dar de asemenea se referă la diferite niveluri de abstracţie.
Limbajul XML – este un metalimbaj care se află, cum se ştie, submulţimea standardului SGML. Cum şi SGML, el este predestinat pentru urmarea limbajelor marcate concrete de
varietate pe cale de determinare a seturilor concrete de tag-uri (în XML – tipurile elementelor documentului). Aceste determinări cu ajutorul XML, limbajele sunt, în aşa fel, concretizările
lui.Cât priveşte limbajul HTML, acesta este un limbaj concret (nu este lărgit). Funcţionarea tăg-
urilor însemnate sunt fixate în el, în dependenţă de XML. HTML s-a creat ca o simplă concretizare
a SGML-ui, prezentând prin sine un puternic metalimbaj. HTML poate fi tot aşa determinat de
mijloacele XML (să ne aducem aminte standardul XHTML), şi din acest caz el prezintă prin sine tot
aşa unul din concretizarea XML.
XML fiind abstract este deschis pentru lărgire (ce este oglindit în denumirea lui), şi din
această cauză el este mai conservat în comparare cu HTML, unde adăugarea posibilităţii
funcţionării cere trecerea procedurii de primire a unei versiuni noi de standard. Versiunile
broswerelor XML vor apărea mult mai rar, cum pentru HTML, care tot mai prelungeşte a se
dezvolta.
2.2 XML prin prisma de programare
Aplicarea programării pentru Web a început de la prelucrarea cererilor utilizatorului şi
generaţia dinamică a paginilor din partea serverului. Această tendinţă a primit dezvoltarea şi în
limbajele de programare înserate în HTML – documente. Apoi a apărut limbajele de programare
elementelor HTML – documente din partea clientului. Acestea şi altele sunt legate de modelul de
date HTML. Astăzi, când Web-ul migrează spre specificarea structurii XML, creatorii mijloacelor
de programare trebuie să ia asta în vedere şi să reacţioneze corect, dând, de exemplu, manipulând cu
54UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
elementele XML - marcare. Standardul, chemat a marca şi să rezolve această problemă, a primit
denumirea de Document Object Model - DOM.
Cum se ştie, totul sa început de la SGML [1], apoi a dat naştere HTML [2], iar când
posibilităţile ultimului a fost epuizate sa întâmplat reîntoarcerea parţială la SGML. Ca rezultat a
apărut un limbaj nou - XML (eXtensible Markup Language) sau mai precis, stiva specificaţiilor
limbajelor de marcare cu diferite roluri, care se bazează pe regulile sintactice generale [4].
Paralel cu procesul dezvoltării descrierea statică formală cuprinsul documentului se dezvoltă
şi schimbările lui capabile. De la început ele erau pentru JavaScript, pe urmă limbajul de
programare Java a dat voie de amplasat în document şi de schimbat orice tip de informaţie. Apariţia
VBScript şi JScript înseamnă că Microsoft se îndreaptă în aceeaşi direcţie. Treptat tehnologia Java a
decăzut la nivelul mijloacelor de prelucrare aplicaţiei Web, dar formatul de scenariu s-a îndreptat
spre concepţia DHTML (Dynamic HTML). Şi XML şi DHTML, şi Java la sfârşit s-a oprit la
modelul de date Web, multe din paginile Web, care din punct de vedere a utilizatorilor limbajelor
de căutare XML, prezintă un curent neîntrerupt de diferite elemente [5]. Un document (pagină) –
aceste sunt submulţimea documentelor (pagini) Web. Modelul de elemente Web determină în formă
de graf – “pădure” din copaci.
DOM – aceasta este interfaţa programării aplicative în limitele modelului de elemente Web,
cu alte cuvinte, un set de standarde de metode a obiectelor Web. Dacă trebuie de afişat textul în
corpul documentului, aceasta se poate de făcut în fiecare limbaj de programare pe care îl susţine
DOM:
document.write (<kuku>);
Aici este pus în funcţiune metoda standard write a documentului obiect. În aşa fel, calea de
dezvoltare a tehnologiei Web traversează de la trasarea HTML static prin limbaje de criptare, Java
şi DHTML la specificaţia XML şi DOM. O să ne oprim la aceste etape mai amănunţit.
2.3 Preveziuni pentru viitor
Limbajul XML oferă o metodă de comunicare inter-umană, nu de interschimb de date între
maşini, realizând relaţii între creatori şi beneficiarii documentelor acestora. XML moşteneşte
neutralitatea platformei, limbajului şi libertatea formatelor de date prezente în SGML. Toate aceste
remarci ne dau certitudinea că XML oferă utilizatorilor un standard deschis de marcare a
informaţiilor, fără limite în ceea ce priveşte tehnicile de adnotare (extensibilitate asigurată), uşor de
folosit (putând conferi suport pentru baze de cunoştinţe), facil de implementat.
55UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Viitorul XML nu va avea implicaţii doar asupra informaticienilor, ci asupra lumii
economice şi politice. Combinaţia XML cu XSL poate înlocui toate formatele de procesare de texte
şi publicare existente în prezent:
un format unic pentru publicarea pe Web şi tipărituri
un format comun pentru stocarea datelor în cadrul diverselor produse software
un format unic pentru toate limbile
Succesul XML poate fi întrevăzut atât în lumea Web, permiţând crearea de aplicaţii
multimedia extensibile, cât şi în procesarea informaţiilor în general.
Origini şi deziderate
XML a fost dezvoltat de către un grup de lucru XML (XML Working Grup - cunoscut la
început ca şi SGML Editorial Review Board) format sub auspicile Consorţiului World Wide Web
(W3C) în anul 1996. El a fost condus de către Jon Bosak de la Sun Microsystems cu participarea
activă a unui grup de interes special XML (XML Special Interest Group - cunoscut în trecut ca şi
SGML Working Group), organizat tot de către W3C. Membrii XML Working Group sunt daţi într-
o anexă. Dan Connolly a ţinut contactul între WG şi W3C.
Scopurile proiectate pentru XML sunt:
- XML trebuie să fie simplu de utilizat pe Internet.
- XML trebuie să suporte o mare verietate de aplicaţii.
- XML trebuie să fie compatibil cu SGML.
- Trebuie să fie uşor să fie scrise programe ce vor procesa documente XML.
- Numărul facilităţilor opţionale din XML sunt reduse la minimum, ideal, la zero.
- Documentele XML trebuie să fie citibile de către utilizatori şi clare într-un mod
rezonabile.
- Designul XML ar trebui să fie pregătită rapid.
- Designul XML trebuie să fie formal şi concis.
- Documentele XML trebuie să fie uşor de creat.
- Caracterul lapidar din marcajele XML să fie de o importanţă minimă.
56UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
2.4 Dezvoltarea tehnologiilor documentelor create
HTML presupune, că documentul e alcătuit din trasarea elementelor standarde, care se
reflectă într-un mod absolut.
Un set de elemente HTML – acestea sunt tipizarea componentelor unui document obişnuit:
- titluri,
- lista diferitor tipuri,
- paragrafe,
- tabele,
- citare ş.a.
De altfel toate elementele sunt împărţite în două tipuri: rânduri şi blocuri.
La primul tip se poate aduce paragraful, lista, tabele. La elementele de rânduri – inserarea cu
cursive sau saturaţie, a adreselor hipertextului textului. Tot aceasta este determinat în Document
Type Definition (DTD) specificaţiei HTML, care formal este scris la SGML. Trebuie de menţionat,
că crearea nodurilor Web s-a transformat astăzi într-un tip diferit de lucru profesional. Prin asta
nodul s-a făcut o producţie unică, costul căruia nu trebuie să depăşească limitile propuse (magazin
virtual, slujbă informaţională, ş.a.m.d.).
Prima cu ce sau împedicat autorii şi proiectanţii nodurilor Web – această repetare obligatorie
a fragmentelor de coduri la fiecare pagină, de exemplu logotipul companiei sau meniul principal a
nodurilor Web. Pentru rezolvarea acestei probleme se întrebuinţează metoda de substituire,
împrumutat de la macrodeterminarea programării. Aşa a apărut Server Site Includes (SSI).
Introducerea fişierului exterior în pagina HTML - aceasta este cel mai simplu lucru de atribuire a
SSI:
<html>
<head>
<body>
. . .
<! - # include virtual = <file.htm> ->
. . .
<! - # include file = <file.htm> ->
. . .
</body>
</html>
Dar cel mai principal rol în dezvoltarea tehnologiilor de programare a documentelor
componente a jucat mecanismul LiveWare, prima dată realizat în anul 1995 în serverele companiei
57UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Netscape Communications. Mulţumit SSI documentul este component de partea serverului. Dar
tehnologiile Web are arhitectura de client-server. Pentru majoritatea prelucrătorilor de programare
Web în limita specificării LiveWare este legat cu JavaScript. Acest limbaj simplu de programare
orientat pe obiecte de partea broswerului a permis "învierea" paginii Web.
Interesant, că aproximativ toate cărţile pe JavaScript începe cu descrierea elementelor
SCRIPT. Pricina e întraceea, că JavaScript presupune patru metode de plasarea codului de
programare în pagina HTML şi transmiterea conducerii interpretorului pentru executarea acestui
cod. Marcarea elementului SCRIPT este numai unul dintre ei. Interpretarea codului a elementului
SCRIPT se întâmplă numai la începutul încărcării paginii. Comanda trece la interpretator în timpul,
când programa HTML analizând sintactic "se împedică" de marcarea elementului SCRIPT. Codul
se îndeplineşte şi rezultatul lucrului se pune în document.
Acum ne oprim la tehnologia, care a stat, dintr-o parte cu dezvoltarea marcată a HTML, iar
din altă parte – următorul pas spre XML. Merge vorba despre tabela cascadă de stil, Cascading
Style Sheets (CSS) făcut de Microsoft. Idea de bază a CSS constă în aceea ca să separe - structura
logică a documentului de formă de prezentare.
De la apariţia CSS în HTML a fost posibilă utilizarea a două elemente generalizate de
marcare: DIV (bloc generalizator) şi SPAN (element generalizator de marcare). După aceasta se
poate de alcătuit schema logică a documentelor, apoi de determinat formatul ei de reprezentare.
Această metodă a schimbat radical tehnologia de proiectare a paginilor Web-nodului. Acum de la
început se determină tipul paginii apoi structura logică a paginii pentru fiecare tip şi în ultimul rând
pentru fiecare element logic se determină conţinutul şi aspectul exterior.
Posibilitatea indicării stilului în fişierul exterior permite de aplicat o definire a stilurilor
pentru întregul nod, şi de schimbat aspectul exterior, redactând numai fişierul dat. Următorul pas în
această direcţie este predifinirea dinamică a stilului de partea clientului în dependenţă de condiţiile
de reprezentare a documentului şi de acţiunile utilizatorului. Pentru programarea acestor schimbări
se foloseşte limbajul de tip JavaScript. Până acum am vorbit despre dezvoltarea tehnologiilor bazate
pe HTML – elementele de marcare şi metodele de amplasare a lor pe pagină. Dar mai este încă un
aspect al tehnologiei Web – limbajul de programare Java.
La început în Java nu era presupusă manipularea cu obiectele paginii HTML, însă real Java
a fost intercalată în document în subaspect de element de marcare aplet. Ca limbaj de programare
universal a interfeţelor, în special grafice, Java menţinea tipuri de date şi obiecte mai abstracte,
decât se cerea la programarea paginilor Web, în prezent situaţia s-a schimbat în Java sunt scrise
broswere şi servere. Prin urmare în Java se poate de scris SSI şi de schimbat conţinutul
documentului în partea broswerului. Însă posibilităţile limbajului Java astăzi se folosesc în primul
58UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
rând pentru păşirea particularităţilor negative a schimbului HTTP şi extragerea graficii se schimbă
dinamic. De menţionat faptul că protocolul HTTP versiunea 1.1 [6] permite de componat
documentul din mai multe părţi ce pot fi amplasate pe servere diferite. Aceasta nu este instalarea
unei noi legări pentru scoaterea imaginilor în timpul desfacerii documentului HTML, dar lista
titlurilor HTTP, în care se arată URL. În aşa fel, HTTP este modificat pentru menţinerea
documentelor compuse.
2.5 Structura logică a documentului
DTD HTML determină regula construirii documentului HTML, elementele sintactice
marcate şi posibila aranjare reciprocă. Dacă privim un document ca la multe alte obiecte, care se
asociază cu elementele marcate, atunci DTD va da clasele ierarhice acestor obiecte. Structura logică
a documentului determină relaţia obiectelor dintre ei. Există, în orice caz, două modele de obiecte a
documentului: modelul JavaScript şi DOM.
Primul model se sprijină, cu unele rezerve, practic cu toate cele mai populare broswere. Al
doilea model pretinde numai la un rol standard şi trebuie în viitor să se sprijine de toate broswerele.
Relaţiile a diferitor obiecte între dânsele ajung, la lucru principal, la relaţiile tipului “partea-
întreagă”, iar structura documentului se prezintă de la sine ca un arbore. În rolul bazei se prezintă
arborele elementelor de bloc marcate a documentului. Pe urmă, pe această bază se suprapune
elemente minuscule şi stiluri. În afară de aceasta la un document există ramuri a arborelui a claselor
de obiecte a documentului, determinând în DTD. Trebuie de marcat, că structura logică este mai
aproape de modelul de date Internet Explore, decât JavaScript.
2.6 Rezultate intermediare
Modelul de obiecte a documentului trebuie să servească ca nod de unire dintre programare şi
structura logică a documentului, cu forma lui de prezentare a exponentului. Structura logică şi
forma de prezentare de descrie în limbajul XML. Programarea Web – aceste limbaje sunt Java,
JavaScript, JScript. Standardul DOM permite formal de descris regulile manipulării structurii
documentelor XML şi cuprinsul lor în limitele programării orientate pe obiecte, care realizează
limbajele enumerate.
Cu mare măsură efortul proiectanţilor DOM reaminteşte încercările creării diferitor versiuni
a specificaţiei HTML (versiunea 2.0 şi 3.2). Prima versiune a limbajului şi ultima a patra versiune
mai degrabă seamănă cu nişte declaraţii despre intenţii, prin ce sunt gata pentru întrebuinţarea
specificaţiei.
59UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
2.7 Compatibilitatea tehnologiilor noi
În ultimii cinci ani Internetul a progresat virtiginos, ţinând pasul pachetele de programare
deja existente la cerinţele actuale.
În versiunile noi a pachetelor de prelucrare a graficii, limbaje de programare, baze de date
sunt implementate filtre de import, export a datelor în coduri HTML. Ca ulterior aceste date
exportate să poată fi integrate în pagini Web, pentru a fi prezentate în WWW. La fel şi datele care
deja sunt prezentate în WWW să poată fi importate în aceste programe.
Unul din obiectivele producătorilor de soft este de a elabora şi propune paralel cu softul
specializat într-o oarecare direcţie şi un program de elaborare a paginilor Web neavând nici
pregătiri profesionale pentru prelucrarea paginilor Web.
2.8 Instrumente pentru facilitarea elaborării paginilor Web
Elaborând o pagină Web se poate uşura lucrul de a introduce coduri HTML. În ultimul timp
au apărut multe programe noi pentru elaborarea paginilor Web care utilizează exportarea şi
importarea codurilor HTML. Unele din aceste programe sunt redactoare ca: Microsoft FrontPage,
Macromedia Dreamweaver, ş.a. Pentru realizarea animaţiei sunt şi apar diferite programe mici şi
uşor de întrebuinţat de exemplu: GifAnimator (grafica în pixeli), Corel Rave 1.0 (grafică
vectorială), Flash ş.a, iar pentru realizarea graficii este utilizat CorelDRAW, Photoshop, ş.a.
Pentru elaborarea paginilor Web sunt utilizate redactoarele FrontPage, Dreamweaver, ele
uşurează foarte mult lucrul de elaborare, se poate utilizat pentru grafică CorelDRAW, pentru
animaţie Flash, această elaborare se poate de reprezenat prin figura următoare.
60UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Fig. 2.1 Elaborarea pagini Web
61UTM.2152.01.259.ME
Corpul paginii
Animaţie
Grafica
Limbajul HTML
Microsoft FrontPage
Macromedia Dreamweaver
GifAnimator
Macromedia Flesh
CorelDRAW
Pagina
WEB
Photoshop
Coala
Mod Coala N Document Semnat. Data
3 PROTECŢIA MUNCII
Munca prezintă o activitate a omului, care este orientată pentru a satisface cerinţele
materiale şi spirituale ale societăţii. În procesul de muncă, omul interacţionează cu mijloacele de
producţie, cu mediul de producţie şi obiectele muncii. Prin urmare, el este supus acţiunilor a unui
număr mare de factori de diferită natură, care se manifestă sub diferite forme şi acţionează în diferit
mod, iar ca drept urmare se înrăutăţeşte starea sănătăţii omului şi scade capacitatea de muncă.
Problemele dragostei de computer încă nu sunt simţite în societate şi, în consecinţă, nu li se
acordă atenţia cuvenită. Evident că achiziţia unui produs PC este apreciată după performanţele lui
conform nivelului standardelor mondiale. Noi ne aruncăm la ce e mai ieftin. Şi astfel de produse în
ultimul timp au început sa pătrundă mai intens pe pieţele noastre, deci hârburi, care aduc, daună
sănătăţii utilizatorului. Deci: “nu suntem atât de bogaţi ca să achiziţionăm nişte hârburi ieftine care
să ne distrugă sănătatea”.
Monitoare perfecte deocamdată nu sunt, deci pericol există. Utilizatorii nevoiţi să
colaboreze perioade îndelungate de timp cu calculatorul, manifestă, interes faţă de chestiunea
radiaţiei de ecran. În ce măsură este ea dăunătoare, cum să-i diminuăm pericolul, dacă acesta într-
adevăr există? În ultimul timp tot mai insistente sunt afirmaţiile că radiaţia emisă de calculator
ameninţă în modul cel mai grav sănătatea omului, cauzând nu numai apariţia unor reacţii alergice şi
dereglări vizuale, ci şi a unor maladii oncologice, anomalii congenitale, avorturi spontane la femeile
însărcinate. Totuşi până în prezent aceste afirmaţii alarmante n-au fost susţinute de cercetări
ştiinţifice serioase. Cercetările întreprinse de către specialiştii din Denver (1979) nu exclud
posibilitatea apariţiei cancerului infantil sub acţiunea câmpurilor electromagnetice alternative. În
urma unor experimente ştiinţifice asupra animalelor s-a reuşit depistarea unor simptoame, cum ar fi
dereglarea concentraţiei de calciu. Dându-şi seama de pericolul potenţial, căruia i se supun benevol,
utilizatorii înclină spre achiziţionarea unor monitoare cu nivel scăzut de radiaţie. Se ştie că la aceste
modele tubul catodic are un înveliş antistatic special. În acest caz ecranul încetează cel puţin să
acumuleze praful.
Mai greu e să te debarasezi definitiv de radiaţie. Problema ar putea fi rezolvată cu ajutorul
unor ecrane protectoare, ca cele folosite la aparatele medicale supersensibile. Libere de radiaţie pot
fi doar monitoarele cu cristale lichide de calitate respectivă. În prezent se produc asemenea
monitoare cu diagonala de 15 ţoli şi rezoluţia 800x600 (SVGA), precum şi monitoare monocrome
(cu plasmă) cu diagonala de 21 ţoli şi rezoluţia 1280x1024 elemente grafice. După toate
probabilităţile, lideri in domeniu sunt IBM cu modelele Energy Desktop(PS/3). Monitoarele nu sunt
atât de sensibile la capriciile modei tehnice, ca alte componente ale calculatorului.
62UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
3.1 Analiza şi aprecierea condiţiilor de muncă
3.1.1 Tipurile radiaţiei de ecran
Spectrul electromagnetic principal poate fi divizat în două sectoare: radiaţii ionizate (razele
Roentgen şi radiaţiile rezultate în urma dezintegrării radioactive) şi radiaţii neionizate. Ultima
categorie include lumina vizibilă, câmpurile electrice şi magnetice. Razele Roentgen apar în cazul
tuburilor catodice in acel loc, unde raza electronică se ciocneşte de învelişul fluorescent al
cinescopului. Din cauza tensiunii de accelerare relativ joase şi a balonului de sticlă – blindaj, practic
este imposibil să se măsoare această radiaţie dură. Valorile existente sunt de circa 170 ori mai mici
decât cele admisibile. Mult mai multe controverse se înregistrează în jurul câmpurilor electrostatice,
magnetice de frecvenţă joasă şi electrice – aşa numita radiaţie elastică.
3.1.2 Standardul ISO 9241
La una din întrunirile europene ISO 9241 (sub denumirea EN 29241) este adoptat de către
ţările – membre ale Consiliului Europei în calitate de norma europeană. Într-una din directivele ISO
sunt enumerate consecinţele negative ale lucrului la computer. Lista unor asemenea consecinţe este
de-a dreptul impunătoare: afecţiuni ale ochilor, alergii dermatologice, complicaţii în perioada
sarcinii, maladii ortopedice drept consecinţă a suprasolicitărilor, fenomene de stres.
Specialiştii în domeniul normării resurselor programate abordează chestiuni cum ar fi
moda1ităţile de alcătuire a conversaţiei cu utilizatorul, organizarea meniului, precum şi a sistemelor
de ajutorare a utilizatorilor (tabele, repertorii etc.). Se consideră mult mai importantă activitatea ISO
în domeniul normării resurselor tehnice.
Colective speciale de profesionişti sunt preocupate de tastatură, monitor (inclusiv de radiaţia
de ecran), design-ul biroului şi chiar al scaunului, iluminarea şi umiditatea aerului la locul de
muncă. Se iau în consideraţie până şi îmbinările de culori din sistemul de meniu. Ce-i drept, nu
toate sunt lege pentru producătorii ce se orientează spre ISO 9241: dacă cineva va dori să perfecteze
de o manieră proprie conversaţia cu utilizatorul, liber o va putea face. Un exemplu concludent în
acest sens sunt concepţiile diferite de organizare a interfeţei utilizatorului în OS/2 şi Windows, deşi
pretindeau la aprobarea ISO şi IBM, şi Microsoft.
La monitoare se referă nemijlocit deja aprobată partea a treia ISO 9241, care pentru
determinarea ecranului cu grad scăzut de radiaţie prevede recomandările MPR II. În plus in acest
substandard la fel de detaliat se enumără valorile-limită pentru intensitatea fotoreftecţiei,
modalităţile de prezentare a caracterelor de text sau posibilităţile de rotaţie si deplasare a
63UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
monitorului, dar un monitor care ar întruni toate aceste exigente încă nu a fost creat. De altfel, până
când acest amplu standard nu-şi va găsi reflectare în documentele respective, producătorii nu vor
avea stimulentul necesar pentru elaborarea unor monitoare cel puţin aproape de perfecţiune. Trebuie
să spunem că asemenea prestigioşi producători cum sunt IBM, ICL şi SNI au declarat deja
susţinerea sa noului standard. Nu ne rămâne decât sa aşteptăm cum vor evolua evenimentele în
acest domeniu.
E cazul să conştientizăm că monitorul, fie chiar cu radiaţie insignifiantă, este doar o parte
din necesar. Tastatura străină normelor ergonomice, resursele programate organizate iraţional,
scaunul ieftin şi incomod, iluminarea incorectă - toate acestea pot reduce la zero cele mai bune
calităţi ale monitorului propriu-zis. Sunt lucruri ce nu trebuie neglijate de către cei preocupaţi de
propria sănătate.
Iradiere ionizată este radiaţia electro-magnetică cu o capacitate de ionizare a moleculelor.
Dacă se provoacă ionizarea moleculelor organismului uman, atunci legăturile între molecule se
distrug şi ca rezultat apar diferite maladii. Capacitatea de ionizare au următoarele particule: , , X,
- iradieri, fluxul de electroni, substanţele radioactive.
Pentru a micşora iradierea ionizată a monitoarelor moderne, pe suprafaţa lor se incorporează
o foaie metalică străvezie, care atenuează fluxul de iradiere. O altă cale de apărare împotriva
iradierii ionizate este procurarea unui ecran protector, care se instalează pe monitor şi are acelaşi
efect ca şi foaia metalică străvezie.
În general iradierea ionizată asupra omului poate provoca acţiunile:
locale - acţiuni de scurtă durată cu doze mari, care produc traume locale: îmbolnăvirea pieii,
pierderea pieii, pierderea unghiilor, defectarea oaselor, cancer;
totale - reprezintă iradieri îndelungate cu doze mici, aduce la îmbolnăvirea sângelui
(leucemie).
Câmpul electrostatic, care apare pe ecranul monitorului este rezultatul bombardării
permanente a monitorului cu fascicolul de electroni emis de catod. Astfel sarcina electrică, care se
acumulează pe suprafaţă monitorului, formează câmpul electrostatic. Fenomenul electrizării statice
este legat şi de starea aerului din mediu. În condiţiile normale aerul se caracterizează prin
proprietăţile de izolare înaltă, însă sub acţiunea razelor solare şi celor cosmice - iradierii
materialelor radioactive a scoarţei pământului şi a altor factori ionizatori, moleculele neutrale a
aerului se ionizează, formând ioni pozitivi şi negativi - purtători ai sarcinii electrice. Dacă
intensitatea câmpului electric, format de dispozitivele de curent continuu şi de obiectele, care uşor
se electrizează, este mare, atunci ionii liberi obţin energie cinetică suficientă pentru a forma ioni
64UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
noi, ciocnindu-se cu moleculele neutre. În urma ionizării aerul îşi pierde proprietatea sa de izolator
şi descărcarea electrică latentă se transformă într-o descărcare sferică, adică are loc o străpungere
electrică a aerului.
Descărcarea electricităţii statice poate provoca o explozie, incendiu sau alte accidente. La
unele întreprinderi, care produc substanţe sintetice, polimeri şi produse din aceste substanţă, şi care
posedă proprietăţi dielectrice înalte, electrizarea micşorează productivitatea muncii şi este unul din
motive care duce la scăderea calităţii producţiei. Influenţa sistematică a câmpului electrostatic de
intensitate înaltă asupra corpului omului duce la unele dereglări funcţionale a sistemului central
nervos, a sistemului cardio-vascular şi a altor organe. Din aceste motive, intensitatea maxim-
admisibilă a câmpului electric la locurile de muncă este normată.
Tab.3.1
Intensitatea maxim-admisibilă a câmpului electric la locurile de muncă
Durata acţiunii câmpului electric asupra omului t, ore
Intensitatea câmpului electrostatic maxim – admisibilă Eadm, kW/m
Până la 1 602 42.53 34.64 305 26.86 247 -22.78 21.29 20
Intensităţile admisibile a câmpului electrostatic sînt indicate fără a lua în consideraţie
influenţa asupra omului a descărcărilor electrice. Normele indicate pentru intensitatea câmpului
electrostatic mai mare decât 20 kW/m se utilizează numai cu condiţia, că restul timpului a zilei de
lucru intensitatea nu întrece 20 kW/m. Dacă intensitatea câmpului electrostatic întrece valorile
indicate mai sus, atunci se aplică unele măsuri de micşorarea ei.
Măsurile principale de micşorare a intensităţii câmpului electric în zona de lucru sunt:
îndepărtarea surselor a câmpurilor electrostatice din zona personalului care deserveşte aparatura;
ecranarea sursei câmpului sau a locului de muncă; utilizarea neutralizatorilor de sarcini electrice
statice; umezirea materialului care se electrizează; schimbarea materialelor, care uşor se electrizează
cu materiale ce nu se electrizează; alegerea suprafeţelor care contactează conform condiţiilor de
electrizare minimă; modificarea procesului tehnologic în aşa mod ca să se micşoreze nivelul de
electrizare; alegerea materialelor şi suprafeţelor care greu electrizează alte corpuri sau le
electrizează cu sarcini de polaritate diferită; instalarea în toate încăperile, unde se află oameni, a
podelelor care conduc curentul electric. În calitate de măsura a protecţiei individuale a omului de la
65UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
electricitatea electrostatică poate servi încălţămintea ce conduce curentul electric, albituri, halat, etc.
adică tot ce asigură legătura electrică a corpului omului cu pământul.
La majoritatea monitoarelor moderne problema câmpului electrostatic este parţial rezolvată
prin introducerea tehnologiei antistatice. Datorită acestei tehnologii câmpul electrostatic se
micşorează până la 10% din intensitatea iniţială a acestuia. În afară de această majoritatea ecranelor
protectoare, care micşorează iradierea ionizată şi atenuarea considerabilă a câmpului electrostatic.
Câmpul electromagnetic creat de monitor este de asemenea un factor dăunător sănătăţii
omului. Influenţa câmpurilor electromagnetice de mare intensitate asupra omului constă în absorbţia
de către ţesuturile corpului uman a energiei, însă influenţa principală îi revine câmpului electric.
Nivelul de influenţă a câmpurilor electromagnetice asupra omului depinde de frecvenţă, de puterea
emisiei, de durata acţiunii, de regimul de emisie (prin impulsuri sau continuu), şi de asemenea de
proprietăţile individuale ale organismului. Influenţa câmpului electric de frecvenţă joasă provoacă
dereglări în activitatea funcţională a sistemului cardio-vascular, şi chiar la schimbări privind
componenţa sângelui.
Influenţa câmpului electromagnetic de frecvenţă înaltă se reflectă sub forma efectului
termic, care duce la ridicarea temperaturii corpului, la supraîncălzirea locală a ţesuturilor corpului şi
a organelor cu o termoreglare slabă. Ca rezultat unii lucrători suferă din cauza insomniei, simt
dureri în regiunea inimii, dureri de cap, uşor obosesc. Pentru a micşora puterea de emisie a sursei
câmpului electromagnetic pot fi utilizate următoarele mijloace tehnice:
1. utilizarea unui astfel de regim de lucrul, în care dispozitivul lucrează cu o
putere mai mică decât cea proiectată;
2. lichidarea locurilor de emisie suplimentară;
3. micşorarea undelor reflectate prin ajustarea sarcinilor, etc.
Alegerea corectă a regimului de lucru a personalului şi a utilajului permite micşorarea
prezenţei omului în zona de acţiune a câmpurilor electromagnetice.
Procesul de ecranare, des utilizat cu scopul de a micşora influenţa câmpurilor
electromagnetice, utilizează fenomenul de absorbţie şi reflectare a energiei câmpului
electromagnetic. Pentru confecţionarea ecranului se utilizează materiale cu o conductibilitate
electrică înaltă (aluminiu, cupru, oţel), şi cu proprietăţi de absorbţie şi reflectare sub formă de foi şi
plasă. Ecranele obligatoriu se unesc la pământ.
Eficacitatea acţiunii de ecranare a materialului se caracterizează prin adâncimea infiltrării
câmpului electromagnetic în ecran, care depinde de materialul de confecţionare.
66UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Adâncimea infiltrării câmpului electromagnetic, la care acest câmp scade de 2,718 ori:
unde: μ – permeabilitatea magnetică relativă a materialului ecranului, Hn/m;
σ – conductibilitatea relativă a materialului ecranului, cm/m;
f – frecvenţa câmpului electromagnetic Hz.
Adâncimea infiltrării a frecvenţelor înalte şi supraînalte în ecran de obicei nu întrece un
milimetru, astfel grosimea ecranului se alege din considerente constructive.
3.2 Calculul iluminării naturale la locul de muncă
Pentru organizarea activităţii normale a omului o mare importanţă are crearea condiţiilor
normale de iluminare naturală şi artificială la locul de muncă. Iluminarea de producţie, corect
proiectată şi îndeplinită, aduce la rezolvarea următoarelor probleme: ea îmbunătăţeşte condiţiile de
muncă, micşorează oboseala, contribuie la creşterea productivităţii muncii şi calităţii producţiei,
acţionează binefăcător asupra mediului de producere, acţionează pozitiv din punct de vedere
psihologic asupra lucrătorului, ridică securitatea muncii şi micşorează traumatismul în producţie.
Analizatorul vizual percepe ca lumină oscilaţiile electromagnetice cu lungimea de undă 380-
770 nm.
Iluminarea optimă se alege în dependenţă de particularităţile (coeficientul de reflecţie)
suprafeţei de lucru şi detaliile ce sunt analizate pe ea (lungimea perioadei de lucru vizual, precizia,
caracterul procesului de lucru).
O cerinţă importantă este menţinerea regimului de iluminare. La iluminarea artificială
devierile în reţea nu trebuie să depăşească + 2.5 - 3%.
Prin norme sunt introduse valorile minimale a iluminării care permit realizarea cu succes a
lucrului vizual.
În dependenţă de sursă de lumină iluminarea de producere poate fi de două tipuri: naturală
(lumina de zi) şi artificială generată de lămpile electrice.
Lumina naturală (solară) după componenţa sa spectrală se deosebeşte de lumina primită de
la sursele electrice de lumină.
În spectrul luminii solare se conţine mai multe raze ultraviolete necesare omului: pentru
iluminarea naturală e caracteristică difuzia înaltă a luminii, foarte favorabilă pentru condiţiile de
muncă.
După particularităţile constructive iluminarea naturală se împarte în: laterală, înfăptuită prin
ferestre, superioară, înfăptuită prin lanternele de ventilaţie şi prin ferestrele în acoperiş şi combinată,
în care la iluminarea superioară se adaugă iluminarea laterală. Iluminarea naturală se caracterizează
67UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
prin aceea că lumina creată în încăpere se schimbă în limite mari. Aceste schimbări depind de
timpul zilei, anotimpurile anului şi de factorii meteorologici. De aceea, spre deosebire de iluminarea
artificială, iluminarea naturală nu trebuie cantitativ exprimată prin mărimea luminozităţii în luxi. În
calitate de mărime normată pentru iluminarea naturală se ia mărimea relativă - coeficientul
iluminării naturale, care reprezintă exprimarea în % a relaţiei dintre luminozitatea în punctul dat
înăuntru încăperii (Ein) şi luminozitatea extenoară (Eex).
Iluminarea naturală în încăperi se reglementează conform normelor SNiP. Valoarea normală
a coeficientului iluminării naturale (En) se calculă după formula:
En = E * H * C
unde:
E - valoarea coeficientului iluminării naturale (se ia pentru zona a III);
H - coeficientul climatului de lumină (pentru zona IV este egal cu 0.9);
C - coeficientul de solaritate, determinat după tabelul normelor în dependenţă de
orientarea clădirii referitor părţilor lumii (C=0.75);
După calcule am obţinut că mărimea normată a coeficientului iluminării naturale este egal
cu:
En = 1.5 * 0.9 * 0.75 = 1.0125
În afară de coeficientul iluminării naturale se normează şi caracteristica calitativă -
neuniformitatea iluminării naturale în încăperile de producţie cu iluminarea superioară.
Neuniformitatea nu trebuie să depăşească 2:1 pentru lucrările de rangurile I-II şi 3:1 pentru lucrările
de rangurile III-IV.
Calcularea iluminării naturale constă în calcularea ariei totale a ferestrelor:
Sp * En * Ef * Kz * Kr
Sf = ----------------------------------------;
100 * Tt * R
unde: Sp - aria podelei;
En - coeficientul iluminării naturale normat;
68UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Ef - caracteristica ferestrei, care se află din raportul lungimea incăpeni către adîncimea ei pe
de o parte şi raportul adîncimii incăperii faţă de înălţimea nivelului suprafeţei de lucru pînă la
înălţimea ferestrei, pe de altă parte;
Kz - coeficientul, care ţine cont de umbrirea de către clădirile apropiate. Se află din raportul
dintre distanţă pînă la clădirea vecină şi înălţimea clădirii vecine;
Kr - coeficientul de rezervă, care ia în consideraţie poluarea geamurilor;
R - coeficientul de reflectare, care ia în consideraţie posibilitatea obiectelor şi pereţilor de a
reflecta lumina;
Tt = T1 * T2 * T3 * T4 * T5 - coeficientul general de pătrundere a luminii prin fereastră;
T1 - coeficientul de trecere a luminii prin sticla dublă;
T2 - coeficient, ce ia în consideraţie pierderile de lumină în ramele ferestrei;
T3 - coeficient, ce ia în consideraţie pierderile de lumină în construcţii;
T4 - coeficient, ce ia în consideraţie pierderile de lumină în apărătoarele de lumină solară;
T5 - coeficient, ce ia în consideraţie pierderile de lumină în ramele de apărare a lămpilor;
Folosind datele pentru biroul de proiectare, găsim coeficienţii din SNiP şi calculăm aria
totală a ferestrelor:
60 * 1.0125 * 15 * 1.2 * 1.7
Sf = ------------------------------------------------------- = 18 (m2 )
100 * (0.8 * 0.6 * 1 * 1 * 0.9) * 1.7
În biroul de proiectare sunt prezente 4 ferestre cu dimensiunile de 2.5 * 2 cu aria totală de 4
* 2.5 * 2 = 20 m2 ceea ce asigura o iluminare suficientă a locului de muncă.
69UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
3.3 Factorii dăunători şi periculoşi la locul de muncă
Analiza condiţiilor de lucru şi aprecierea factorilor dăunători se efectuează conform
cerinţelor şi standardelor elaborate special de comisiile pentru Tehnica Securităţii care sunt, ca
criterii de bază pentru analiza condiţiilor la locul de lucru. Analiza se efectuează conform STAS
12.1.05
Tab.3.2
Standardele pentru factorii mediului
Factorii Tipul Valoarea Stasul
1. Factorii sanitari igienici
1.1 Parametrii microclimei
Temperatura, oC
Umiditatea relativă
Viteza aerului m/s
n
p
n
n
n
23
11
60
0.2
0.1
STAS 12.1.005-88
23-25
22-24
40-60
0.2
0.1
1.2 Iluminatul
Natural lateral
Artificial general m/s
1.3 Prezenţa prafurilor
mg/m3
1.4 Factorii chimici mg/m3
aerozoli
1.5 factorii mecanici, dB
n
p
n
n
n
1.7
0.5
0.01
20
STAS II-4-79
1.5
1
0.007
50
2. Caracteristica încăperilor
Caracteristica după pericolul incendiar
Categoria după pericolul electrocutare
Gradul după pericolul electrocutare
STAS II-90-81
B
Mărit (SRAS 12.1.38)
STAS 2.01.02-85
3. Parametrii electroenergiei
Modalitatea curentului
Tensiunea, V1
Frecvenţa, Hz
Alternativ
220
50
70UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
(continure) Tab.3.2
4. Cauzele incendiului
Substanţe arzătoare (hârtie, dulap,
masă, ferestre)
Electrice
Alte cauze
+
+
+
3.4 Cerinţele ergonomice privind locul de muncă
Ergonomica şi estetica procesului de producere sunt părţi componente ale culturii procesului
de producere [16], adică complexului măsurilor de organizare a muncii îndreptate spre crearea
condiţiilor de lucru prielnice. La baza ridicării culturii de muncă stau cerinţele organizării ştiinţifice
a procesului de muncă. Cultura procesului de muncă poate fi atinsă prin organizarea corectă a
procesului de muncă şi a relaţiilor între colaboratori, organizarea locurilor de muncă, transformarea
estetică a mediului înconjurător.
Iluminarea raţională a încăperilor de lucru stă la baza ridicării eficacităţii de lucru,
preîntâmpină oboseala generală şi a văzului, creează condiţii psihologice optimale şi determină
dispoziţia bună. Iluminarea naturală suficientă creează simţul de legătură directă cu mediul
înconjurător.
Este necesar de subliniat acţiunea biologică binevenită a razelor solare. De aceea este
necesar de amplasat locurile de muncă în aşa mod încât ele să nimerească în zona atingerii razelor
solare. În dependenţă de condiţiile de muncă şi particularităţile lucrului îndeplinit, pentru iluminarea
artificială pot fi folosite instalaţiile de iluminat, generale şi locale, cu o anumită caracteristică de
lumină. Lămpile de lumină directă au fost folosite limitat din cauza creării umbrelor abrupte.
Lămpile de lumină reflectată pot fi folosite în cazuri când este necesitatea de o lumină omogenă şi
slabă. Lămpile de lumină semi-reflexivă ce sunt echipate cu abajur din sticlă mată, care posedă
proprietăţi de a dispersa lumina se află pe masa de lucru. În calitate de instalaţie de iluminat general
este recomandabil de folosit lămpi cu lumina dispersată. Lămpile de iluminare locală trebuie să fie
mobile şi la necesitate să asigure schimbarea direcţiei luminii. Fiecare loc de muncă, indiferent de
amplasarea lui faţă de ferestre trebuie să aibă şi instalaţie de lumină locală. Este recomandabil de
folosit lămpi luminescente, spectrul luminii cărora aproape coincide cu cel al luminii naturale.
Pentru a exclude reflectarea razelor directe ale luminii de pe ecranul monitorului instalaţiile de
iluminare se aranjează pe ambele părţi de la locul de muncă, paralel cu direcţia văzului operatorului,
şi peretele cu ferestre.
71UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
O astfel de amplasare a instalaţiilor de iluminat permite de a le conecta consecutiv în
dependenţă de mărimea iluminatului natural şi exclude iritarea ochilor de către linii alterate de
lumină şi umbră, care apare la amplasare lor paralelă.
Culoarea încăperilor (pereţilor şi podului) de lucru influenţează esenţial asupra iluminării,
stării psihofiziologice a omului, ansamblului arhitectural al încăperii. Este cunoscut că nuanţele
întunecate au proprietatea de a consuma o parte mare a luminii şi prin aceasta micşorează
iluminarea încăperii. Pentru ordonarea culorilor în încăperile de lucru se propune de a folosi în
primul rând acele culori care reflectă cel puţin 40-50% de lumină care cade pe o suprafaţă. Culorile
încăperilor trebuie să fie alese în conformitate cu condiţiile climaterice. La alegerea culorilor
încăperilor trebuie de luat în seamă amplasarea ferestrelor, particularităţile arhitecturale ale
încăperilor. Pentru asigurarea condiţiilor de lucru optimale, culorile trebuie să fie alese având în
vedere culorile monitorului. În cazul paletei monocrome, peretele înaintea operatorului trebuie să
fie vopsit cu culoarea verde deschisă sau bej, iar în cazul paletei colorate – culoarea bej.
Un rol important îl joacă organizarea locului de muncă, care trebuie să satisfacă cerinţele
comodităţii a efectuării lucrului şi economisirii energiei şi a timpului operatorului şi utilizării
raţionale ale suprafeţelor de lucru. Mişcările lucrătorului trebuie să fie de aşa fel, ca grupurile de
muşchi ale lui să fie încărcate omogen, iar mişcările neproductive să fie excluse.
Locurile de muncă trebuie să fie aranjate tot în conformitate cu cerinţele comodităţii lucrului
şi optimizării mişcării. Locul de muncă de obicei este constituit dintr-un birou, scaun, o poliţă
pentru literatura profesională des utilizată. Distanţele între componentele menţionate trebuie să fie
optimale, care nu limitează mişcările şi în acelaşi timp nu provoacă mişcări de prisos.
3.5 Condiţionarea aerului
Parametrii necesari a microclimei în încăperile de producţie se asigură prin diferite metode.
Pentru menţinerea normelor aflării substanţelor dăunătoare în aer la locul de lucru se iau măsuri
spre izolarea izvoarelor de substanţe dăunătoare, limitarea timpului de aflare a oamenilor în
încăperile cu conţinutul atmosferic dăunător, folosirea tehnologiilor avansate pentru micşorarea
conţinutului de substanţe dăunătoare în aer.
Una din tehnicile folosite în procesul de producţie pentru eliminarea substanţelor dăunătoare
din aerul zonei de lucru este ventilarea. Sistemele de ventilare [16] asigură parametrii necesari ai
microclimei în aerul de lucru. Ventilarea este divizată în două categorii în dependenţă de natura
acesteia: ventilarea naturală şi ventilare artificială.
72UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
La ventilarea artificială schimbul de aer se efectuează cu ajutorul ventilatorului prin
sistemele de canale cu aer. Reieşind din principiul de lucru a ventilatorului, ventilarea artificială se
clasifică în următoarele categorii: de tragere, de extragere, de tragere-extragere. În sistemele de
ventilare artificială aerul tras în încăperea de lucru poate fi uscat, umezit, răcit.
În prezent pentru asigurarea normativelor de ventilare a aerului zonei de lucru sunt folosite
dispozitive de condiţionare a aerului. Cu ajutorul dispozitivului de condiţionare aerul poate fi uscat,
umezit, ozonat, deodorat, răcit sau încălzit.
Conform normativelor sanitar-igienice fiecărui lucrător trebuie de-i asigurat de la 20 m3/oră
până la 30 m3/oră. Raportul între volumul încăperii şi numărul de persoane care lucrează în această
încăpere nu trebuie să fie mai mic decât 20 m3.
În lipsa substanţelor dăunătoare în încăpere, dacă volumul de aer pentru un lucrător e mai
mare de 40 m3, normativele de ventilare nu sunt reglementate. Volumul de aer care trebuie să fie
tras să fie în diapazonul de 20m3/oră pentru o persoană până la 30 m3/oră.
3.6 Cerinţele securităţii tehnice la începutul lucrului
Până la începutul propriu zis a lucrului practic în laborator, studenţii sunt obligaţi să studieze
locul său de lucru: dislocaţia dispozitivelor aflate sub tensiune, a întreprinderilor de curent,
caracteristica tehnică a utilajului, instrucţiunile de exploatare a dispozitivelor folosite la efectuarea
lucrărilor de laborator. Trebuie de studiat principiul de lucru a echipamentului şi metodele de
operare inofensive în timpul lucrului.
3.7 Cerinţele securităţii tehnice în timpul de lucru
Este interzisă cuplarea echipamentului la reţea fără permisiunea persoanei responsabile de
lucrări; cuplarea în reţea a echipamentului, care în timpul efectuării lucrării de laborator nu este
folosit.
În procesul de lucru la calculator se interzice categoric: abaterea de la subiect cât şi
sustragerea altora; părăsirea locului de lucru lăsând utilajul sub tensiune; efectuarea lucrului de
reparaţie a utilajului aflat sub tensiune. Dacă în procesul de lucru apar cazuri ieşite din comun
(miros de izolaţie arsă, fum) utilajul se decuplează, urgent de la reţea informând despre aceasta
conducătorul de lucrări sau responsabilul de laborator.
73UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
3.8 Acţiuni în cazuri fatale
Dacă vre-o persoană nimereşte sub tensiune, este necesar de urgenţă de decuplat tensiunea,
despre ce se informează dirigintele de lucrări.
Dacă persoana în cauză a rămas în conştiinţă trebuie să-i creăm condiţii de linişte şi odihnă.
Apoi în caz de necesitate chemăm medicul. Dacă individul a pierdut cunoştinţa şi nu respiră este
necesar de a-i face respiraţie artificială, chemând totodată salvarea. Respiraţia artificială se aplică
până vine medicul sau până se restabileşte respiraţia. Pentru toate cazurile fatale se fac procese
verbale conform regulamentului.
3.9 Securitatea antiincendiară
Incendiu [16] se numeşte procesul necontrolat de ardere în afara unui loc de ardere special
amenajat, ce aduce daune materiale.
În cadrul oricărei organizaţii, sau întreprinderi trebuie să existe mijloace de anunţare, de apel
rapid la serviciile orăşeneşti antiincendiare în cazul apariţiei incendiului. Pentru obiectele de o
importanţă majoră sau periculoase, este recomandată posibilitatea legăturii telefonice directe cu
secţia antiincendiară orăşenească. Semnalizarea antiincendiară se execută cu ajutorul diferitor
sisteme. Pentru a anunţa despre incendiu se utilizează legătura telefonică, legătura radio, sirena,
semnalizarea cu ajutorul clopotelor etc.
Semnalizarea incendiului se execută de diferite sisteme. Cel mai simplu şi mai des utilizat
este semnalizatorul manual, care se activează prin apăsarea butonului. Aşa semnalizatoare se
instalează pe scări, în paliere şi sînt vopsite în culoarea roşie.
În timpul de faţă larg se utilizează semnalizatoarele automate, care conform principiului de
lucru se împart în cele termice, de fum, combinate şi optice.
Semnalizatoarele termice de acţiune maximă acţionează la deformarea unei plăci bimetalice,
la încălzirea ei până la 60, 80, 100 °C în dependenţă de reglaj. În semnalizatoarele termice
semiconductoare, în calitate de elementele sensibile sunt termorezistenţele, de la încălzirea cărora se
schimbă curentul în reţea.
În semnalizatoarele de fum în calitate de element sensibil se utilizează camera de ionizare,
în care sub acţiunea izotopului radioactiv (plutoniu-239) apare un curent de ionizare. Apariţia
fumului în cameră măreşte consumul de raze ceea ce cauzează micşorarea curentului de ionizare.
În semnalizatoarele combinate se foloseşte interconectarea semnalizatorului de fum cu cel
termic. La camera de ionizare se mai conectează încă o termorezistenţă. Aceste semnalizatoarele
reacţionează atât la apariţia fumului, cât şi la schimbarea temperaturii.
74UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Semnalizatoarele optice reacţionează la razele ultraviolete ale spectrului flăcării, deoarece
elementul sensibil reprezintă contoarele de fotoni. Semnalizatoarele de diferite tipuri pot controla
suprafeţe de la 15 până la 100 m2.
Semnalizatoarele de fum şi cele combinate nu se instalează în încăperi umede şi prăfuite,
sau în încăperi în care se conţin vapori de acizi, baze, sau unde temperatura este mai mare decât 80
°C, deoarece în aşa locuri poate avea loc acţionarea falsă ale semnalizatoarelor.
3.9.1 Cauzele apariţiei incendiilor
Procesul de ardere este posibil în cazul când este prezentă substanţa arzătoare, sursa de
aprindere şi oxidantul, care în cele mai dese cazuri este oxigenul, ce se conţine în aer. La reducerea
concentraţiei oxigenului din aer până la 12-14% arderea majorităţii substanţelor se opreşte. Procesul
de ardere este posibil şi în lipsa oxigenului - deoarece hidrogenul, stibiul şi unele metale ard în clor.
Unele substanţe (turba, cărbunele, funinginea, cârpele uleioase), numite piriforme pot să se auto
inflameze la contactul cu aerul. Auto-aprinderea acestor substanţe are loc în urma proceselor
chimice, termice sau microbiologice. Substanţele se încălzesc sub acţiunea căldurii ce vine din
afară, ce se elimină în timpul reacţiilor chimice, şi de asemenea în rezultatul acţiunii micro-
organismelor.
În procesul de producţie, incendiul poate apare în urma unor cauze de ordin electric sau ne
electric. La cauzele de ordin ne electric se referă: funcţionarea proastă a instalaţiilor de producţie şi
dereglarea procesului tehnologic; comportarea iresponsabilă sau ne atentă cu focul (fumatul, lăsarea
fără supraveghere a dispozitivelor de încălzire); construcţia incorectă sau dereglarea sistemului de
ventilare; autoinflamarea materialelor.
La cauzele de ordin electric se referă: scurtcircuitul; supraîncărcarea conductoarelor;
rezistenţa mare de trecere; scânteierea; electricitatea statică şi descărcarea fulgerului; arcul electric
ce apare în timpul sudării electrice şi în timpul operaţiilor greşite cu aparatajul de comutare;
instabilitatea tensiunii electrice din reţea - ca rezultat se aprind unele circuite integrate din
calculator, sau monitor, etc.
3.9.2 Securitatea antiincendiară în sălile de calcul
Pentru a analiza nivelul securităţii incendiare a locurilor de muncă, a zonelor de producţie, a
sălilor de calcul se foloseşte următoarea clasificare :
1.Clasificarea materialelor de construcţie şi construcţiilor după nivelul de inflamabilitate: ne
inflamabile; greu inflamabile; inflamabile;
75UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
2.Clasificarea construcţiilor după nivelul rezistenţă la incendiu (limita nivelului de
rezistenţă la incendiu – timpul în ore din momentul începerii incendiului până la momentul apariţiei
crăpăturilor).
3. Clasificarea încăperilor după Regulile de Construcţie a Instalaţiilor Electrice: cu pericol
de explozie; cu pericol de inflamare; criteriile de apreciere; conţinutul de substanţe inflamabile.
4. Clasificarea proceselor de producţie după pericolul incendiar: cu pericol de explozie; cu
pericol de inflamare; fără pericol de inflamare.
Conform primei clasificări sala de calcul este ne inflamabilă, deoarece sunt prevăzute multe
măsuri de prevenire a incendiului cum ar fi: sisteme de semnalizare, podele din metal, mese
metalice, pereţii în sala de calcul se acoperă cu substanţe ne arzătoare.
După clasificarea a doua, de obicei sălile de calcul se află în clădiri construite din beton
armat sau cărămidă (pentru instituţiile de învăţământ). Ambele materiale de construcţie au o
rezistenţă mare la incendiu – pereţii în sala de calcul se acoperă cu substanţe ne arzătoare.
După clasificarea a treia, luând în consideraţie conţinutul mic de substanţe inflamabile şi
regimul termic de prelucrare, sălile de calcul pot fi caracterizate – cu pericol mic de inflamare.
Sălile de calcul după pericolul incendiar a proceselor de producţie fac parte din categoria
celor cu pericol de inflamare, ceea ce se explică prin faptul, că în încăpere se găsesc substanţe
inflamabile: de obicei, aceste săli sunt echipate cu utilaj care conţine masă plastică, care totuşi arde.
76UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
4 APRECIEREA CHELTUIELILOR ECONOMICE
ALE PROIECTULUI DE DIPLOMĂ
Compartimentul economic este o parte integră a proiectului de diplomă şi constă în
calcularea efectului economic care se va manifesta odată cu aplicarea în practică a rezultatelor
experimentelor, ipotezelor şi produselor primite la sfârşitul îndeplinirii tezei, indiferent dacă
rezultatul va fi un produs care va participa sau nu la un proces economic. Deci compartimentul
economic reprezintă o continuare a părţii ştiinţifice a tezei, adică evaluarea ei din punct de vedere
economic. Aici vor fi studiate toate procesele economice necesare pentru îndeplinirea proiectului:
fondurile proiectului, cheltuielile care s-au produs pe parcurs, venitul după realizarea produsului
ş.a.
Dacă noi alcătuim sau implementăm un circuit electronic, trebuie de calculat toate
cheltuielile necesare pentru proiectarea circuitului, cheltuielile care însoţesc procesul de asamblare a
acestui circuit, la acestea adăugându-se toate celelalte cheltuieli (accesorii, instrumente). Dacă teza
este îndeplinită la o întreprindere sau organizaţie (ceea ce este permis de catedră), care sunt
interesate de rezultatele tezei atunci cheltuielile de utilaj şi accesorii vor fi cu mult mai mici. Dacă
noi elaborăm un program, alcătuim o bază de date sau scriem un driver pentru vre-un dispozitiv
atunci este necesar să includem în preţ toate accesoriile de care avem nevoie (calculatoare, produse
soft, hârtie, documentaţie, imprimanta), dacă noi utilizăm un limbaj necunoscut trebuiesc luate în
consideraţie cheltuielile de timp necesare pentru studierea acestui limbaj sau a pachetelor de
program.
Procesul economic nu este un compartiment separat, el începe odată cu stabilirea temei şi se
manifestă pe întreaga porţiune de timp care este cuprinsă între evenimentul “stabilirea temei” şi
“prezentarea proiectului la comisie”, deci orice activitate legată de diplomă în decursul timpului
dintre aceste evenimente este necesar de inclus în planificarea economică a tezei.
4.1 Planificarea economică
Odată cu stabilirea temei noi ne-am format concepţiile prin intermediul cărora vom
determina în ce domeniu vom activa, pentru început vom stabili limbajul de programare în care vom
lucra, pachetele de programe necesare pentru implementarea programului.
Luând în consideraţie posibilităţile limbajelor existente şi preţul lor, am stabilit că vom lucra
cu analiza tehnologiilor de elaborare a paginilor Web.
Cunoscând metodele de studiere a procesului economic şi luând în consideraţie raportul de
avantaje între fiecare noi am hotărât să folosim metoda planificării prin intermediul grafului reţea.
77UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Graful reţea este un model informativ, în care se arată legăturile între lucrări şi evenimente a
lucrărilor date, necesare pentru obţinerea scopului final. Graful reţea nu este altceva decât un
complex de graf orientat. Graful reţea conţine două elemente principale: lucrarea şi evenimentul.
Arcele prezintă lucrarea, iar vârful – evenimentul. Lucrarea este orice proces, care duce la atingerea
rezultatului concret. Evenimentul (în afară de primul) este rezultatul lucrării efectuate. Evenimentul
i, după care nemijlocit se începe lucrarea dată, este pentru lucrarea primară; evenimentul j, înaintea
căruia nemijlocit a fost efectuată lucrarea, este final. Între evenimentele i şi j poate fi efectuată
numai o lucrare. Primul eveniment în reţea, care nu are înaintea sa evenimente şi lucrări şi arată
începerea îndeplinirii complexului de lucrări - este primar. Evenimentul, după care nu urmează
alte evenimente şi lucrări şi arată încheierea complexului - este final.
Datele iniţiale pentru construirea reţelei sunt:
1. Biblioteca lucrărilor şi evenimentelor în procesul de planificare în reţea, unde se arată
timpul efectuării lucrărilor (tab. 4.1).
2. Determinarea numărului de executanţi şi repartizarea lor în lucru (tab. 4.2 şi 4.3).
Tab.4.1 Biblioteca lucrărilor şi evenimentelor în procesul de planificare în reţea
N Evenimentul Codul Durata
1 Elaborarea sarcinii proiectului 0-1 5
2 Studierea necesităţii proiectului 1-2 3
3 Selectarea modului efectuării 2-3 2
4 Consultarea cu specialiştii 3-4 1
5 Studierea literaturii 3-5 3
6 Analiza paginilor Web existente în INTERNET
3-6 4
7 Studierea tehnologiilor noi 5-7 5
6-7
8 Alegerea limbajului de programare 4-8 4
7-8
9 Elaborarea programului 8-9 4
10 Testarea programului 9-10 1
11 Redactarea rezultatelor programului 10-11 1
12 Alcătuirea schemei bloc a programului 10-12 3
13 Generalizarea rezultatelor primite 11-13 1
78UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
12-13
14 Analiza paginii elaborate cu celelalte tehnologii de elaborare a paginilor Web
13-14 3
(continuare) Tab.4.1
15 Descrierea paginii elaborate 13-15 2
16 Efectuarea calculului prealabil la protecţia muncii
13-16 1
17 Întocmirea protecţiei muncii 16-17 1
18 Oformarea grafică a tezei de licenţă 14-18 2
15-18
19 Elaborarea părţii economice 17-19 6
18-19
20 Întocmirea memoriului explicativ după STAS
19-20 5
21 Pregătirea şi susţinerea 20-21 3
Pentru elaborarea proiectului de diplomă se creează grupul de executanţi. Asupra
componenţei lui influenţează mulţi factori printre care: volumul de lucru a PD, resursele financiare
alocate, noutate şi complexitatea temei, experienţa executanţilor, nivelul lor profesional şi general
teoretic, etc. Adică, luând în consideraţie clasa de complexitate a problemelor se formează grupul
de executanţi, capabili să asigure îndeplinirea tuturor lucrărilor planificate în termenul indicat şi se
repartizează pe lucrări concrete. Componenţa grupului de executanţi se introduce în tabelul 4.2.
Tab.4.2
N Funcţia executantului Codul Salariul, lei
1 Conducător E1 162
2 Diplomant E2 920
TOTAL 1082
Tab.4.3Repartizarea executanţilor pe lucrări
Codul lucrării
Intervalul de timp destinat lucrării
Numărul de executanţi
79UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
(zile) (oameni) E1 E2
0-1 5 2 + +
1-2 3 2 + +
(continuare) Tab.4.3
2-3 2 2 + +
3-4 1 2 + +
3-5 3 1 +
3-6 4 1 +
5-7 5 2 + +
6-7 1 +
4-8 4 1 +
7-8 1 +
8-9 4 1 +
9-10 1 1 +
10-11 1 1 +
10-12 3 1 +
11-13 1 1 +
12-13 1 +
13-14 3 1 +
13-15 2 1 +
13-16 1 1 +
16-17 1 1 +
14-18 2 1 +
15-18 1 +
17-19 6 1 +
18-19 1 +
19-20 5 1 +
20-21 3 2 + +
În total, gradul de ocupare pe TD 6 40
Se construieşte graful reţea şi se calculează cheltuielile în timp pentru efectuarea lucrărilor
în reţea. Datele se introduc în tabelele 4.4 şi 4.5.
80UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
4.2 Construirea grafului de reţea şi calcularea parametrilor principali
La parametrii de bază a reţelei se referă: calea critică, rezervele de timp a evenimentelor şi
lucrărilor. Rezerva de timp a evenimentului R se determină ca diferenţa dintre timpul târziu şi
timpul devreme.
R = Tt - Td
Tdj = max (Tdi + tij )
unde:
tij - timpul parcurgerii lucrării.
În evenimentul finit timpul devreme este egal cu timpul târziu, sensul economic al căruia
este, că nu suntem cointeresaţi în lungimea evenimentului.
Tti = min (Ttj - tij ).
Pentru lucrări se calculează următorii parametri:
1. Rezerva deplină a lucrărilor
Rdij = Ttj – Tdi - tij
Rezerva deplină a lucrării înregistrează durata în timp, cu cât mai târziu poate fi îndeplinită
lucrarea dată ce nu schimbă durata totală a căii critice.
2. Rezerva liberă a lucrărilor Rlij = Tdj – Tdi - tij
Rezerva liberă a lucrării este timpul maximal de lungire a lucrării date, care nu schimbă
timpul târziu de îndeplinire a evenimentului următor şi timpul devreme a evenimentului precedent.
Se numeşte calea critică drumul maximal de la evenimentul iniţial până la cel final în calea
reţelei.
Calea critică are două condiţii:
1. Rezervele evenimentelor Ri = Rj = 0
2. Rezervele depline Rdij = 0
Parametrii de bază a reţelei sunt arătaţi în tabelele 4 şi 5, iar reţeaua pe desen.
81UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Tab.4.4
Evenimentul (j) Ttj Tdj Rj
1 0 0 0
2 3 3 0
3 6 6 0
4 8 8 0
5 8 8 0
6 8 8 0
7 11 11 0
7 16 12 4
8 12 9 3
8 16 16 0
9 16 16 0
10 20 20 0
11 21 21 0
12 21 21 0
13 23 22 0
13 24 24 0
14 24 24 0
15 24 24 0
16 24 24 0
17 25 25 0
18 30 27 3
18 32 26 6
19 26 26 0
19 32 29 3
20 32 32 0
21 37 37 0
82UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Tab.4.5
Codul lucrării
tij Tti Ttj Tdi Tdj Rdij Rlij
0-1 5 0 3 0 3 0 0
1-2 3 3 6 3 6 0 0
2-3 2 6 8 6 8 0 0
3-4 1 8 12 8 9 3 0
3-5 3 8 11 8 11 0 0
3-6 4 8 16 8 12 4 0
5-7 5 11 16 11 16 0 0
6-7 16 16 12 16 4 4
4-8 4 12 16 9 16 3 3
7-8 16 16 16 16 0 0
8-9 4 16 20 16 20 0 0
9-10 1 20 21 20 21 0 0
10-11 1 21 23 21 22 1 0
10-12 3 21 24 21 24 0 0
11-13 1 23 24 22 24 1 1
12-13 24 24 24 24 0 0
13-14 3 24 30 24 27 3 0
13-15 2 24 32 24 26 6 0
13-16 1 24 25 24 25 0 0
16-17 1 25 26 25 26 0 0
14-18 2 30 32 27 29 3 0
15-18 32 32 26 29 6 3
17-19 6 26 32 26 32 0 0
18-19 32 32 29 32 3 3
19-20 5 32 37 32 37 0 0
20-21 3 37 40 37 40 0 0
Până acum au fost evaluate cheltuielile de timp cu ajutorul cărora vor fi evaluate şi unele
cheltuieli băneşti cum ar fi: salarizarea participanţilor, calculul amortizării utilajului, evaluarea
costului de arendă a încăperii etc. Celelalte cheltuieli băneşti sunt legate de procurarea utilajului
83UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
ştiinţific, accesoriilor şi achitarea serviciilor de care au fost nevoie pe parcursul proiectării. În
continuare vor fi evaluate cheltuielile băneşti necesari pentru îndeplinirea proiectului.
Pentru început vom evalua costurile necesare pentru obiectele şi accesoriile de birotică, în
Tab.4.6 sunt enumerate majoritatea materialelor de care ne-am folosit pe parcursul îndeplinirii
sarcinii.
Tab.4.6
Costul materialelor utilizate la elaborarea proiectului
Materiale Cantitatea, unităţi Preţul pentru unitate, lei Suma, lei
Foi A4 200 0,10 20
Discuri magnetice 5 7 35
Stilouri 2 3 6
Peliculă 6 4 24
Mape 4 10 40
Clame 1 5 5
Toner 1 120 120
Total 250
Cheltuieli de transport 5% din suma totală 12,5
Total 262,5
Dacă la lucrarea de diplomă utilizăm aparataj ce a fost utilizat şi va mai fi utilizat în viitor la
alte lucrări, se calculează amortizarea lui pe timpul lucrat:
Formula pentru amortizare este:
A = C * N * t,
unde
C — costul iniţial al dispozitivului;
N — norma amortizării;
t — timpul de lucru a utilajului la lucrarea dată.
Tab.4.7
Calculul defalcărilor pentru amortizare din costul utilajului
Nr. Utilajul Nr. de unităţi
Preţul, lei Timpul de lucru
Norma amortizării
Suma, lei
1 Calculator IBM
Pentium MMX233
1 6000 46 0,33 249,5
2 UPS NetStar 1 1125 46 0,33 46,7
84UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
3 Imprimantă HP 6L 1 5000 3 0,33 13,5
Total 12125 309,7O influenţă semnificativă asupra bugetului proiectului o alcătuieşte serviciile de care ne
folosim pe parcursul lucrului, în aceste servicii pot întra serviciile Internet, serviciile tele
fonice. În Tab.4.8 sunt prezentate toate serviciile de care am beneficiat.
Tab.4.8
Serviciile beneficiate
Nr. Serviciul beneficiat Cantitatea Costul (lei) Costul total (lei)
1. Servicii Internet 6(zile) 5 30
2. Energia electrică 150(Kw) 0,65 97,5
3. Servicii telefonice 500(min) 0,23 115
Total 242,5
Cheltuielile pentru salariul de bază a proiectanţilor se calculează pe baza datelor despre
componenţa de calificare a colaboratorilor, salariile de post a lor şi gradul de ocupare pe temă.
Salariul suplimentar prezintă 40%, din salariul de bază. Defalcările la asigurarea socială au
fost luate ca 35% din suma salariului de bază şi cel suplimentar. Defalcările pentru amortizare din
costul utilajului folosit sunt luate din tabelul 4.7. Lucrările contractuale constituie 4% din salariul de
bază a executanţilor. Cheltuielile directe şi de regie constituie respectiv 6% şi 45% din salariul de
bază. Datele se introduc în tabelul 4.9.
Tab.4.9
Calculul salariului
Salariul Salariul de bază Tariful zilnic Nr. zile Suma salariului de
bază
1 2 3 4 5
Conducătorul 162 7,04 6 42,24
Diplomant 920 38,3 40 1532
Total la salariul de bază 1574,24
Salariul suplimentar (12%) 188,9
Fondul social (31%) 488
Total 2251,14
85UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
Tab.4.10
Cheltuielile necesare pentru realizarea proiectului
Nr. Articolul Suma, lei Ponderea articolului în costul general Comentarii
1. Materiale procurate 262,5 8,56 Tab6
2. Salariul de bază 1574,24 51,34 Tab9
3. Salariul suplimentar 188,9 6,16 Tab9
4. Fondul social 488 15,91 Tab9
5. Serviciile 242,5 7,91 Tab8
6. Amortizarea 309,7 10,10 Tab7
Total 3065,8 100%
În Tab.4.10 sunt enumerate cheltuielile esenţiale care se referă la îndeplinirea proiectului.
Din acest tabel putem concluziona că acest proiect nu este prea scump. Valoarea maximă atingând-
o cota de amortizare a utilajului folosit, deoarece noi am utilizat tehnică foarte avansată suma de
amortizare va creste.
86UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
CONCLUZII
Cel puţin pentru cinci ani de acum încolo, HTML-ul, mai ales prin facilităţile oferite de
standardul 4.0, va fi principalul limbaj de marcare a paginilor Web, dând proiectanţilor de site-uri
Web flexibilitate, uşurinţa în design şi suport pentru includerea de elemente interactive. Va trebui
însă să ofere şi posibilitatea de introducere de formule matematice oricât de complicate şi elemente
de realitate virtuală, plus mecanisme de interogare a bazelor de date eterogene şi distribuite.
Complementar, XML se afla încă la începuturi atât privind cercetările teoretice, cât şi aplicaţiile
dezvoltate.
Care ar putea fi soluţia optimă pentru viitor? HTML împreună cu Java, care tinde sa câştige
tot mai mult teren, sau paradigma agenţilor mobili (entităţi abstracte călătorind între diverse noduri
de reţea) numiţi de creatorii săi de la IBM agleţi? Un alt limbaj de marcare sau folosirea de noi
tehnologii inteligente de acces la Internet?
Răspunsul ni-l va oferi viitorul.
Cert este că oricare ar fi tehnologia de elaborare a paginilor Web în viitor, ea ar trebui să
rezolve o sumedenie de probleme cu care se confruntă astăzi Internetul. Cea mai stringentă
problemă este problema securităţii păstrării şi transmiterii informaţiei. Pe planul doi ar fi problema
de supraveghere a respectării unui eventual cod de etică la elaborarea şi prezentarea site-urilor. Un
alt obiectiv al Internetului pentru viitor, va fi cu certitudine, structurizarea mai bună a informaţiei
din Internet. Această structurizare poate fi ori conform domeniului de utilizare, ori limbii în care
este prezentată informaţia.
Cu toate neajunsurile pe care le are în prezent, Internetul este o sursă de informare destul de
accesibilă. Diferite persoane din orice domeniu de activitate se pot documenta accesând Internetul şi
nu numai, oricine îşi poate prezenta activitatea pe o pagină Web (prezentarea mărfii, prestarea
serviciilor ş.a.).
Internetul devine tot mai preferabil ca mijloc de comunicare (poşta electronică,
teleconferinţe, tebele de discuţii şi dezbateri ş.a.)
O noţiune mai nouă în Internet este comerţul electronic care din anumite probleme tehnice şi
de securitate se află în faza testărilor finale.
Indiferent de câte minusuri are astăzi Internetul, viitorul va depinde într-o oarecare măsură
anume de el. Anume asta trebuie să ie în calcul promotorii tehnologiilor de elaborare a paginilor
Web pe viitor.
87UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
BIBLIOGRAFIE
1. Lynn M. Bremner, Anthony F. Iasi, Al Servati „Intranet” Editura ALL Bucureşti 1997.
2. Matt Strazniskas „Photoshop 5” Editura ALL Bucureşti 1999.
3. Kris Jamsa “Programarea în Web”
4. Macromedia Dremweaver
5. Microsoft Frontpage
6. Ф. Карбун, П. Маккормик “CorelDRAW 7”
7. „PC WORLD Revista programatorilor” Octombrie 2000.
8. http://www.infoiasi.ro
9. http://www.pcreport.ro
10. http://www.google.com
11. http://www.epress.ro
12. http://www.omen.ru
13. http://www.ournet.md
88UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
90UTM.2152.01.259.ME
Gra
ful r
eţea
a p
roce
sulu
i de
înd
epli
nir
e a
pro
iect
ulu
iA
nex
a 1
Coala
Mod Coala N Document Semnat. Data
ANEXA 2Listingul programului
Menu_principal.js
function dropit1(object){
object.style.visibility="visible"}
function dropit2(object){
if (document.all){
object.style.left=document.body.scrollLeft+event.clientX-event.offsetX
object.style.top=document.body.scrollTop+event.clientY-event.offsetY+18
object.filters.revealTrans.apply()
object.style.visibility="visible"
object.filters.revealTrans.play()}}
function hidemenu(object){
object.style.visibility="hidden"}
Catedra.js
var x,y
var step=20
var flag=0
var message="TI"
message=message.split("")
var xpos=new Array()
for (i=0;i<=message.length-1;i++) {
xpos[i]=-50}
var ypos=new Array()
for (i=0;i<=message.length-1;i++) {
ypos[i]=-50}
function handlerMM(e){
x = (document.layers) ? e.pageX : event.clientX
y = (document.layers) ? e.pageY : event.clientY
flag=1}
function textfollow() {
if (flag==1 && document.all) {
for (i=message.length-1; i>=1; i--) {
xpos[i]=xpos[i-1]+step
ypos[i]=ypos[i-1]}
xpos[0]=x+step
ypos[0]=y
for (i=0; i<message.length-1; i++) {
var thisspan = eval("document.all.span"+(i)+".style")
91UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
thisspan.posLeft=xpos[i]
thisspan.posTop=ypos[i]}}
if (flag==1 && document.layers) {
for (i=message.length-1; i>=1; i--) {
xpos[i]=xpos[i-1]+step
ypos[i]=ypos[i-1]}
xpos[0]=x+step
ypos[0]=y
for (i=0; i<message.length-1; i++) {
var thisspan = eval("document.span"+i)
thisspan.left=xpos[i]
thisspan.top=ypos[i]}}
var timer=setTimeout("textfollow()",10)}
Capture.js
for (i=0;i<=message.length-1;i++) {
document.write("<span id='span"+i+"' class='spanstyle'>")
document.write(message[i])
document.write("</span>")}
if (document.layers){
document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove = handlerMM;
a_href.css
<style>
BODY{}
a { color:0000FF;
text-decoration:none;
font-size:12pt;
font-weight:bold;
font-family:Verdana }
a:visited { color:0000FF }
a:hover { color:000000;
text-decoration:underline }
.spanstyle {position:absolute;
visibility:visible;
top:-50px;
font-size:8pt;
font-family:verdana;
color:FF00FF}
</style>
92UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
style.css
<style>
#home{position:absolute;
left:215px; top:0px; }
#despre_noi{ filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide background-color:#FFFF00;
width:100;
position:absolute;}
#servicii{ filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:150;
position:asolute; }
#informatii{ filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:120;
position:absolute; }
#contactatine{
filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:120;
position:absolute; }
#alegeti_limba{filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:150;
position:absolute; }
#despre_noi_1{
position:absolute;
left:240px;
top:0px;}
#servicii_1{position:absolute;
left:360px;
top:0px;}
#informatii_1{position:absolute;
left:440px;
top:0px;}
93UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
#contactatine_1{
position:absolute;
left:485px;
top:0px;
width:200;}
#alegeti_limba_1{position:absolute;
left:590px;
top:0px;
width:200;}
</style>
Home_rus.htm
<html>
<head>
<meta http-equiv="Page-Enter" content="revealTrans(Duration=1.0,Transition=23)">
<meta http-equiv="Page-Exit" content="revealTrans(Duration=1.0,Transition=23)">
<title>Перевозчиков
</title>
<link rel=stylesheet href="Css/a_href.css" type=text/css>
<link rel=stylesheet href="Css/style_rus.css" type=text/css>
<script language="JavaScript" src="Js/Flag.js"></script> </head>
<body topmargin="0" leftmargin="0" background="Picture/back42.jpg" onLoad="textfollow()">
<script language="JavaScript1.2" src="Js/capture.js"></script>
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="100%">
<tr> <td width="172" height="20" valign="top">
<MARQUEE hspace=1 scrollAmount=2 scrollDelay=1 width=170 height="19">
</MARQUEE></td>
<td width="59" height="20" valign="top" bgcolor="#FFFF00" bordercolor="#FFFF00">
<span id="home" onMouseOver="hidemenu(despre_noi)" >
<a href="#"> Home| </a> </span> </td>
<td width="547" height="20" bgcolor="#FFFF00" valign="top">
<span id="despre_noi_1" onMouseOver="dropit2(despre_noi);hidemenu(servicii)" >
<a href="#" > О нас| </a> </span>
<span id="servicii_1" onMouseOver="dropit2(servicii);hidemenu(despre_noi);hidemenu(informatii)">
<a href="#"> Услуги| </a>
</span>
<span id="informatii_1" onMouseOver="dropit2(informatii);hidemenu(servicii);hidemenu(contactatine)">
<a href="#">
Информация| </a> </span> <span
id="contactatine_1" onMouseOver="dropit2(contactatine);hidemenu(informatii);hidemenu(alegeti_limba)"> <a
href="#"> Контакт|
94UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
</a> </span>
<span id="alegeti_limba_1" onMouseOver="dropit2(alegeti_limba);hidemenu(contactatine)">
<a href="#">Выберите </a> </span>
<script languaje="javascript1.2" src="Js/menu.js"></script>
</td></tr><tr>
<td width="233" height="152" colspan="2" valign="middle">
<p align="center">
<a href="Home_rus.htm">
<img border="0" src="Picture/Cipti_Finall.gif" width="225" height="150">
</a> </p> </td>
<td width="547" height="648" rowspan="4" valign="top">
<p align="center"> <br> <p align="center"> <br>
<img border="0" src="Picture/Harta.gif" width="243" height="333">
<div id="despre_noi" style="visibility:hidden;" onmouseout="hidemenu(despre_noi)">
<a href="Istoria_rus.htm"
onmouseover="dropit1(despre_noi)">История</a><br>
<a href="Misiune_rus.htm"onmouseover="dropit1(despre_noi)">Ми</a><br></div>
<div id="servicii" style="visibility:hidden;" onmouseout="hidemenu(servicii)">
<a href="Teli_rus.htm" onmouseover="dropit1(servicii)">Цель CIPTI</a><br>
<a href="Programa_rus.htm"
onmouseover="dropit1(servicii)">Программы
обучения</a><br>
</div>
<div id="informatii" style="visibility:hidden;" onmouseout="hidemenu(informatii)">
<a href="Novie_cursi_rus.htm" onmouseover="dropit1(informatii)">Новые
курсы</a><br>
<a href="Examen_rus.htm"
onmouseover="dropit1(informatii)">Экзаменац&#
1080;онная<BR>
система</a><br>
</div>
<div id="contactatine" style="visibility:hidden;" onmouseout="hidemenu(contactatine)">
<a href="Adresa_rus.htm" onmouseover="dropit1(contactatine)">Адрес</a><br>
<a href="#" onmouseover="dropit1(contactatine)">Web Адрес</a><br>
</div>
<div id="alegeti_limba" style="visibility:hidden;" onmouseout="hidemenu(alegeti_limba)">
<a href="Home_rom.htm"
onmouseover="dropit1(alegeti_limba)">Румынский
;</a><br>
95UTM.2152.01.259.ME
Coala
Mod Coala N Document Semnat. Data
<a href="Home_eng.htm"
onmouseover="dropit1(alegeti_limba)">Английски
;й</a><br>
</div></td></tr><tr>
<td width="233" height="103" colspan="2" valign="middle">
<p align="center">
<a href="http://www.iru.org">
<img border="0" src="Picture/IRU.gif" width="233" height="87"</a> </p> </td>
</tr><tr>
<td width="233" height="112" valign="middle" colspan="2">
<p align="center">
<a href="http://www.mdlnet.aita.md">
<img border="0" src="Picture/aita.gif" width="233" height="87"></a> </p> </td>
</tr><tr>
<td width="233" height="281" valign="middle" colspan="2"> </td></tr>
</table>
</body>
</html>
96UTM.2152.01.259.ME