Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuţii   




Cartea de oaspeţi   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


IPRO - PC Magazine Romania, Aprilie 2003
SOLUŢII PENTRU PROGRAMATORII ŞI DESIGNERII WEB

XML în Flash

Ioan Alexandru Lazăr

Dacă vă mai aduceţi aminte de Flash 4, ştiţi şi faptul că era destul de rudimentar. Practic, tot ceea ce designerii web făceau cu Flash erau animaţiile. Odată cu Flash 5 însă, lucrurile s-au schimbat. Asta în primul rând pentru că ActionScript a devenit un limbaj robust, cu reguli clare, apropiat întrucâtva de Java.

Însă, pe lângă formidabila dezvoltare a limbajului ActionScript, utilizatorii Flash 5 au văzut un lucru interesant: Flash 5 includea un parser XML. Flash MX este capabil să folosească XML, şi asta va scuti pe mulţi de efortul necesar pentru programele care includ zeci şi zeci de variabile şi perechi constantă-valoare. Mai ales că în Flash MX obiectul XML a devenit nativ.

XML Şi HTML
XML este prescurtarea (şi eu m-am săturat de prescurtări ) de la eXtended Markup Language. La fel ca şi HTML, este bazat pe "etichete" (tag-uri), dar are o deosebire esenţială faţă de predecesorul său. HTML descrie felul în care informaţia este afişată de browser. XML descrie informaţia. De exemplu, atunci când scriu <p>Alex</p>, eu doar afişez textul "Alex". Cu totul altceva este dacă spun <nume>Alex</nume>. Aici se înţelege clar că eu prezint o informaţie (nume) şi nu scriu pur şi simplu un text. Informaţia devine şi mai specifică dacă spun <numele_meu>Alex</numele_meu>. Acum, cine citeşte fişierul XML, ştie că e vorba de numele meu, că mă cheamă Alex. În felul acesta, am spus în mod clar că mă cheamă Alex. Mai mult nu pot spune, poate doar <numele_lui_Alex>, dar nu mai are sens. Clar până aici? Mai uitaţi-vă puţin pe ierarhie:

< nume_întreg>
<prenume >Alex</prenume>
<nume>Lazăr</nume>
< /nume_întreg>

V-aţi dat seama că elementul <nume_întreg>, reprezentând numele meu "din buletin" este format din <nume > şi <prenume> care se numesc noduri.

XML şi Flash
Am spus în articolul despre SVG că se pot realiza grafice actualizate în timp real. La asta foloseşte XML unui designer care foloseşte Flash: este o metodă dinamică de a aduce date. În loc să se actualizeze şi să se exporte fişierul .fla (ceea ce durează mult, şi este imposibil de realizat cu un script Perl sau CFML), se modifică fişierul XML, iar datele sunt transmise filmului Flash, ceea ce este mult mai rapid şi mai eficient.

XML prezintă o mulţime de avantaje. În primul rând, este text ASCII. Puteţi folosi orice editor de text pentru a scrie fişiere XML, chiar şi Notepad din Windows. XML nu depinde de platformă. Dată fiind înrudirea cu HTML, oricine a lucrat vreodată în acest limbaj se va descurca în XML. Spun asta pentru că XML are o singură etichetă de care e nevoie şi anume <?xml version="1.0"?>. Dacă vreţi să vedeţi cum arată un fişier XML, găsiţi un exemplu pe CD, în secţiunea IPRO şi pe sit la adresa www.pcmagazine.ro/ipro.

Cum se programează
Primul lucru de care veţi avea nevoie când veţi folosi un fişier XML în Flash este să creaţi un obiect XML (nu mă voi referi la obiectele de tip soclu XML, poate în alt număr). Pentru asta, se foloseşte instrucţiunea obiect = new XML(), care creează o instanţă a obiectului de tip XML. E bine să spuneţi parserului să ignore caracterele cum ar fi cele de sfârşit de linie (line break, caractere invizibile inserate când apăsaţi Enter). Aşa că: obiect.ignoreWhite = true. Acum, avem nevoie de o sursă, de date care să fie trecute prin parser. Metoda XML.ParseSource(sursa) se ocupă de asta, (sursa) reprezentând calea spre fişierul XML care trebuie trecut prin parser.

Obiectul XML are două două funcţii pentru evenimente (event-handlere): onData şi onLoad. Funcţia OnData este folositoare atunci când vreţi să fiţi sigur că aţi scăpat de erori, căci corespunde momentului în care fişierul XML a fost încărcat, dar datele nu au trecut prin parser. OnLoad corespunde momentului în care fişierul XML a fost încărcat, iar datele au trecut prin parser. Şi pentru fişiere XML se pot realiza preloadere folosind metodele XML. GetBytesLoaded (întoarce numărul de bytes încărcaţi) şi XML.GetBytesTotal (întoarce numărul total de bytes). În fine, voi mai vorbi despre metoda XML.hasChildrenNodes, care întoarce true dacă un element (ex <nume_întreg>) are noduri-copii (ex <nume_de_botez), şi false dacă nu.

Deocamdată, acestea vă sunt suficiente, şi puteţi chiar experimenta câte ceva dacă vă uitaţi pe documentaţia ActionScript. Informaţii despre XML puteţi găsi la: www. xml.com şi www.w3.org/XML/, situri oficiale şi cu un conţinut valoros. Uitaţi-vă peste ele, pentru că în curând XML va deveni un standard şi pentru Flash. Mult succes!


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro