www.amazon.com/shops/thebrotherbook . Această carte grupează o seamă de cugetări de viață creștină abordând subiecte diverse: Isus Hristos–mântuitorul făgăduit, puterea Cuvântului Evangheliei, drag...
Descripción: word work
Cambridge reader
Ebook deepwebDescrição completa
a tangled web.Descripción completa
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.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
7
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ă.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
8
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
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
9
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).
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
10
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 Clientul
Serverul
Programul vizionării WWW
HTML – documentul, care realizează interfaţa cu utilizatorul (forma)
Structuri interioare
modulul CGI
CGI
Serverul WWW
baze de date
Fig.1.1 Două părţi a interfeţei interactive 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: 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.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
11
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
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
12
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.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
13
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 BernersLee declară că HTML 4.0 n-a fost conceput pentru navigatoare ci pentru aplicaţii viitoare şi produse Web.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
14
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
15
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ă: ... ... Conform specificaţiei HTML 3.2 pentru a fi identificat ca document SGML un fişier HTML trebuie precedat şi de linia: , <script>, , în cadrul definirii corpului paginii Web (secţiunea ...), pentru fiecare tag în parte:
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
21
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 î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);
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
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
22
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
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
23
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
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
24
Î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ă pentru a specifica un tag de început si pentru un tăg de sfârşit, unde element este numele unui element oarecare. Exemplu:
Cum zice si fratele nostru Che Guevara în însemnările sale ce acuma cetesc la opait: Pantofarul musai pantofi sa facă, iar revoluţionarul, revoluţii
(Mircea Cartarescu – “Levantul”) unde
si 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
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
25
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: ... ... ... ... ... La fel, am putea defini acelaşi lucru pentru un limbaj de programare: ... ... ... ... ...... ...
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
26
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 ar putea fi înlocuit de program identificator,
iar în C de void main(void). ar fi begin în varianta Pascal şi {
în C, iar 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:
- 0 (#PCDATA)>
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).
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
27
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), (replaceable character data), SDATA (specific data), NDATA (non-SGML data), EMPTY (no
RCDATA
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!
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
28
Observaţii •
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: (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ă: 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:
- - (#PCDATA)> - - (titlu?,
((vardecl?|constdecl?|procdecl?),corp)> În acest caz, corp ar trebui declarat astfel:
- - (#PCDATA)>
- - (instructiune*) -
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
29
(vardecl|constdecl)> Corpul poate conţine mai multe instrucţiuni (posibil nici una), dar nu poate include declaraţii de variabile sau de constante.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
30
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).
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
31
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ă.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
32
1.8.2 Format Formatul unui document XML este similar celui SGML. Iată un exemplu: Hello, world!Stop the planet, I want to get off... Diferenţa faţă de SGML şi HTML este că în cazul XML contează modul de scriere a tagurilor cu caractere mici sau mari (exact ca la limbajul C): va fi diferit de sau . 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.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
33
1.8.4 Deosebiri esenţiale faţă de SGML •
Orice document XML trebuie să înceapă cu meta-elementul .
•
Î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ă:
. Numele de elemente şi de atribute sunt case-sensitive ( este diferit de
•
sau de ). În XML pot fi specificate anumite instrucţiuni de procesare (processing instructions)
•
de forma . 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”. 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:
What colour is it?
What color is it?
Il n'y a que de vivre; on voit tout et le contraire de tout.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
34
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: Textul Adnotari Alte adnotări Observaţii critice
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
35
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). 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ă.
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
36
Î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). 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ă
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
37
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 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...
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”>
UTM.2152.01.259.ME Mod Coala N Document
Semnat. Data
Coala
38
// --> 1.9.3 Specificarea fişierului cu comenzi JavaScript Putem specifica fişierul de inclus prin intermediul atributului src al tagului <SCRIPT>. De exemplu: <SCRIPT src=”fişier.js”> ... Acest procedeu este util mai ales când folosim aceleaşi funcţii în mai multe pagini. Liniile de comenzi introduse între <SCRIPT> şi 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.: unde, barWidth este o variabilă JavaScript şi reprezintă lăţimea liniei orizontale în procente. Tagul