În ce scopuri este folosit formatul xml? Utilizarea XML în Flash. Cum se deschide formatul XML standard

XML (Extensible Markup Language) a fost dezvoltat de grupul de lucru XML al World Wide Web Consortium (W3C). Iată cum îl descriu creatorii săi:

„Extensible Markup Language (XML) este o componentă a SGML... Este conceput pentru a face SGML mai ușor de utilizat pe Web și pentru a efectua sarcini care sunt realizate în prezent folosind HTML. XML este conceput pentru a îmbunătăți utilizarea și interoperabilitatea SGML și HTML.”

Acesta este un extras din specificația XML versiunea 1.0, creată de XML Working Group în februarie 1998. Întregul document poate fi găsit pe site-ul web W3C la http://www.w3.org/TR/REC/-xml.

XML este un limbaj de marcare conceput special pentru plasarea informațiilor pe World Wide Web, similar cu limbajul de marcare hipertext HTML (Hypertext Markup Language), care a devenit inițial limbajul standard pentru crearea paginilor Web. Întrucât HTML ne satisface complet toate nevoile, se pune întrebarea: de ce a fost nevoie de un limbaj complet nou pentru Web? Care sunt avantajele și avantajele sale? Cum interacționează cu HTML? Va înlocui HTML sau pur și simplu îl va îmbunătăți? În cele din urmă, ce este SGML, din care XML face parte și de ce SGML în sine nu poate fi folosit pentru pagini web? În acest capitol voi încerca să răspund la toate aceste întrebări.

Scopul XML

Limbajul HTML oferă un set fix de elemente pe care le puteți utiliza pentru a plasa componente pe o pagină Web tipică. Exemple de astfel de elemente includ titluri, paragrafe, liste, imagini și link-uri

crearea unei pagini de pornire personale. Mai jos este descrierea paginii de start în coduri HTML:

Pagina principala

Pagina de pornire a lui Michael Young

Bun venit pe site-ul meu!

Conținutul site-ului web

Vă rugăm să alegeți unul dintre următoarele subiecte:

  • Scris
  • Familie
  • Galerie foto

Alte site-uri web interesante

Faceți clic pe una dintre următoarele pentru a explora un alt site Web:

  • „1. XML ar trebui să devină limbajul de utilizare directă pe Internet”.

    După cum probabil ați ghicit, XML a fost conceput în primul rând pentru stocarea și distribuirea informațiilor pe Web.

    „2. XML va suporta un număr mare de aplicații.”

    Deși scopul său principal este de a distribui informații pe Web prin servere și programe de browser, XML este, de asemenea, conceput pentru a fi utilizat de alte programe. De exemplu, XML este folosit pentru a face schimb de informații între programele financiare, pentru a distribui și actualiza produse software și pentru a scrie scripturi vocale atunci când furnizați informații prin telefon.

    „3.XML va fi compatibil cu SGML.”

    XML este o ramură specializată a SGML. Avantajul aici este că software-ul SGML poate fi ușor adaptat pentru a funcționa cu HTML.

    „4. Va fi mai ușor să scrieți programe care procesează documente XML.”

    Pentru a utiliza în practică XML, este necesar să fie destul de ușor să scrieți browsere și alte programe care procesează documente XML. De fapt, principalul motiv pentru separarea XML de SGML a fost ușurința de a scrie programe pentru procesarea documentelor XML.

    „5. Numărul de funcții suplimentare în XML ar trebui să fie minim și, în mod ideal, zero.”

    Numărul minim de funcții suplimentare din XML facilitează scrierea de programe pentru procesarea documentelor XML. Abundența de funcții suplimentare de plug-in în SGML a fost principalul motiv care a determinat inadecvarea sa practică pentru reprezentarea documentelor Web. Funcțiile SGML suplimentare necesită caractere delimitare suprascrise pentru etichete (de obicei ) și săriți peste eticheta de capăt, astfel încât procesorul să detecteze capătul elementului. Atunci când scrieți strict un program de procesare a documentelor SGML, este necesar să luați în considerare posibilitatea tuturor funcțiilor suplimentare, chiar dacă acestea sunt rare.

    „6. Documentele XML ar trebui să fie clare și ușor de înțeles pentru utilizator.”

    XML este destinat să devină lingua franca (limba universală) pentru schimbul de informații între utilizatori și programe din întreaga lume. Conform acestui concept, utilizatorii, precum și programele specializate, ar trebui să poată crea și citi documente XML. Accesibilitatea și transparența pentru utilizator disting XML de majoritatea celorlalte formate utilizate în construirea bazelor de date și a documentelor text.

    Utilizatorul poate citi cu ușurință documentul XML deoarece este descris în text simplu și are o structură arborescentă ierarhică logică. Puteți simplifica documentele XML atribuind nume semnificative elementelor, atributelor și obiectelor și adăugând comentarii utile. (Acest lucru va fi discutat mai târziu în acest capitol.)

    „7. Dezvoltarea XML ar trebui să fie finalizată destul de repede.”

    XML va deveni un standard larg acceptat doar dacă programatorii și utilizatorii îl acceptă. Acest standard trebuie creat înainte ca societatea să accepte standardele alternative care sunt tot mai des create de companiile de software.

    „8. XML ar trebui să fie formal și concis.”

    Specificația XML este scrisă într-un limbaj formal folosit pentru a reprezenta limbaje informatice, cu o notație cunoscută sub numele de Extended Backus-Naur Form (EBNF). Acest limbaj formal, deși destul de greu de înțeles, este lipsit de ambiguitate și facilitează foarte mult scrierea documentelor XML, și în special a programelor de procesare a acestora.

    „9. Documentele XML vor fi mai ușor de creat.”

    Utilizarea practică a XML ca limbaj de marcare pentru documentele Web simplifică nu numai scrierea programelor de procesare, ci și procesul de creare a documentelor XML în sine.

    „10. Forma comprimată nu este importantă în marcajul XML.”

    În conformitate cu punctul 6 (documentul XML trebuie să fie clar și ușor de înțeles pentru utilizator), marcajul XML nu trebuie să fie prea comprimat pentru a nu intra în conflict cu scopul specificat.

    Aplicații XML standard

    Puteți utiliza XML pentru mai mult decât pentru a descrie un singur document. Un individ, o companie sau un comitet de standarde poate defini setul necesar de elemente XML și structura documentului pentru a fi utilizate pentru o anumită clasă de documente. Un astfel de set de elemente și o descriere a structurii documentului se numește aplicație XML sau dicționar XML.

    De exemplu, o organizație poate defini o aplicație XML pentru a crea documente care descriu structuri moleculare, resurse umane, prezentări multimedia sau care conțin grafică vectorială. La sfârșitul capitolului este o listă a unor aplicații XML comune care au fost deja create și aplicații care sunt planificate să fie create.

    O aplicație XML este definită de obicei prin crearea unui descriptor de tip de document (DTD), care este o componentă validă a documentului XML. Un DTD este construit pe o schemă de bază de date: stabilește și definește numele elementelor care pot fi utilizate într-un document, ordinea în care pot apărea elementele, atributele elementelor care pot fi utilizate și alte caracteristici ale documentului. Pentru a utiliza efectiv o aplicație XML, de obicei includeți DTD-ul acesteia în documentul dvs. XML; A avea un DTD într-un document limitează elementele și structurile pe care le veți utiliza pentru a vă asigura că documentul dvs. îndeplinește standardele aplicației respective. Definițiile documentelor XML discutate mai devreme în acest capitol nu au inclus DTD-uri. Veți învăța cum să definiți și să utilizați DTD-uri în Capitolul 5.

    Avantajele utilizării aplicațiilor XML standard atunci când dezvoltați documentele sunt că puteți partaja documentele cu toți ceilalți utilizatori ai aplicației, iar documentul poate fi procesat și afișat folosind software-ul care a fost deja creat pentru aplicație.

    Aplicații XML care îmbunătățesc calitatea documentelor XML

    Pe lângă aplicațiile XML pentru descrierea unor clase de documente specifice, există mai multe aplicații XML pe care le puteți utiliza în orice tip de document XML. Aceste aplicații facilitează crearea documentelor și îmbunătățesc calitatea acestuia. Mai jos sunt exemple de astfel de aplicații.

    • Extensible Stylesheet Language (XSL) vă permite să creați foi de stil puternice folosind sintaxa XML.
    • Schema XML vă permite să dezvoltați scheme detaliate pentru documentele dvs. XML folosind sintaxa XML standard, o alternativă mai puternică la utilizarea DTD-urilor.
    • XML Linking Language (XLink) vă oferă posibilitatea de a vă conecta documentele XML. Acceptă link-uri de destinație multiple și alte caracteristici utile, oferind o mai mare libertate decât mecanismul de legare HTML.
    • XML Pointer Language (XPointer) vă permite să definiți legături țintă flexibile. Când XPointer și XLink sunt utilizate împreună, puteți să vă conectați la oriunde în documentul țintă - nu doar săriți la anumite puncte.

    XLS va fi tratat în Capitolul 10. Alte aplicații XML nu sunt încă mature și nu sunt tratate în această carte. (XLink și XPointer nu sunt acceptate în Internet Explorer 5).

    După cum puteți vedea, XML nu este doar un instrument util pentru descrierea documentelor, dar servește și ca bază pentru construirea de aplicații și extensii care pot fi solicitate pe măsură ce Internetul evoluează.

    Utilizarea reală a XML

    Deși conceptul de XML este destul de interesant, s-ar putea să vă întrebați cum să îl puneți în practică. Această secțiune oferă o listă de exemple de astfel de aplicații ale XML, atât deja utilizate pe scară largă, cât și cele în viitor. Dacă există aplicații XML corespunzătoare pentru utilizare practică, acestea vor fi enumerate în paranteze. De exemplu, puteți descoperi că aplicația MathML XML vă va permite să formatați formule matematice.

    Legătură. O listă mai completă a aplicațiilor XML actuale și viitoare, inclusiv descrieri detaliate, poate fi găsită pe pagina Web Oasis SGML/XML (http://www.oasis-open.arg/cover/ocml.htmW applications).

    • Lucrul cu baze de date. La fel ca bazele de date tradiționale, XML poate fi utilizat pentru a atribui o etichetă fiecărui câmp de informații din fiecare înregistrare a bazei de date. (De exemplu, puteți eticheta fiecare nume, adresă și număr de telefon dintr-o intrare din listă de adrese.) Apoi puteți afișa datele într-o varietate de moduri și puteți căuta, sorta, filtra și manipula în alt mod datele.
    • Documente de structurare. Structura ierarhică a documentelor XML este ideală pentru marcarea structurii documentelor, cum ar fi romane, lucrări științifice și piese de teatru. De exemplu, puteți utiliza XML pentru a marca o piesă în acte, scene, personaje, intrigă, decor, etc. Marcarea XML permite programelor să afișeze sau să imprime documentul în formatul necesar; găsiți, extrageți sau manipulați informații dintr-un document; generați cuprinsuri, rezumate și adnotări; procesează informații în alte moduri.
    • Lucrul cu grafica vectoriala (VML - Vector Markup Language).
    • Prezentări multimedia (SMIL - Synchronized Multimedia Integration Language, HTML + TIME - HTML Timed Interactive Multimedia Extensions).
    • Descrierea canalelor. Canalele sunt pagini Web care sunt trimise automat abonaților. (CDF - Channel Definition Format).
    • Descrierea pachetelor software și a relațiilor lor. Astfel de descrieri asigură distribuția și actualizarea produselor software în rețea (OSD - Open Software Description).
    • Comunicarea aplicației pe Web folosind co-comunicații XML. Aceste mesaje sunt independente de sistemele de operare, modele de obiecte și limbaje informatice (SOAP - Simple Object Access Protocol).
    • Trimiterea de cărți de vizită electronice prin e-mail.
    • Schimb de informații financiare. Schimbul de informații se face într-un format deschis și ușor de înțeles între programele financiare (cum ar fi Quicken și Microsoft Money) și instituțiile financiare (bănci, fonduri publice) (OFX - Open Financial Exchange).
    • Creați, gestionați și utilizați formulare digitale complexe pentru tranzacții comerciale pe internet. Astfel de formulare pot include semnături digitizate care le fac recunoscute legal (XFDL - Extensible Forms Description Language).
    • Schimb de cereri de locuri de muncă și CV-uri (HRMML - Human Resource Management Markup Language).
    • Formatarea formulelor matematice și a informațiilor științifice în
    • Web (MathML - Mathematical Markup Language).
    • Descrierea structurilor moleculare (CML - Chemical Markup Language).
    • Codificarea și afișarea informațiilor despre ADN, ARN și lanțuri (BSML - Bioinformatic Sequence Markup Language).
    • Codarea datelor genealogice (GeDML - Genealogical Data Markup Language).
    • Schimb de date astronomice (AML - Astronomical Markup Language).
    • Crearea de partituri muzicale (MusicML -Music Markup Language).
    • Lucrul cu scripturi vocale pentru a furniza informații prin telefon. Scripturile vocale pot fi utilizate, de exemplu, pentru a genera mesaje vocale, declarații de stoc și prognoze meteo (VoxML).
    • Prelucrarea și livrarea informațiilor prin servicii de curierat. Federal Express, de exemplu, folosește deja XML în acest scop.
    • Prezentarea reclamei in presa in format digital (AdMarkup).
    • Completarea documentelor legale și schimbul electronic de informații juridice (XCL - XML ​​​​Court Interface).
    • Codificarea prognozelor meteo (OMF - Weather Observation Markup Format).
    • Schimb de informații privind tranzacțiile imobiliare (RETS - Real Estate Transaction Standard).
    • Schimb de informații privind asigurarea.
    • Schimbați știri și informații folosind standarde web deschise (XMLNews).
    • Prezentarea informațiilor religioase și marcarea textelor liturgice (ThML - Theological Markup Language, LitML - Liturgical Markup Language).

    Limbajul XML a atras deja destul de multă atenție din partea dezvoltatorilor și a utilizatorilor de internet. Astăzi, numărul aderenților acestei noi tehnologii crește la fel de rapid ca și numărul de rapoarte despre următoarele obstacole pe care le-a depășit pe calea recunoașterii universale. În ciuda faptului că XML este foarte tânăr (organizația internațională W3C a aprobat specificația „Extensible Markup Language (XML) 1.0” cu puțin mai puțin de un an în urmă - la începutul lunii februarie 1998) și componentele individuale ale acestui limbaj sunt încă în curs de finalizare, noi Astăzi apar deja limbi, create pe baza XML, apar numeroase servere Web care folosesc această tehnologie pentru a organiza informațiile stocate pe ele. Lumea internetului din jurul nostru se transformă din nou și astăzi putem deveni participanți la acest proces

    Scopul acestui articol este să încerce să arate unele dintre capacitățile XML folosind exemple specifice și să răspundă la o serie de întrebări care apar adesea atunci când cunoaștem o nouă limbă. Ce este XML? Care sunt avantajele acestuia față de limbajul HTML cu care suntem deja familiarizați? Puteți utiliza XML pe paginile dvs. Web astăzi? Și dacă se poate, atunci cum?

    La sfârșitul articolului există link-uri către alte resurse de pe Internet, cu ajutorul cărora puteți obține și informații mai complete despre probleme specifice de interes pentru dvs. legate de utilizarea XML și care nu sunt acoperite de noi în acest articol. Specificațiile complete pentru XML și limbile aferente sunt disponibile pe pagina oficială W3C -

    De ce avem nevoie de un nou limbaj de marcare?

    Mult mai simplu și mai convenabil decât SGML, limbajul HTML vă permite să determinați designul elementelor documentului și are un anumit set limitat de instrucțiuni - etichete, cu ajutorul cărora se realizează procesul de marcare. Instrucțiunile HTML sunt destinate în primul rând să controleze procesul de afișare a conținutului unui document pe ecranul unui program client și, prin urmare, să determine modul în care este prezentat documentul, dar nu structura acestuia. Elementul unei baze de date hipertext, descris de HTML, este un fișier text care poate fi transmis cu ușurință în rețea folosind protocolul HTTP. Această caracteristică, precum și faptul că HTML este un standard deschis și un număr mare de utilizatori au posibilitatea de a folosi capacitățile acestui limbaj pentru a-și proiecta documentele, au influențat cu siguranță creșterea popularității HTML și l-au făcut astăzi principalul mecanism de prezentare a informațiilor pe Web

    Cu toate acestea, aplicațiile moderne necesită nu doar un limbaj pentru prezentarea datelor pe ecranul clientului, ci și un mecanism care vă permite să determinați structura documentului și să descrieți elementele pe care le conține. HTML are un set simplu de comenzi și face față cu succes sarcinii de a descrie informațiile text și de a le afișa pe ecranul unui vizualizator de browser. Cu toate acestea, datele afișate în sine nu au nicio legătură cu etichetele care sunt folosite pentru formatare, așa că programele de analiză nu au capacitatea de a folosi etichete HTML pentru a găsi fragmentele de document de care avem nevoie. Acestea. după ce am întâlnit, de exemplu, o astfel de descriere

    Trandafir,

    privitorul va ști ce culoare să afișeze textul conținut în etichete și probabil îl va afișa corect, dar este absolut indiferent unde în document se găsește această etichetă, în ce alte etichete este închis fragmentul curent, dacă există fragmente imbricate în el sau dacă relațiile dintre obiecte sunt construite corect. Această „indiferență” față de structura unui document duce la faptul că căutarea sau analizarea informațiilor din interiorul acestuia nu va fi diferită de lucrul cu un fișier text continuu care nu este împărțit în elemente. Și acesta, după cum știți, nu este cel mai eficient mod de a lucra cu informații.

    Un alt dezavantaj semnificativ al HTML este setul limitat de etichete. Regulile DTD pentru HTML definesc un set fix de descriptori și, prin urmare, dezvoltatorul nu are posibilitatea de a introduce propriile etichete speciale. Deși din când în când apar noi extensii de limbaj (azi cea mai recentă versiune de HTML este HTML 4.0), drumul lung către standardizarea acestora, însoțit de neînțelegeri constante între principalii producători de browsere, face aproape imposibilă adaptarea rapidă a limbajului, a utilizării acestuia. pentru afișarea informațiilor specializate (de exemplu, formule multimedia, matematice, chimice etc.).

    Pentru a rezuma tot ceea ce s-a spus, se poate argumenta că HTML astăzi nu satisface pe deplin cerințele impuse de dezvoltatorii moderni pentru limbaje de acest fel. Și a fost înlocuit cu un nou limbaj de marcare hipertext, un limbaj XML puternic, flexibil și, în același timp, convenabil. Care sunt avantajele sale?

    XML ( Limbajul de marcare extensibil) este un limbaj de marcare care descrie o întreagă clasă de obiecte de date numite documente XML. Acest limbaj este folosit ca mijloc de a descrie gramatica altor limbi și de a controla corectitudinea documentelor. Acestea. XML în sine nu conține nicio etichetă de markup, pur și simplu definește ordinea în care sunt create. Astfel, dacă, de exemplu, considerăm că desemnează un element Trandafir documentul trebuie să utilizeze o etichetă ;, apoi XML ne permite să folosim liber eticheta pe care o definim și putem include fragmente precum următoarele în document:

    Trandafir

    Setul de etichete poate fi extins cu ușurință. Dacă, să presupunem, vrem să indicăm și că descrierea florii ar trebui să intre în mod semnificativ în descrierea serei în care înflorește, atunci pur și simplu setăm noi etichete și alegem ordinea în care apar:

    Trandafir

    Dacă vrem să mai plantăm câteva flori acolo, trebuie să facem următoarele modificări:

    Trandafir lalea cactus

    După cum puteți vedea, procesul de creare a unui document XML este foarte simplu și ne necesită doar să avem cunoștințe de bază despre HTML și o înțelegere a sarcinilor pe care dorim să le îndeplinim folosind XML ca limbaj de marcare. Acest lucru oferă dezvoltatorilor capacitatea unică de a defini comenzi personalizate care le permit să definească cel mai eficient datele conținute într-un document. Autorul documentului își creează structura, construiește conexiunile necesare între elemente, folosind acele comenzi care îi satisfac cerințele și realizează tipul de marcare de care are nevoie pentru a efectua operațiunile de vizualizare, căutare și analiză a documentului.

    Un alt avantaj evident al XML este capacitatea de a-l folosi ca limbaj de interogare universal pentru depozitele de informații. Astăzi, în profunzimea W3C, se ia în considerare o versiune de lucru a standardului XML-QL (sau XQL), care ar putea deveni în viitor un concurent serios pentru SQL. În plus, documentele XML pot acționa ca o modalitate unică de stocare a datelor, care include atât mijloacele de analizare a informațiilor, cât și de prezentare a acestora pe partea clientului. În acest domeniu, una dintre domeniile promițătoare este integrarea tehnologiilor Java și XML, ceea ce face posibilă utilizarea puterii ambelor tehnologii atunci când construiesc aplicații independente de mașină, care utilizează și un format de date universal pentru schimbul de informații.

    XML vă permite, de asemenea, să controlați corectitudinea datelor stocate în documente, să verificați relațiile ierarhice din cadrul unui document și să stabiliți un standard unificat pentru structura documentelor, al cărui conținut poate fi o varietate de date. Aceasta înseamnă că poate fi utilizat la construirea unor sisteme informatice complexe, în care problema schimbului de informații între diferite aplicații care rulează în același sistem este foarte importantă. Prin crearea unei structuri pentru un mecanism de schimb de informații chiar la începutul lucrului la un proiect, un manager se poate salva pe viitor de multe probleme asociate cu incompatibilitatea formatelor de date utilizate de diferite componente ale sistemului.

    De asemenea, unul dintre avantajele XML este că programele de procesare a documentelor XML nu sunt complicate și au apărut deja și sunt distribuite gratuit tot felul de produse software concepute să funcționeze cu documente XML. XML este acceptat astăzi în Microsoft Internet Explorer 4/0 și versiunile beta ale IE5. S-a anunțat că va fi acceptat în versiunile ulterioare ale aplicațiilor Netscape Communicator, Oracle DBMS, DB-2 și MS-Office. Toate acestea dau motive de a presupune că, cel mai probabil, în viitorul apropiat, XML va deveni principalul limbaj de schimb de informații pentru sistemele informaționale, înlocuind astfel HTML. Limbaje de marcare specializate bine-cunoscute, cum ar fi SMIL, CDF, MathML, XSL au fost deja create pe baza XML, iar lista proiectelor de lucru ale noilor limbaje luate în considerare de W3C este în continuă creștere.

    Cum arată un document XML?

    Primul Al doilea paragraful 1 Al treilea Ultimul

    Reguli pentru crearea unui document XML

    RusiaNovosibirsk</country>

    Construcții ale limbajului

    Elemente de date

    Trandafir Novosibirsk Trandafir Novosibirsk Siberia Universitatea Tehnică de Stat din Novosibirsk
    foarte bun institut Universitatea de Stat din Novosibirsk
    nici rau

    Destul de des, mulți utilizatori de sisteme informatice moderne și produse software de diferite tipuri întâlnesc fișiere cu extensia .xml. Mulți oameni pur și simplu nu au idee despre ce fel de document este acesta sau cum să-l deschidă. Acum va fi luat în considerare, în același timp, vom afla ce este și pentru ce este necesar.

    Ce este un fișier XML

    Să începem, poate, cu faptul că, din punctul de vedere al tehnologiilor informatice moderne și al programelor folosite pentru a crea documente de acest tip, este un fișier text în care sunt scrise comenzile limbajului universal extensibil de marcare, ceea ce este destul de amintește de binecunoscutul instrument de marcare HTML.

    De obicei, un fișier XML conține informații generale despre un obiect, care sunt exprimate descriptiv (mai multe despre asta mai târziu). În ceea ce privește datele stocate în astfel de containere, pot fi baze de date folosite adesea pentru cataloage video și audio pe Internet, preferințe salvate de utilizator pentru programe și aplicații, precum și pagini web întregi.

    Ca exemplu, puteți lua, să zicem, un album audio al unui artist. Fișierul XML include informații despre anul lansării, genul, numărul și numele pieselor, popularitate etc. Cu toate acestea, atunci când vizitează resurse de pe World Wide Web, navigatorul nu trebuie să se gândească la deschiderea fizică a unui astfel de fișier de informații, deoarece chiar și atunci când redați o melodie online într-un player. Toate datele vor fi afișate similar cu cele conținute în fișierele MP3 standard sub formă de etichete ID3. Informațiile sunt încărcate pe piesa care este redată.

    tip de fișier XML

    Dacă te uiți la fișier, vei observa imediat că în el proprietățile oricărui obiect sunt descrise folosind etichete și atribute care sunt setate manual.

    Nu vorbim despre comenzile de bază ale limbajului în sine, deoarece utilizatorul obișnuit nu are nevoie de astfel de informații. Singurul lucru care poate fi remarcat este că nu există un număr specific de elemente folosite pentru a descrie un obiect în acest format: este specificat de câte sunt necesare.

    Cum se deschide formatul XML standard

    Acum să vedem cum să deschidem un fișier XML. După cum probabil mulți au înțeles deja, acesta este un fișier text, ceea ce înseamnă că cel mai simplu mod de a-l vizualiza sau edita este să folosești orice editor, chiar și cel mai primitiv. Da, cel puțin același „Notepad” din setul standard de Windows.

    Totuși, aici nu este totul atât de simplu. Faptul este că dublu clic pe un fișier fără a seta asocierea corespunzătoare cu niciun program nu se va deschide. În cel mai bun caz, sistemul va oferi o listă cu cele mai potrivite aplicații. Puteți selecta un program la alegere și, în același timp, puteți bifa caseta de lângă opțiunea de a utiliza constant aplicația selectată pentru toate fișierele de acest tip.

    O poți face diferit făcând clic dreapta pe fișier și apoi selectând comanda „Deschide cu...”, după care, din nou, selectează aplicația dorită fie din listă, fie specifică locația componentei executabile principale (cele mai multe adesea acesta este un fișier EXE).

    A treia modalitate de a deschide un fișier XML este să lansați inițial programul și apoi să utilizați meniul de deschidere a fișierului (în majoritatea cazurilor acesta este Ctrl + O). În acest caz, nu este absolut necesar să utilizați Notepad. Vă rog, fișierul se deschide fără probleme în aceeași aplicație Word și altele similare. Chiar și Microsoft Excel este capabil să deschidă date în acest format.

    Cu toate acestea, dacă este nevoie să editați formatul XML, atunci este mai bine să utilizați utilități profesionale care acceptă sintaxa limbajului, de exemplu, Oxygen XML Editor, XML Marker sau EditiX Lite Version. Desigur, acestea nu sunt toate utilitarele care pot funcționa cu limba fișierului la cel mai înalt nivel. Astăzi puteți găsi o mulțime de astfel de programe.

    Acum câteva cuvinte despre de ce uneori apare o eroare de fișier XML la deschidere. Cel mai adesea, acest lucru se datorează unei încălcări a integrității fișierului în sine, precum și introducerii incorecte a atributelor sau etichetelor descriptive. În plus, Excel are o limită a câte rânduri pot fi afișate, așa că în acest caz este posibil ca datele să nu fie complete atunci când sunt deschise.

    Posibile erori la deschiderea unui fișier XML ca atașament de e-mail

    Uneori pot apărea erori atunci când încercați să deschideți un fișier care este un atașament de e-mail. Cel mai adesea, acest lucru se aplică clienților de e-mail standard precum Outlook Express.

    Faptul este că atașamentul este mai întâi salvat ca date temporare (foarte des cu un .tmp suplimentar adăugat la extensia principală) și acesta este cel care este accesat.

    Pentru a evita această situație, trebuie pur și simplu să salvați inițial atașamentul în formatul său original în orice locație convenabilă de pe disc sau suport amovibil și apoi să utilizați metodele standard descrise mai sus.

    În loc de un total

    După cum puteți vedea, nu este nimic dificil să înțelegeți structura și metodele de deschidere a fișierelor cu acest format. Aici, însă, problema creării datelor XML nu a fost luată în considerare în mod fundamental, deoarece pentru a înțelege pe deplin procesul, trebuie să cunoașteți cel puțin elementele de bază ale limbajului în sine. În caz contrar, cred că utilizatorii nu vor avea dificultăți cu fișierele de acest format.

    De ce este nevoie de acest XML?

    [Recent, în legătură cu apariția acestor pagini, cele mai frecvente
    Întrebarea pentru mine s-a dovedit a fi: „Spune-mi, de ce este nevoie deloc, XML?
    HTML-ul nu este suficient pentru noi? „Neavând mult timp (sau inteligență;) să-mi pregătesc propriile publicații și, de asemenea, respectând profund clasicii, am preferat să traduc rapid un articol excelent pe tema titlului.
    - poate că acesta este primul episod al serialului „a ajuta”]

    Jon Bosak, Tim Bray
    XML și Web-ul de a doua generație
    de la Scientific American, mai 1999

    Oferă-le oamenilor câteva sfaturi și ei își vor da seama de restul singuri. Privind pagina, unde blocurile mai mari de text sunt împărțite în altele mai mici, toată lumea realizează rapid că acesta este începutul unui articol. Privind lista de cumpărături, puteți ghici rapid că acestea sunt „instrucțiuni” pentru vizitarea magazinului. Când vezi coloanele de numere, înțelegi că acesta este un cont bancar. Calculatoarele nu sunt încă atât de inteligente - toate acestea trebuie să le fie transmise exact - cu ce anume trebuie să se ocupe și ce li se cere pentru asta.

    Tocmai în acest scop - pentru a face informațiile autodescriptive - a fost inventat un nou limbaj de marcare a documentelor - Extensible Markup Language (XML). Aceste schimbări ușor de pronunțat (un document „autodescris”, o schimbare a regulilor de comunicare cu computerele) au un potențial enorm - rolul Internetului dintr-un mediu de livrare a informațiilor începe să se extindă la alte tipuri de activitate umană. Într-adevăr, de la aprobarea sa de către W3C în 1998, specificația XML a început să pătrundă peste tot ca focul - în industrie și știință, în producția de bunuri și medicamente.

    Entuziaștii au sperat că XML va oferi o oportunitate de a rezolva o serie de probleme globale ale Web-ului. Aceste probleme sunt cunoscute: în primul rând, internetul, o rețea super-rapidă, se comportă adesea mai rău decât o țestoasă; și în al doilea rând, deși aproape toate informațiile sunt disponibile pe internet, este adesea înnebunitor de greu să găsești acolo ceva necesar.

    Ambele probleme sunt cauzate în principal de natura limbajului principal al Web-ului - HTML. Și în timp ce succesul HTML față de alte limbaje de publicare electronice propuse vreodată este evident, HTML este prea rar: în esență, doar spune browserului cum să plaseze text, imagini și butoane pe o pagină. HTML se concentrează pe prezentarea informațiilor și, prin urmare, este destul de ușor de învățat, dar are un cost.

    Acest lucru se reflectă în complexitatea dezvoltării site-urilor web, cu excepția cazului în care aceste site-uri sunt menite să fie ca aparate de fax, trimițând pagini oricui solicită. Mai mult de jumătate dintre oameni și companii din întreaga lume ar prefera site-uri web care să primească comenzi de la utilizatori, să trimită diagnostice ale bolii și chiar să desfășoare operațiuni instrumentale delicate în fabrici și laboratoare științifice. Asemenea sarcini _NICIODATĂ_ au fost confruntate de HTML!.

    De exemplu, chiar dacă medicul dumneavoastră este capabil să „extragă” testele luate de pe cardul dumneavoastră medical în vizualizatorul său, este puțin probabil ca el să le poată trimite prin rețea unui alt specialist pentru a introduce răspunsul primit înapoi în el. Bază de date. Computerul lui nu știe ce să facă cu informațiile care sunt la fel de clare pentru el

    albină albină

    sau albină albină.
    Legendarul Kernighan a remarcat odată că întregul truc al principiului WYSIWYG (ceea ce văd este ceea ce primesc) este că atunci când nu vezi nimic, de obicei reușești să obții exact aceeași sumă.

    Cuvintele de mai sus care sunt incluse între paranteze unghiulare se numesc etichete. Nu există nicio etichetă de analiză în HTML și, prin urmare, celălalt dezavantaj: inflexibilitatea. Adăugarea unei noi etichete într-o limbă este o birocrație atât de birocratică, atât de lungă încât nimeni nu se va deranja cu ea. Dar ar fi bine ca fiecare program să aibă propriile etichete, nu doar cea din exemplul cu medicul.

    Acest lucru explică în mare măsură ritmul lent actual al creării de magazine online, cataloage de comandă prin poștă și alte site-uri interactive. Dacă modificați numărul de unități de comandă și metoda de expediere și vedeți o mână de numere modificate în câmpul „cantitate”, tot trebuie să cereți serverului de la distanță (deja suprasolicitat) să vă trimită înapoi o pagină completă nou generată, cu grafică. și orice altceva. În timp ce propriul tău computer puternic va rămâne inactiv pentru că tocmai a învățat ceva de genul

    Și , dar nu și prețuri cu opțiuni de livrare.

    Adăugați la aceasta calitatea slabă a capabilităților de căutare pe Web. Deoarece nu există nicio modalitate de a marca în mod specific informațiile despre preț, este absolut imposibil să căutați pagini pe web pe baza „prețului”.


    Ceva vechi, ceva nou

    În principiu, soluția este simplă: etichetele trebuie să indice ce fel de informații sunt, și nu cum ar trebui să arate. De exemplu, marcați componentele unei comenzi pentru o cămașă cu etichetele „preț, mărime, cantitate, culoare”, în loc de „aldine, paragraf, rând, coloană”, așa cum se sugerează în HTML. Atunci este mai ușor pentru program să identifice documentul ca o comandă și să facă restul muncii: afișați această comandă într-o formă sau alta, treceți-o prin sistemul de contabilitate sau asigurați-vă că noua cămașă este livrată la ușa dvs. ziua urmatoare.

    Noi, grupul de lucru W3C, am început să dezvoltăm un astfel de proiect încă din 1996. Ideea a fost puternică, deși nu în întregime originală. De generații, editorii și tipografii au marcat textele scrise de mână cu semnele de tipar. Un astfel de „limbaj de marcare” s-a dezvoltat independent până în 1986, când, în urma a zece ani de muncă, Organizația Internațională pentru Standardizare (ISO) a introdus un sistem pentru crearea de noi limbaje de marcare.

    Denumit SGML (Standard Generalized Markup Language), acest limbaj de descriere a limbajului - un metalimbaj - și-a dovedit utilitatea în multe sisteme mari de publicare. Și chiar și HTML a primit definiția prin SGML. Singura dificultate cu SGML a fost că era omnivor - existau o mulțime de lucruri inteligente acolo pentru a minimiza apăsările de taste, deoarece în acel moment fiecare octet conta. De aceea, browserele web de astăzi nu funcționează bine cu el.

    În crearea XML, grupul nostru de lucru a dezbrăcat SGML de cojile sale și a propus un metalimbaj extrem de vizat și digerabil. Baza XML este un set de reguli, ghidate de care oricine își poate crea propriul limbaj de marcare. Aceste reguli sunt alese astfel încât un singur program mic (numit și parser sau analizor de sintaxă) să poată face față recunoașterii oricărui limbaj nou. Să ne uităm din nou la exemplul unui medic care ar dori să transfere testele unui specialist. Dacă profesioniștii din domeniul medical și-ar construi propriul limbaj de marcare din XML pentru a codifica notițele medicului (un număr de grupuri lucrează la problemă de mult timp), atunci un mesaj de la un medic către colegul său ar putea conține ceva de genul


    <имя пациента>bla bla
    <аллергия на лекарство>bla bla bla

    În această setare, nu mai este dificil să scrieți un program pentru un computer arbitrar, astfel încât acesta să poată recunoaște aceste fișe medicale standardizate și să poată introduce aceste informații literalmente vitale în baza sa de date.

    Așa cum HTML a fost conceput pentru a permite oricui să citească documente de pe Internet, XML ne oferă un Esperanto pe care oricine îl poate citi și scrie, în ciuda unei babele de platforme incompatibile. Da, chiar și din punctul de vedere al unei persoane obișnuite, XML are o încărcătură semantică mai mare (spre deosebire de alte formate de date), pentru că nu există nimic în el care să arate ca un text ilizibil.

    Puterea versatilității XML vine dintr-un set minim de reguli bine alese. În primul rând, etichetele formează întotdeauna o pereche, înconjurând textul căruia sunt aplicate cu paranteze. În al doilea rând, etichetele împerecheate pot fi imbricate unele în altele ca ghilimele, permițându-vă să construiți structuri complexe pe mai multe niveluri.

    Regula de imbricare impune automat simplitatea oricărui document XML, producând o structură cunoscută în informatică ca arbore. Similar unui arbore genealogic, orice element grafic sau text al unui document este tatăl, fiul sau fratele (părinte, copil, frate) al unui alt element, iar această relație este întotdeauna unică. Desigur, arborii nu descriu întreaga varietate de structuri de date, dar acopera majoritatea cazurilor tipice de utilizare a computerului. În plus, arborii sunt extrem de convenabil pentru programatori. Nu există nicio problemă în a scrie o mică bucată de cod pentru a reordona tranzacțiile sau pentru a afișa o chitanță complet ușor de înțeles atunci când chitanța este reprezentată ca un arbore.

    A doua sursă de putere universală a XML este dependența acestuia de noul standard Unicode, un sistem de codare care permite amestecarea textului în toate limbile majore ale lumii. Dimpotrivă, în HTML, ca și în majoritatea procesoarelor de text, un document, de regulă, poate fi doar într-o singură limbă, indiferent care - engleză, japoneză sau arabă.
    Și dacă programul nu cunoaște codificarea unui anumit limbaj, puteți uita de document (în HTML). Poate fi și mai rău: de exemplu, din cauza inconsecvenței codificărilor, programele scrise în Taiwan adesea nu pot citi texte care vizează China continentală. În cazul XML, dacă programul știe să lucreze corect cu acesta, poate gestiona orice combinație de codificări. Astfel, XML nu numai că permite schimbul de date între diferite platforme informatice, dar face și posibilă depășirea barierelor naționale și culturale.


    Sfârșitul așteptării la nivel mondial

    Odată cu creșterea XML, Web-ul ar trebui să devină mult mai receptiv. Astăzi, tot ceea ce pot face dispozitivele computerizate din rețea, indiferent dacă sunt desktop-uri puternice sau organizatoare de buzunar, nu este altceva decât primirea unui formular prin „GET”, completarea acestuia, apoi trimiterea lui înainte și înapoi către serverul web în timp ce lucrul cu formularul nu va fi completat. XML ne oferă capacitatea de a transmite structura și semantica datelor în formă și, prin urmare, toate acele dispozitive pot face procesarea de bază în locul potrivit și imediat. Acest lucru nu numai că va reduce sarcina de pe servere, dar ar trebui să conducă și la o reducere semnificativă a traficului de rețea.

    Pentru a ilustra, imaginați-vă că folosiți o agenție de turism online pentru a găsi un zbor de la Londra la New York pe 4 iulie. Cel mai probabil, veți vedea o listă de câteva ori mai lungă decât poate încăpea pe ecran. Această listă poate fi scurtată prin setarea unor parametri mai precisi precum ora de plecare, prețul sau compania aeriană, dar în acest caz pur și simplu „încărcați” serverul agenției de turism cu solicitarea dumneavoastră și trebuie să așteptați un răspuns. Cu toate acestea, dacă această listă lungă de zboruri ți-ar fi furnizată în XML, atunci biroul ar putea să o însoțească cu un mic applet Java, cu ajutorul căruia le poți sorta și filtra instantaneu și ușor pe cele inutile, fără a apela la nicio interacțiune. cu serverul. Înmulțiți acest lucru cu milioane de utilizatori web, iar efectul general este impresionant.

    Cu cât mai multe informații online sunt etichetate cu etichete XML specifice industriei, cu atât va fi mai ușor să găsiți ceea ce căutați. Astăzi, o căutare pe internet pentru „locuri de muncă pentru un agent de bursă” vă va copleși cu o avalanșă de reclame, dar probabil că vor fi doar câteva dintre ele despre muncă - cea mai mare parte a muncii este ascunsă pe avizierele gratuite ale site-urilor de ziare care caută roboți. nu-mi place să lucrez cu. Și acum, Asociația Ziarelor din America își creează propriul limbaj de markup publicitar în XML, care promite să facă procesul de căutare mult mai eficient.

    Nu contează dacă este doar un pas intermediar. Bibliotecarii cunosc de mult modalități de a găsi ceva rapid - nu uitându-se la documente, ci la descrierile lor compacte, care indică doar sursele în sine. Și anume, acestea sunt cataloage cu un eșantion sub formă de legitimații de bibliotecă. Astfel de informații despre informații se numesc „metadate”.

    Prin urmare, încă de la început, un rol important în proiectul XML a fost acordat creării unui standard de metadate însoțitor. Cadrul de descriere a resurselor (RDF) din februarie ar trebui să joace același rol pe care l-au avut fișele pentru cărțile bibliotecii pentru informații pe web. Pe măsură ce metadatele RDF se răspândesc pe Web, aceasta va face căutarea mult mai rapidă și mai relevantă decât este în prezent. Nu există bibliotecari pe Web, dar fiecare webmaster dorește, de asemenea, ca site-ul său să fie ușor de găsit, așa că ne așteptăm ca RDF, odată ce oamenii își vor descoperi puterea, să aibă un impact uriaș pe Internet.

    Desigur, informațiile pot fi obținute fără a căuta. La urma urmei, Web-ul este hipertext - miliarde de pagini pline de hyperlinkuri - acele cuvinte subliniate pe care trebuie doar să faceți clic pentru a fi transportat pe altă pagină. În XML, mecanismul hyperlink este, de asemenea, mult îmbunătățit. Specificația de legătură XML, numită XLink, pe care W3C o pregătește până la sfârșitul anului, va permite utilizatorului să aleagă din mai multe destinații. Un alt tip de hyperlink vă va permite să primiți text sau o imagine direct în punctul de a face clic, permițând vizitatorului să nu părăsească pagina.

    Poate cea mai utilă parte a XLink va fi partea din specificație care permite autorilor să recurgă la link-uri indirecte, trimițând în locul paginilor în sine la un fel de bază de date rezumat. Deci, dacă autorul a schimbat adresa paginii, prin simpla editare a unei intrări într-o astfel de bază de date, este ușor să actualizezi toate linkurile care duc către pagina sa. Acest lucru vă va ajuta să scăpați de mesajele din ce în ce mai frecvente „404 File Not Found” care indică un link „întrerupt”.

    Combinația dintre o procesare mai eficientă, o căutare mai precisă și o legătură mai flexibilă va revoluționa structura Web-ului și va deschide metode complet noi de accesare a informațiilor. Pentru utilizatori, această nouă rețea va fi semnificativ mai rapidă, mai puternică și mai utilă decât rețeaua de astăzi.


    Este nevoie de cooperare

    Desigur, nu totul este atât de simplu. XML permite oricui să proiecteze un nou limbaj în felul său, dar crearea unui limbaj bun este o sarcină a cărei dificultate nu trebuie subestimată. A găsi o limbă este doar începutul: este naiv să te aștepți ca semnificațiile etichetelor tale să fie evidente pentru alți oameni până când nu oferi un manual pentru limbaj și să fii clar pentru computere până când ai scris programe care funcționează. cu etichetele limbii.

    Nu este greu de explicat de ce este așa. Dacă tot ceea ce era necesar pentru a învăța un computer să proceseze comenzile ar fi fost etichete, atunci XML nu ar fi nevoie. Nici măcar nu ar fi nevoie de programatori, deoarece computerele sunt suficient de inteligente pentru a face totul pe cont propriu.

    De ce avem nevoie de XML nu este magie, ci eficiență. XML stabilește reguli de bază care simplifică detaliile programării într-un singur strat - astfel încât oamenii cu interese similare să se poată concentra pe cealaltă nucă greu de spart - acorduri despre exact modul în care doresc să formateze datele pe care doresc să le schimbe. Aceasta este o problemă foarte dificilă, deși nu este nouă.

    Și vor exista astfel de acorduri, întrucât incompatibilitatea tot mai mare a platformelor informatice are ca rezultat întârzieri în termene, pierderi financiare și duce la confuzie în aproape toate domeniile de activitate. Oamenii vor să facă schimb de idei și să facă lucrurile, indiferent de faptul că fiecare are computere diferite - și pentru ca acest lucru să devină realitate, dezvoltarea reciprocă a limbilor private (pentru diferite domenii de activitate) mai are un drum lung de parcurs. . Cu toate acestea, valul de acronime noi care se termină în „ML” demonstrează spiritul incontestabil inovator pe care XML l-a adus în știință, afaceri și educație.

    Atunci când creează un nou limbaj de marcare XML, creatorii săi trebuie să convină asupra a trei lucruri: ce etichete vor fi acolo, cum se pot cuibăre unele în altele și cum ar trebui procesate. Primele două puncte - dicționar de limbă și structură - sunt acum codificate folosind DTD (Document Type Definition). Standardul XML nu obligă dezvoltatorii de limbi să recurgă la DTD-uri, dar majoritatea limbilor noi se pare că vor avea descrieri DTD - acest lucru le face mai ușor pentru programatori să scrie programe care să înțeleagă acest marcaj și să extragă ceva semnificativ din el. De asemenea, vom avea nevoie de seturi de manuale care să descrie semnificațiile tuturor etichetelor în limbajul uman. De exemplu, HTML are o descriere DTD, dar există și sute de pagini de manuale HTML familiare pe care programatorii le consultă atunci când dezvoltă browsere și alte programe pentru Web.


    Eseu despre stil

    Pentru utilizatori, principalul lucru este ceea ce poate face programul și nu ceea ce este scris în descrierea acestuia. În general, oamenii preferă ca programele să le permită să vadă informațiile codificate XML într-o formă care poate fi citită. Dar în etichetele XML în sine nu există nicio indicație specială de marcare. cum trebuie prezentate datele pe un ecran sau pe o foaie tipărită.

    Pentru editorii care caută să „scrie o dată și să publice peste tot”, cel mai important lucru este „să dea naștere” unei publicații și apoi să o „toarne” într-o multitudine de tipuri de publicații, atât tipărite, cât și electronice. XML îi ajută în acest fel: conținutul este marcat cu etichete descriptive care sunt independente de mediul de randare. În continuare, editorul poate oficializa regulile de prezentare sub formă de așa-numite. foi de stil, care „stilează” automat munca lui pentru diferite dispozitive și medii. Standardul pentru un astfel de limbaj XML, dezvoltat în aceste scopuri, se numește Extensible Stylesheet Language (XSL).

    Cele mai recente versiuni ale browserului pot citi documente XML, pot selecta fișierele de stil adecvate și le pot folosi pentru a sorta și formata informațiile de pe ecran. Cititorul poate să nu realizeze că are de-a face cu XML mai degrabă decât cu HTML, decât dacă observă că site-urile cu XML sunt mai rapide și mai ușor de utilizat.

    Persoanele cu deficiențe de vedere beneficiază, de asemenea, în mod liber de principiile de publicare a documentelor XSL, deoarece XSL le oferă posibilitatea de a citi XML în Braille sau prin voce. Aceste avantaje se aplică și celorlalți: de exemplu, unui vânzător ambulant care dorește să navigheze pe internet din confortul mașinii sale probabil că ar considera destul de convenabil să asculte pagini cu sunet.

    Deși la început nucleul Rețelei consta în programe științifice și educaționale, Rețeaua de astăzi este deja comerț (sau, s-ar putea spune, așteptări comerciale), stocând combustibil pentru un început rapid. Toată lumea își amintește de rezonanța recentă cauzată de creșterea vânzărilor online, dar inutil să spună cât de repede interacționează oamenii de afaceri între ei online. Fluxul de mărfuri de la marii producători cerșește automatizarea în rețea. Dar sistemele de afaceri de astăzi se bazează pe interacțiuni complexe program-la-program, iar în practică acest lucru funcționează foarte slab, deoarece succesul necesită uniformitate a proceselor de procesare, ceea ce este încă departe de a fi atins.

    De secole, oamenii au făcut afaceri cu succes prin schimbul de documente standard: comenzi, facturi, declarații, chitanțe etc. etc.

    Documentele au funcționat pentru afacere și nimeni nu a cerut ca o parte implicată să cunoască funcționarea interioară a celeilalte părți. Orice document a fost arătat exact cât ar fi trebuit să fie arătat destinatarului informațiilor și nu mai mult. Aparent, schimbul de documente este cel mai corect mod de a face afaceri și pe Web. Dar aceasta nu a fost deloc sarcina pentru care a fost creat HTML.

    În schimb, XML este conceput special în scopul schimbului de documente și este clar că baza comerțului electronic se va baza pe acordurile exprimate de milioanele de documente XML care plutesc pe Internet.

    Designerul web de mâine trebuie să fie competent nu numai în producerea de text și grafică, ci și în construcția de sisteme multistratificate, interdependente, bazate pe DTD-uri, arbori de date, structuri de hyperlink, metadate și componente de stil - o infrastructură puternică și avansată a Web de a doua generație.

    Să luăm în considerare tehnologia utilizării XML pentru a transfera date către server.

    Am analizat deja 2 moduri de a transfera date pe server: text simplu cu un delimitator și JSON. Dar au dezavantaje:

    • Lipsa tipurilor de date. JSON are doar șir, număr, nul, boolean. Acestea. set limitat de date.
    • Este dificil de controlat integritatea datelor transmise.
    • Date dificil de vizualizat, de ex. obiectele complexe sunt greu de afișat, de exemplu, sub formă de cod html.
    • Dificil de transformare a datelor, de ex. Este dificil să transformi proprietățile unui obiect în proprietățile altui obiect.

    Acum să trecem la XML ca metodă de transfer de date. XML(eXtensible Markup Language) este un limbaj de marcare conceput pentru a descrie, stoca și transmite date structurate. Astăzi, XML este folosit peste tot.

    Există multe tehnologii bazate pe XML: DOM (interacțiune programatică cu datele), XLink (pointeri și legături), XPath (descrierea și selecția elementelor), XSL, XSLT (transformarea documentului XML).

    Analizarea pachetului XML arată astfel:

    //XMLHttpRequest obiect var req= getXmlHttpRequest (); //Instalarea handler-ului solicitat onreadystatechange= funcția () ( dacă (req. readyState== 4 ) ( //stare "4 - complet" var xml= solicitat. răspunsXML; ))

    Aici nici măcar nu trebuie să faceți serializare și deserializare. Acest lucru este realizat de obiectul însuși. De îndată ce serverul trimite date XML, acestea sunt deja în formă analizată (responseXML - model de document DOM). Citiți mai multe despre tehnologia DOM în articolele anterioare de pe site.

    Uneori, pentru depanare, trebuie să serializați și să deserializați datele XML (pentru a transfera date pe server, acest lucru se face automat, nu trebuie să o faceți manual). Să serializăm într-un șir:

    //pentru IE var str = dom. xml //pentru Firefox var serializer = nou XMLSerializer (); var str = serializator. serializeToString(dom);

    Pentru IE, codul de lucru este mai scurt, deoarece are deja un obiect încorporat pentru serializare, în timp ce alte browsere au doar un obiect XMLSerializer pentru serializare.

    Când lucrăm cu date XML, de obicei ne ocupăm de modelul DOM al documentului. Prin urmare, merită să ne amintim câteva aspecte ale DOM (citiți despre asta în articolele anterioare). Permiteți-mi doar să vă reamintesc modalitățile de a accesa un element DOM al modelului:

    //element rădăcină var root = xmlDOM. documentElement; //primul element din colecție var book = root. childNodes[ 0 ]; //element copil var title = carte. childNodes[ 0 ]; //element text nod alert(titlu. firstChild. nodeValue);

    De asemenea, puteți selecta elemente de același tip din DOM-ul modelului de document. Atenţie! Nu există funcții getElemensById, deoarece în XML id poate însemna orice, nu doar un identificator, deci nu este folosit.

    //selectarea tuturor elementelor cu o singură etichetă var books = xmlDOM. getElementsByTagName("carte");

    XML este, de asemenea, utilizat în mod activ nu numai pentru reprezentarea datelor, ci și pentru schimbul de date în arhitectura orientată spre server. Aceasta este o abordare în care prezentăm o aplicație complexă nu ca o aplicație clasică client-server, ci ca un set de servicii, fiecare fiind responsabil de propriile sarcini. Și fiecare serviciu are puncte de intrare (puncte de interacțiune). Nu există un client clar aici, pentru că... un serviciu poate fi client al altui serviciu. Aceasta se dovedește a fi o tehnologie distribuită. Există mai multe abordări pentru construirea unor astfel de tehnologii - apel de procedură la distanță, SOAP.

    Pentru ca serviciile de la diferiți clienți să interacționeze, aceștia trebuie să vorbească aceeași limbă (nu contează ce sistem de operare are serviciul). Și un astfel de limbaj a fost dezvoltat și numit RPC.

    Protocolul XML-RPC

    RPC(Remote Procedure Call) - apel de procedură de la distanță. Acesta este un protocol pentru interacțiunea între două puncte îndepărtate. Permite punctului „a” să apeleze o funcție pe punctul de la distanță „b”.

    Există mai multe implementări ale protocolului RPC. Să ne uităm la o implementare bazată pe XML.

    În esență, clientul și serverul pur și simplu schimbă câteva fragmente XML.

    XML-RPC oferă următoarele tipuri de date:

    • boolean.
    • întreg.
    • dubla.
    • şir.
    • data/ora.
    • baza64.
    • matrice.
    • struct.
    • nul.

    Acestea. Când treceți un anumit tip de date, trebuie să declarați care este tipul de date. Structura este similară cu un obiect JSON.

    Conversia datelor XML

    Pentru a transforma datele primite de la server sub formă de XML, se utilizează XSLT.

    XSLT(eXtendable Stylesheet Language Transformation) este o tehnologie care vă ajută să obțineți XML ca intrare și să formați orice doriți ca rezultat.

    Conversia XSLT în javaScript - IE

    var dom = nou ActiveXObject("MSXML2.DOMDocument"); dom. asincron = fals; dom var xsl = nou ActiveXObject(" [email protected]"); xsl. asincron = fals; încărcare xsl. ("my.xsl"); //transformarea în sine var rezultat = dom. transformNode(xsl);

    Convertiți XSLT în JavaScript pentru Firefox. Chrome, Opera

    var xslStylesheet; var xsltProcessor var myXMLHTTPRequest = mew XMLHttpRequest(); myXMLHTTPRequest. open("GET" , "example.xsl" , false); myXMLHTTPRequest. trimite(null); //obținerea xml xslStileshett = myXMLHTTPRequest. răspunsXML; xsltProcessor myXMLHTTPRequest = noua XMLHttpRequest(); myXMLHTTPRequest. open("GET" , "example.xml" , false); myXMLHTTPRequest. trimite(null); //transformarea în sine var xmlSource = myXMLHTTPRequest. răspunsXML; var resultDocument = xsltProcessor. transformToDocument(xmlSource);