XML, pentru ce este util? Cum se deschide formatul XML standard. Începeți să creați fișierul XML

Un fișier cu extensia .xml este un fișier XML (Extensible Markup Language). Acestea sunt de fapt doar fișiere text care folosesc etichete personalizate pentru a descrie structura și alte funcții ale documentului.

Ce este XML

XML este un limbaj de marcare creat de World Consortium Wide Web Consorțiul (W3C) pentru a defini o sintaxă pentru codificarea documentelor care pot fi citite de oameni și mașini. Face acest lucru prin etichete, care definesc structura documentului, precum și modul în care documentul ar trebui să fie stocat și transportat.

Cel mai simplu mod de a-l compara cu un alt limbaj de marcare cu care ați putea fi familiarizat este marcare hipertext(HTML) folosit pentru a codifica pagini web. HTML folosește un set predefinit de caractere de marcare (coduri scurte) care descriu formatul conținutului dintr-o pagină web.

Cu toate acestea, diferența cu XML este că este extensibil. XML nu are un limbaj de marcare predefinit precum HTML. În schimb, XML permite utilizatorilor să-și creeze propriile caractere de marcare pentru a descrie conținutul, creând un set nelimitat și autodefinibil de caractere.

În esență, HTML este un limbaj care se concentrează pe prezentarea conținutului, în timp ce XML este un limbaj dedicat descrierii datelor, folosit pentru stocarea datelor.

XML este adesea folosit ca bază pentru alte formate de documente, dintre care există sute. Iată câteva pe care poate doriți să le știți:

  • RSS și ATOM descriu modul în care aplicațiile ar trebui să gestioneze fluxurile web.
  • Microsoft .NET folosește XML pentru fișierele de configurare.
  • Microsoft Office folosește XML ca bază pentru structura documentului.

Deci, dacă aveți un fișier XML, acesta nu vă spune neapărat pentru ce aplicație este. Cu toate acestea, nu trebuie să vă faceți griji cu privire la acest lucru decât dacă dezvoltați fișiere XML.

Cum se deschide un fișier XML

Există mai multe moduri de a deschide direct un fișier XML. Le puteți deschide și edita cu orice editor de text, le puteți vizualiza cu orice browser web sau puteți utiliza un site web care vă permite să le vizualizați, să editați și chiar să le convertiți în alte formate.

Utilizați un editor de text atunci când lucrați cu XML în mod regulat

Deoarece fișierele XML sunt pur și simplu fișiere text, ele pot fi deschise în orice editor de text. Cu toate acestea, multe editoare de text, cum ar fi Notepad, pur și simplu nu sunt concepute pentru a afișa fișiere XML cu structura lor corectă. Acest lucru poate fi util pentru a vă familiariza rapid cu conținutul unui fișier XML. Dar, există instrumente mai convenabile pentru a lucra cu ei.


Utilizarea unui browser web pentru a vizualiza un fișier XML

Dacă nu trebuie să editați fișierul XML, ci doriți doar să vizualizați conținutul, browserul dvs. se poate ocupa de această sarcină. Mai mult, browserul dvs. web este cel mai probabil deja configurat ca vizualizator de fișiere XML standard. Prin urmare, dublu click Fișierul XML trebuie deschis într-un browser.

Dacă nu, puteți da clic Click dreapta mouse-ul peste fișier pentru a găsi opțiuni de deschidere cu orice altă aplicație. Pur și simplu selectați browserul dvs. web din lista de programe.

Când fișierul se deschide, ar trebui să vedeți date bine structurate. Nu este la fel de frumos ca aspectul de culoare pe care îl obțineți în Notepad++, dar este mult mai bun decât notepad.

Utilizarea unui editor online pentru fișiere XML

Dacă doriți să editați un fișier XML aleatoriu și nu doriți să descărcați un nou editor de text, sau aveți nevoie converti fișierul xml într-un alt format Există mai multe editoare XML online decente disponibile gratuit.

TutorialsPoint.com, XMLGrid.net și CodeBeautify.org - Vă permit să vizualizați și să editați fișiere XML. Odată ce editarea este completă, puteți descărca fișierul XML modificat sau chiar îl puteți converti într-un alt format.

De exemplu, folosim CodeBeautify.org. Pagina este împărțită în trei secțiuni. În stânga este fișierul XML cu care lucrați. În mijloc vei găsi mai multe funcții. În dreapta veți vedea rezultatele unora dintre opțiunile din care puteți alege.

De exemplu, în imaginea de mai jos, fișierul nostru XML complet este în stânga, iar panoul de rezultate arată o vizualizare arborescentă, deoarece am făcut clic pe butonul Vizualizare arborescentă din mijloc.

Utilizați butonul Răsfoire pentru a încărca un fișier XML de pe computer sau butonul Încărcare URL pentru a prelua XML dintr-o sursă online

Butonul Tree View afișează datele într-o structură arborescentă bine formatată în panoul de rezultate, cu toate etichetele evidențiate în portocaliu și atributele în dreapta etichetelor.

Beatify vă afișează datele într-un format ordonat, ușor de citit.

Butonul Reducere vă afișează datele folosind cât mai puține spații posibil. Această funcție va plasa fiecare parte de date pe o singură linie. Acest lucru va fi util atunci când încercați să faceți un fișier mai mic, ceea ce va economisi ceva spațiu.

Și, în sfârșit, puteți folosi butonul XML în JSON pentru a converti XML în format JSONși un buton Export în CSV pentru a salva datele ca fișier cu valori separate prin virgulă sau un buton Descărcare pentru a descărca orice modificări pe care le-ați făcut noului fișier XML.

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 dificil de afișat, de exemplu, în formular html cod.
  • 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. Se dovedește așa 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. la transmitere anumit tip datele trebuie declarate 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ă primiți XML ca intrare și să formați orice doriți ca rezultat.

Conversia XSLT în javaScript - IE

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

Convertiți XSLT în JavaScript pentru Firefox. Ghrome, 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 = new XMLHttpRequest(); myXMLHTTPRequest. open("GET" , "example.xml" , false); myXMLHTTPRequest. trimite(null); //transformarea în sine var xmlSource = myXMLHTTPRequest. răspunsXML; var resultDocument = xsltProcessor. transformToDocument(xmlSource);

Cum să utilizați XML corect

XML ca instrument

Abrevieri frecvent utilizate
  • CDATA: Date de caractere
  • DOM: Document Object Model
  • E4X: ECMAScript pentru XML (ECMAScript pentru XML)
  • IDE: Integrated Development Environment (mediu de dezvoltare integrat)
  • W3C: Consorțiul World Wide Web (consorțiul WWW)
  • XML: Extensible Markup Language
  • XSLT: Transformări de limbaj extensibile pentru foi de stil

XML este acum considerat de la sine înțeles. El este peste tot! Dar dacă priviți din exterior, puteți vedea că aceasta este o tehnologie puternică. Există medii de dezvoltare integrate care vă ajută să construiți arbori XML. Există o serie de tehnologii pentru verificarea corectitudinii codului XML. Există XSLT - un limbaj special de transformare XML. Suportul XML este chiar integrat direct în sintaxa unor limbi (cum ar fi E4X în ActionScript).

Dar și XML are partea din spate. Poate fi folosit incorect. Poate fi folosit prost. Poate fi prea complex. Poate fi subspecificat. Poate fi dificil să lucrezi cu el. Ce trebuie făcut pentru mai mult utilizare eficientă această tehnologie puternică? În articolul meu, voi oferi 10 sfaturi care vă vor ajuta să răspundeți la această întrebare.

Nu utilizați XML ca nume de fișier sau etichetă rădăcină

De multe ori am văzut cod XML stocat în fișiere cu extensia .xml. Este inutil. Această extensie nu îmi va spune nimic pe care să nu știu deja doar rulând cat. De îndată ce văd etichetele, știu imediat că este XML. În loc de această extensie, utilizați o extensie care are sens pentru utilizator. De asemenea, puteți utiliza o extensie unică pentru cautare Google a returnat link-uri către documentație sau exemple ale formatului de fișier XML.

O altă problemă în unele documente XML este utilizarea etichetei rădăcină . Asta din nou nu înseamnă nimic. Ce este în acest fișier? Dacă aceasta este o listă de contacte, nodul rădăcină ar trebui să fie eticheta . XML trebuie să fie lizibil, așa că utilizați nume de etichete și atribute care sunt relevante pentru problema de afaceri la care lucrați. Dacă nodul rădăcină este , bănuiesc să văd etichetele și apoi etichete , , , etc.

Nu suprascrieți constructele generice sau specifice limbajului

Înțeleg că XML este un format pentru salvarea datelor. Majoritatea limbilor oferă o modalitate de a stoca structuri de date în XML. Este bine dacă ești sigur că numai procesele scrise în aceeași limbă vor citi sau scrie vreodată codul tău XML. Acest lucru, însă, este rar. Dacă aplicația dvs. scrie ceva într-un fișier, este posibil ca la un moment dat să fie citit de un utilizator sau de o aplicație în altă limbă.

Ceea ce vreau să spun prin aceasta este că constructele specifice limbii ar trebui să fie stocate în afara XML. Cât de des te-ai întâlnit 07-18-2010? Ce este NSDate? Da, acesta este numele clasei pentru lucrul cu datele pe platforma de aplicație. Ce se întâmplă când schimb platforma sau limba? Etichetele NSDate vor trebui convertite în altceva care este utilizat pe noua platformă.

Păstrați specificul limbii în afara XML și folosiți etichete simple, de exemplu .... O astfel de etichetă este ușor de înțeles, ușor de citit și independent de un anumit limbaj sau cadru.

O altă regulă importantă este evitarea folosirii generalizărilor inutile în XML. Aruncă o privire la următorul exemplu():

Listarea 1. Arborele de noduri generalizat
jack

Ce înseamnă acest lucru? Mi-am dat seama că aceasta este o listă de utilizatori. Dar este dificil pentru o persoană să citească și să editeze. Mai rău este că acest XML este foarte greu de utilizat în instrumente precum XSLT sau de validat pe o schemă. B arată ce înseamnă de fapt codul XML de mai sus.

Lista 2. Un arbore de noduri mai eficient
jack

Nu e mai bine așa? Codul spune ceea ce spune și înseamnă ceea ce spune. Este mai ușor de citit și analizat. Este mai ușor de validat și transformat folosind XSLT. Este și mai mic ca dimensiune.

Nu face fișiere prea mari

Știu ce vei spune: „Memoria pe disc este ieftină. Zece cenți îmi vor cumpăra încă un terabyte”. E corect. De fapt, puteți crea fișiere XML gigabyte. Dar programarea este despre compromisuri constante. Trebuie să schimbați spațiul pe disc pentru timp sau memoria pentru timp. Și când lucrați cu un fișier XML uriaș, obțineți cel mai rău dintre ambele. Fișierul ocupă mult spațiu pe disc, iar analiza și verificarea acestuia necesită mult timp. In afara de asta, dosar mare elimină utilizarea unui parser DOM, deoarece construirea arborelui necesită timp infinit și o cantitate imensă de memorie.

Care este alternativa? Puteți crea mai multe fișiere. Unul acționează ca un index, iar ceilalți conțin resurse mari care ar putea să nu fie necesare pentru toți utilizatorii acestui XML. O altă opțiune este să scoți toate bucățile CDATA mari din fișierul XML și să le pui în propriile fișiere cu propriile formate. Dacă doriți să păstrați toate datele împreună, împachetați toate fișierele într-un fișier nou cu o nouă extensie. Orice limbaj de programare popular are module care facilitează împachetarea și dezambalarea rapidă a fișierelor.

Nu utilizați spații de nume decât dacă este absolut necesar

Spațiile de nume sunt o parte puternică a lexicului XML. Ele facilitează implementarea formatelor de fișiere extensibile. Puteți determina set de bază etichete pentru toate nevoile aplicației dvs. și apoi permiteți utilizatorilor să-și adauge propriile date în propriul spațiu de nume din fișier fără a afecta arborele dvs. de obiecte.

Cu toate acestea, spațiile de nume fac acest lucru foarte dificil analizareși gestionarea datelor. Acestea confundă extensiile limbajului de programare precum E4X. Ele fac dificilă utilizarea XML în XSLT. În cele din urmă, fac fișierele XML mult mai dificil de citit.

Prin urmare, utilizați spațiile de nume XML numai dacă aveți nevoie de ele. Nu le utilizați pur și simplu pentru că „XML permite acest lucru”. XML funcționează bine fără spații de nume.

Nu utilizați caractere speciale

Toate sfaturile mele au ca scop menținerea codului XML curat, simplu și ușor de citit. În acest sens, chiar și specificația XML permite o mulțime care nu este neapărat folosită. De exemplu, puteți folosi o liniuță în numele elementelor și atributelor. Dar acest lucru face foarte dificilă utilizarea unui astfel de cod XML în extensii de limbă precum E4X. Întrebarea este, merită?

Utilizați schema XML

Analiza XML este nu este o sarcină ușoară. Pentru o analiză precisă este necesar să se facă buna treaba pentru a proteja codul de o posibilă absență și utilizarea incorectă a etichetelor sau atributelor. Aceasta este o muncă suplimentară de codificare, o complexitate suplimentară și, de asemenea, ascunde logica reală de afaceri care este preocuparea dvs. principală. Cum să evitați acest lucru? Validați XML inainte de utilizarea acestuia. Pentru aceasta pot fi utilizate mai multe standarde. Puteți specifica Tipul documentului Definiție (DTD) sau Schema XML (linkuri către informații despre DTD și Schema XML sunt furnizate în secțiune). Personal, mi se pare mult mai ușor de lucrat cu XML Schema, dar dacă sunteți nou în acest domeniu, încercați diverse sisteme verificări de corectitudine.

Marele avantaj este că, odată ce XML-ul este verificat pentru corectitudine, puteți avea încredere în el. Acest lucru poate să nu fie necesar pentru fișierele XML interne ale aplicației dvs. Dar este foarte util dacă XML-ul este generat de o altă aplicație sau scris manual.

Numerotați versiunile

Este foarte ușor să pierdeți din vedere faptul că XML stocat în fișiere este echivalent cu un format de fișier. Primul lucru pe care trebuie să-l conțină un fișier de orice format este un număr de versiune. Este destul de ușor să adăugați: .... Codul care citește fișierul trebuie să verifice dacă numărul versiunii nu este mai mare decât versiunea curentă și să arunce o excepție dacă nu este. Acest lucru asigură că versiunile ulterioare ale codului nu vor intra în conflict cu versiunile mai vechi atunci când utilizați etichete noi. Desigur, trebuie să vă asigurați că toate versiunile mai vechi ale fișierelor sunt acceptate pe măsură ce continuați să vă dezvoltați aplicația.

Combinați noduri și atribute

Inginerii sunt oameni destul de lenesi. Pot să spun asta pentru că și eu sunt așa. Nu te certa, toți suntem așa. Dacă IDE-ul se oferă să facă exportul XML pentru noi, probabil că vom fi de acord. Dar, de obicei, cadrul produce XML foarte prost. Probabil că ați întâlnit deja ceva similar cu:

Lista 3. Lista utilizatorilor
1 jack

Ar trebui să fi o etichetă? Eu susțin că ar trebui să fie un atribut. Codul devine mai scurt și mai semnificativ și devine posibil să căutați un utilizator după ID folosind o expresie XPath simplă (/users/user[@id=1]).

Pentru a face codul lizibil, este, fără îndoială, mai bine să folosiți atribute, așa cum se arată în .

Lista 4. Listă de utilizatori mai ușor de utilizat
jack

Este clar că cadrul generat , deoarece este întotdeauna mai sigur să folosești noduri. Dar atributele vă permit să identificați elemente importante în arborele DOM, așa că ar trebui să le utilizați.

Folosiți CDATA, dar nu-l abuzați

XML impune multe restricții cu privire la utilizarea anumitor caractere: ghilimele, ampersand, mai puțin și mai mare decât semnele etc. Cu toate acestea, în practică, aceste simboluri sunt folosite foarte des. Prin urmare, fie trebuie să convertiți totul în ceva sigur pentru care format XML, sau introducerea unor bucăți mari de text, cod sau orice altceva în blocuri CDATA. Mi se pare că dezvoltatorii evită să folosească CDATA deoarece cred că va îngreuna analiza. Dar secțiunile CDATA nu sunt mai greu de analizat decât orice altceva - majoritatea parserilor DOM le gestionează singuri, așa că nici măcar nu trebuie să te gândești la asta.

Încă una motiv important Utilizarea CDATA este pentru a păstra formatarea exactă a datelor. De exemplu, atunci când exportați o pagină Wiki, probabil că veți dori să păstrați pozițiile exacte ale caracterelor, cum ar fi întoarcerea căruciorului și avansul de linie, deoarece acestea sunt redate rol deosebitîn format Wiki.

De ce să nu folosiți partițiile CDATA tot timpul? Pentru că fac documentul foarte greu de citit. Acest lucru este deranjant mai ales când nu sunt necesare. Așadar, folosiți-le și încurajați utilizatorii să le folosească în fișierele dvs. XML în situațiile în care vă așteptați să conțină datele Simboluri specialeși când să păstrați formatarea originală. Dar nu utilizați CDATA în alte situații.

Stocați datele opționale într-o zonă separată

Până acum am vorbit despre documente XML formatate rigid. Am recomandat chiar utilizarea unei tehnologii de validare (cum ar fi XML Schema) care garantează o structură rigidă. Există un motiv bun pentru aceasta: datele structurate sunt mai ușor de analizat. Ce se întâmplă dacă ai nevoie de flexibilitate? Recomand plasarea datelor opționale într-un bloc separat în propriul nod. Aruncă o privire, de exemplu, la .

Lista 5. Înregistrare utilizator neordonată
jack d herrington 8:00

Această înregistrare conține toate datele de utilizator așteptate. Sunt de acord cu primul, mijlocul, ultimul, dar de ce este runspace aici? Este necesar? Veți avea multe din aceste domenii? Vor fi extensibile? Dacă răspunsul la toate aceste întrebări este da, aș recomanda să faceți acest lucru (vezi):

Lista 6. Înregistrare de utilizator bine structurată
jack d herrington 8:00

Cu această abordare, puteți avea câte câmpuri doriți fără a aglomera spațiul de nume al elementului părinte . Puteți chiar să verificați validitatea acestui document și să accesați un anumit câmp folosind o expresie XPath (//user/userdata/field[@name="runningpace").

Concluzie

Luați în considerare ce am spus. Am recomandat cinci lucruri de făcut și cinci lucruri de evitat. Nu toate sfaturile mele se vor aplica în toate circumstanțele. Uneori, XML este doar un format pentru stocarea datelor transmise prin rețea și care durează doar câteva milisecunde. În acest caz, nu este nevoie să vă faceți griji pentru nimic. Dar atunci când utilizați XML ca format de fișier, ar trebui să urmați sfatul meu și să aplicați recomandările prezentate aici.

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 a plasa informații pe World Wide Web, similar limbajului hipertext Marcaj HTML(Hypertext Markup Language), care a devenit inițial limbajul standard pentru crearea paginilor Web. Deoarece limbaj HTML satisface complet toate nevoile noastre, se pune întrebarea: de ce a fost nevoie complet? Limba noua; limbaj 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 nu poate fi folosit SGML în sine 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

creând personal pagina principala. 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 lucra cu HTML.

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

    Pentru uz practic XML este necesar pentru a facilita scrierea browserelor și a altor 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. 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 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 utilizând 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 din viitor. Dacă există aplicații XML corespunzătoare pentru utilizare practică, acestea vor fi date între 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 din intrările din lista de adrese.) Apoi puteți afișa datele căi diferiteși să organizeze căutarea, sortarea, filtrarea și alte procesări de date.
    • 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, linii ale intrării, peisaje 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.
    • Lucreaza 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).
    • Descriere pachete softwareși relațiile 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 sisteme de operare, modele de obiecte și limbaje informatice(SAPUN - Simplu Acces obiect 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 informatii stiintifice V
    • 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 folosite, de exemplu, pentru a genera mesaje vocale, certificate de disponibilitate a produselor ș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 în presă format digital(AdMarkup).
    • Umplere documente 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).
    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 dificil să găsești ceva necesar pe el.

    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.

    Dat fiind numele SGML (Standard Generalized Markup Language), acest limbaj de descriere a limbii - un metalimbaj - și-a dovedit utilitatea în multe sisteme mari pregătirea publicațiilor. Ș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 țintit și digerabil. Baza XML este set de reguli, ghidat de care, fiecare îș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 din set minim regulile corect 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 în orice document XML, producând o structură cunoscută în informatică ca arbore. Similar cu un arbore genealogic, orice grafic sau element de text document există un tată, fiu sau frate (părinte, copil, frate) al unui alt element, iar această relație de rudenie este întotdeauna fără ambiguitate. 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ă a puterii universale a XML este dependența acestuia de nou Standard Unicode- un sistem de codare care permite amestecarea textelor în toate limbile majore ale lumii. Dimpotrivă, în HTML, ca și în masă procesoare de cuvinte, 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

    Cu distributie Rețeaua XML ar trebui să devină mult mai receptiv. Astăzi tot ce pot face dispozitive informaticeîn rețea, nu contează dacă sunt desktop-uri puternice sau organizatoare de buzunar, acest lucru nu este altceva decât primirea unui formular prin „GET”, completarea acestuia, apoi trimiterea lui înainte și înapoi către serverul web până la finalizarea lucrării cu formularul. 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 broker de valori” vă va copleși cu o avalanșă. reclame, dar probabil că vor fi doar câteva dintre ele despre munca acolo - în cea mai mare parte munca este ascunsă scânduri gratuite reclame pe site-urile de ziare cu care roboții de căutare nu le place să lucreze. Ș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”. Nu a fost găsit", semnalând o legătură "î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 le-ai furnizat manual de limbă, și va fi înțeles de computere până când veți scrie programe care funcționează cu etichete de limbă.

    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 etichetarea, 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, de la creșterea incompatibilității platforme informatice duce la î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ă ducă la bun sfârșit lucrurile, indiferent de faptul că fiecare are computere diferite - și pentru ca acest lucru să devină realitate, dezvoltarea reciprocă a privatului (pentru zone diferite activități) limbile au încă 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.

    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 pot fi imbricate 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 cele mai multe limbi noi sunt probabil să aibă descrieri DTD - acest lucru facilitează pentru programatori să scrie programe care înțeleg. acest marcajși extragerea ceva sensibil 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 nu există un marcaj special în XML-ul în sine care să indice. 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.

    Dimpotrivă, XML este conceput special în scopul schimbului de documente și este evident că baza comerțul electronic se va baza pe convențiile exprimate de milioane de documente XML care plutesc pe internet.

    Astfel, Web-ul îmbunătățit cu XML ar trebui să devină un loc rapid, prietenos și mai bun pentru afaceri pentru utilizatorii săi. Webmasteri și designerii web au nevoie și de mai mult XML. Armatele de programatori vor avea nevoie de cunoștințe de noi limbaje XML „la maximum”. Și deși vremurile hackerilor autoeducați [autorii au vrut să spună cel mai bun sens al acestui cuvânt] încă durează, populația lor este deja amenințată.

    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.