Kam naudojamas Xml? XML, kam jis naudingas? Kas yra XML failas

Bandau trumpai apibendrinti savo patirtį su XML:

Argumentai "už"

Skaitymo formatas:

Kiekvienas gali patikrinti jų turinį tiesiog jį perskaitęs. Tai palengvina naudojimą ir suteikia aiškią bendravimo formą. Net verslo žmonėms tai patinka (kiek aš žinau finansų institucijose jau daug metų), nes jie tai supranta ir gali lengvai patikrinti pranešimus, pavyzdžiui, pranešimų sistemose. Tik jie gali nuspręsti, kuri sistema neteisinga. Pradžiugina juos :) Palyginkite tai su JSON. Manau, kad JSON toli gražu nėra patogus skaitytojui, nes uždarius skliaustus yra sunkiau sekti nei XML elementų uždarymą. Turite grįžti į puslapį, kad sužinotumėte, kokia buvo pradžia. Norint suprasti XML, jums nereikia programavimo įgūdžių. Net tavo močiutė gali tai išsiaiškinti per pusvalandį.

Platformos nepriklausomumas:

Nesvarbu, kokią kalbą ar platformą naudojate, tikrai turėsite analizatorių, kad jį perskaitytumėte. Dėl to tai tikriausiai geriausia komunikacijos tarp nevienalyčių sistemų forma. Pažiūrėkite, kad žmonės paprastai transportuoja XML failus ant JMS eilių, jie skelbia XML failus į žiniatinklio paslaugas, prieš transportuodami objektus įvynioja į XML dokumentus. XML yra tokia esminė medžiaga, kad su skirtingais analizatoriais didelių problemų nekyla. Jie visi supranta XML.

Puikūs transformavimo įrankiai

Puikus įrankis tikrinimui su

Prieš

Daugžodiškumas

Jis gali užimti bet kokią vietą diske. Dėl XML failų žurnalai tampa dideli, juos sunku skaityti ir atkurti. Kita vertus, galite suspausti rąstus. Net žiniatinklio paslaugas ar JMS pranešimus galima suspausti, kad būtų sumažintas pralaidumas. Tačiau net ir šiuo atveju glaudinimas yra procesoriaus ir atminties išlaidos. Kita vertus, mano patirtis rodo, kad XML ir susijusios technologijos gali sumažinti plėtrą, o tai, ką sutaupote kredencialuose, yra pakankamai toli, kad galėtumėte nusipirkti kitą procesorių. Procesoriai yra pigesni nei žmonės.

Neefektyvus naudojimas

Toli gražu nėra trivialus, kurie objektai (XPath išraiškos, XSL šablonai, XSD schemos, XML analizatoriai ir kt.) turi kokį gyvavimo ciklą. Kas gali būti talpykloje? Daugelis žmonių to nedaro tinkamai, kad išvengtų siūlų saugos problemų. Ir tai prives jus prie baisaus lėtumo. Ir aš noriu tai pabrėžti Tai ne technologijų problema, o netinkamas naudojimas. Daugeliui žmonių įstrigo senasis DOM parteris, kuris yra negražus. Jie abstrahavo tam tikrą sluoksnį virš jo ir sukūrė savo API XML tvarkymui, o tai yra blogai. Pirmyn, naudokite DOM4j arba STAX, JAXB ar kažką standartinio.

Klaidinga laisvė sukurti kažką ypatingo

Daugelis kompanijų sukūrė konkrečiam domenui skirtas kalbas arba baisius konfigūracijos failus su XML. Kadangi tai lengva išanalizuoti ir pereiti, jie netgi sukūrė vertėjus visiškai naujai kalbai. Kalba įstrigo, o suplanuoti kūrimo įrankiai taip ir nebuvo sukurti. Niekada nenaudokite XML kurdami programas. Jis negali būti naudojamas. Neprogramuokite XPath, nes ji nėra patikrinta kūrimo laiko. Laikykite daiktus savo vietose. XML daugiausia skirtas duomenims perduoti tam tikra standartine forma. Neišradinėk XML dviračio iš naujo. Tai būtų programinė kėdė sau, o ne automobilis.

Manau, kad geriausi XML vadovėliai yra ZVON. Naudokite juos, jei norite.

XML schema yra galingesnė nei DTD.

XML schemos duomenų tipų palaikymas

Vienas iš svarbiausių yra galimybė palaikyti XML schemos duomenų tipus.

Duomenų tipo palaikymo dėka:

  • Jis gali lengvai apibūdinti galiojantį dokumento turinį
  • Gali būti lengviau patikrinti, ar duomenys teisingi
  • Galite lengviau dirbti kartu su duomenimis iš duomenų bazės
  • Duomenis galima lengviau apibrėžti apribojimais (duomenų aspektais)
  • Duomenų modelį (arba duomenų formatą) galima lengvai apibrėžti
  • Gali būti lengviau konvertuoti duomenis tarp skirtingų duomenų tipų

Redaktoriaus pastaba: Duomenų apribojimai arba nurodyti aspektai yra XML – schemos prototipo terminas, kinų k. gali būti išverstas kaip „veidas“, naudojamas norint apriboti galiojančią duomenų tipo reikšmę.

XML schemos naudojant XML sintaksę

Kita svarbi XML schemos savybė yra ta, kad jos parašytos XML.

XML rašymas XML schema turi daug privalumų:

  • Nereikia mokytis naujos kalbos
  • Schemos failams redaguoti galite naudoti XML rengyklę
  • Schemos failams analizuoti galite naudoti XML analizatorių
  • Schemą galima pateikti naudojant XML DOM
  • Schemą galima konvertuoti naudojant XSLT

XML schema gali apsaugoti duomenų perdavimą

Kai duomenys perduodami iš siuntėjo gavėjui, esmė ta, kad abi šalys turi gerbti tų pačių „lūkesčių“ turinį.

XML schemoje siuntėjas ir gavėjas gali suprasti, kaip duomenys aprašomi.

A Duomenys, tokie kaip „2004 11 03“, kai kuriose šalyse gali būti interpretuojami kaip lapkričio 3 d., o kitose – kovo 11 d.

Tačiau elemento XML duomenų tipas yra, pavyzdžiui:<дата типа = "дата"> 2004-03-11 užtikrinti nuoseklų turinio supratimą, nes XML duomenų tipui „data“ reikalingas formatas „YYYY-MM-DD“.

XML schema gali būti išplėsta

XML schemos yra išplečiamos, nes parašytos XML.

Naudodami išplečiamos schemos apibrėžimą galite:

  • Pakartotinis schemos naudojimas kitoje schemoje
  • Sukurta naudojant standartinius tipus, gautus iš jūsų duomenų tipų
  • Suplanuoja kelias nuorodas viename dokumente

Geros formos neužtenka

Pavadinome šį dokumentą, atitinkantį gerai suformuotų XML dokumentų XML sintaksę, pvz.:

  • Ji turi prasidėti XML deklaracija
  • Jis turi turėti unikalų šaknies elementą
  • Pradžios žyma turi atitikti pabaigos žymą
  • Elementuose skiriamos didžiosios ir mažosios raidės
  • Visi elementai turi būti uždaryti
  • Visi elementai turi būti tinkamai sudėti
  • Specialieji simboliai turi naudoti objektą

Net ir gera dokumento forma vis tiek negali garantuoti, kad juose nebus klaidų, o šios klaidos gali turėti rimtų pasekmių.

Apsvarstykite tokią situaciją: vietoj penkių užsakote 5 dešimtis lazerinių spausdintuvų. XML schemoje dauguma šių klaidų gali būti užfiksuotos jūsų patvirtinimo programinėje įrangoje.

Gana dažnai daugelis šiuolaikinių kompiuterių sistemų ir įvairių tipų programinės įrangos produktų vartotojų susiduria su failais su plėtiniu .xml. Daugelis žmonių tiesiog neįsivaizduoja, koks tai dokumentas ir kaip jį atidaryti. Dabar tai bus svarstoma.Tuo pačiu išsiaiškinsime, kas tai yra ir kam jis reikalingas.

Kas yra XML failas

Pradėkime galbūt nuo to, kad šiuolaikinių kompiuterinių technologijų ir tokio tipo dokumentams kurti naudojamų programų požiūriu tai yra tekstinis failas, kuriame rašomos universalios išplečiamos žymėjimo kalbos komandos, o tai yra gana primena gerai žinomą žymėjimo įrankį HTML.

Paprastai XML faile yra bendra informacija apie objektą, kuri išreiškiama aprašomuoju būdu (daugiau apie tai vėliau). Kalbant apie tokiuose konteineriuose saugomus duomenis, tai gali būti duomenų bazės, dažnai naudojamos vaizdo ir garso katalogams internete, išsaugotos vartotojų nuostatos programoms ir programoms, taip pat ištisi tinklalapiai.

Kaip pavyzdį galite paimti, tarkime, kokio nors atlikėjo garso albumą. XML faile pateikiama informacija apie išleidimo metus, žanrą, takelių skaičių ir pavadinimus, populiarumą ir kt. Tačiau lankantis žiniatinklio ištekliais naršytojas neturi galvoti apie fizinį tokio informacijos failo atidarymą, nes net grojant grotuve dainą internete Visi duomenys bus rodomi panašiai kaip ir esantys standartiniuose MP3 failuose ID3 žymų pavidalu. Informacija įkeliama į grojamą takelį.

XML failo tipas

Jei pažvelgsite į failą, iškart pastebėsite, kad jame bet kurio objekto savybės yra aprašytos naudojant žymes ir atributus, kurie nustatomi rankiniu būdu.

Mes nekalbame apie pagrindines pačios kalbos komandas, nes paprastam vartotojui tokios informacijos nereikia. Vienintelis dalykas, kurį galima pastebėti, yra tai, kad nėra konkretaus elementų, naudojamų apibūdinti objektą šiuo formatu, skaičius: nurodoma, kiek jų reikia.

Kaip atidaryti standartinį XML formatą

Dabar pažiūrėkime, kaip atidaryti XML failą. Kaip daugelis jau tikriausiai suprato, tai tekstinis failas, o tai reiškia, kad lengviausia jį peržiūrėti ar redaguoti naudojant bet kurį, net patį primityviausią redaktorių. Taip, bent jau tas pats „Notepad“ iš standartinio „Windows“ rinkinio.

Tačiau čia ne viskas taip paprasta. Faktas yra tas, kad dukart spustelėjus failą nenustačius atitinkamo susiejimo su jokia programa, jis nebus atidarytas. Geriausiu atveju sistema pasiūlys tinkamiausių programų sąrašą. Galite pasirinkti savo pasirinktą programą ir tuo pačiu pažymėti langelį šalia parinkties nuolat naudoti pasirinktą programą visiems tokio tipo failams.

Tai galite padaryti kitaip, dešiniuoju pelės mygtuku spustelėdami failą ir pasirinkę komandą „Atidaryti su...“, po kurios vėl pasirinkite norimą programą iš sąrašo arba nurodykite pagrindinio vykdomojo komponento vietą (dauguma dažnai tai yra EXE failas).

Trečias būdas atidaryti XML failą yra iš pradžių paleisti programą ir tada naudoti failo atidarymo meniu (daugeliu atvejų tai yra Ctrl + O). Šiuo atveju visiškai nebūtina naudoti Notepad. Prašome, failas atidaromas be jokių problemų toje pačioje „Word“ programoje ir panašiose programose. Net „Microsoft Excel“ gali atidaryti duomenis tokiu formatu.

Tačiau, jei reikia redaguoti XML formatą, geriau naudoti profesionalias programas, kurios palaiko kalbos sintaksę, pavyzdžiui, Oxygen XML Editor, XML Marker arba EditiX Lite Version. Žinoma, tai ne visos komunalinės paslaugos, galinčios dirbti su failų kalba aukščiausiu lygiu. Šiandien galite rasti daugybę tokių programų.

Dabar keli žodžiai apie tai, kodėl kartais atidarant pasirodo XML failo klaida. Dažniausiai taip yra dėl paties failo vientisumo pažeidimo, taip pat dėl ​​neteisingo aprašomųjų atributų ar žymų įvedimo. Be to, „Excel“ riboja, kiek eilučių gali būti rodoma, todėl tokiu atveju atidarius duomenys gali būti nebaigti.

Galimos klaidos atidarant XML failą kaip el. pašto priedą

Kartais gali atsirasti klaidų, kai bandote atidaryti failą, kuris yra el. pašto priedas. Dažniausiai tai taikoma standartinėms el. pašto programoms, tokioms kaip Outlook Express.

Faktas yra tas, kad priedas pirmiausia išsaugomas kaip laikini duomenys (labai dažnai prie pagrindinio plėtinio pridedamas papildomas .tmp), ir būtent tai pasiekiama.

Kad išvengtumėte šios situacijos, iš pradžių tereikia išsaugoti priedą originaliu formatu bet kurioje patogioje vietoje diske arba keičiamojoje laikmenoje, o tada naudoti aukščiau aprašytus standartinius metodus.

Vietoj bendros

Kaip matote, suprasti šio formato failų struktūrą ir metodus nėra sunku. Tačiau čia XML duomenų kūrimo klausimas nebuvo iš esmės svarstomas, nes norint visiškai suprasti procesą, reikia žinoti bent pačios kalbos pagrindus. Priešingu atveju, manau, naudotojams nekils jokių sunkumų su tokio formato failais.

Manau, kad jūs jau suprantate, kodėl jums to reikia HTML(taip, HTML). Jis reikalingas duomenims pateikti naršyklėje. Tai yra, yra HTML kodas ir atitinka tai HTML kodas tam tikro tipo. Tačiau šiuolaikinės tendencijos reikalauja ne tik duomenų atvaizdavimo, bet ir kompetentingos jų vidinės struktūros.

Tai už tai sukurti struktūrą ir yra XML kalba. Paprastas pavyzdys:

Žalias obuolys

Mums, žmonėms, viskas iš karto tampa aišku. Mano galvoje iškart atsiranda vaizdas“ žalias obuolys"Tačiau kaip paaiškinti kompiuteriui, kad tai yra obuolys, o ne apelsinas, žmogus ar mūsų galaktika? Čia vėl ateina į pagalbą XML, kur galime sukurti bet kokias žymas, kad būtų aišku, kur yra obuolys, kur yra apelsinas, kur yra žmogus ir kur yra mūsų galaktika. Tikiuosi aiškiai paaiškinau.

Dabar apie svarbiausią dalyką. Pagrindinis XML bruožas yra jo universalumas. Tai yra XML supranta bet kurią šiuolaikinę kalbą. Ir nuo tada XML yra tekstinis failas, tada galėsite dirbti su juo įprastoje užrašų knygelėje. Dabar konkrečiai praktikai, kur naudojamas XML:

  • Nustatymų failas. Nustatymai yra XML failą labai lengva skaityti ir rašyti. Dėl šios priežasties yra šimtai XML failai.
  • Duomenų tiltas tarp programų, parašytų skirtingomis kalbomis. Labai svarbi ypatybė, atsirandanti dėl kalbos universalumo ir nuolat naudojama sudėtingose ​​sistemose.
  • Duomenų saugykla. Tiesą sakant, tai yra savotiškas duomenų bazės analogas, tačiau jo nereikia DBVS(Pavyzdžiui, MySQL). Ir užklausos kalbos dėka XPath tampa įmanoma lengvai bendrauti su šiuo " duomenų bazėje".

Ir galiausiai iš savo praktikos galiu pateikti paprasčiausią pavyzdį. Savo svetainėje turiu XML formato svetainės schemą. Yra nuorodos į visus svetainės puslapius. Tai labai patogus dalykas ir svarbus geram svetainės indeksavimui, tačiau kiekvieną kartą rankiniu būdu pridėti naują puslapį yra nepatogu. Todėl, dėka žinių apie darbas su XML, nesunkiai automatizavau šį reikalą. Taigi XML yra naudinga kalba, kurį bet kuris programuotojas turi žinoti bent bendrais bruožais.

Kam reikalingas šis XML?

[Pastaruoju metu dėl šių puslapių atsiradimo dažniausiai
Klausimas man pasirodė toks: „Pasakyk, kam iš viso to reikia, XML?
Ar mums neužtenka HTML? „Neturėdamas daug laiko (ar proto;) rengti savo publikacijas, taip pat giliai gerbdamas klasiką, mieliau greitai išverčiau puikų straipsnį pavadinimu tema
- galbūt tai pirmasis serialo "padėti" epizodas]

Jonas Bosakas, Timas Bray'us
XML ir antrosios kartos žiniatinklis
iš Scientific American, 1999 m. gegužės mėn

Duokite žmonėms keletą patarimų, o kitus jie išsiaiškins patys. Žvelgdami į puslapį, kuriame didesni teksto blokai skirstomi į mažesnius, visi greitai supranta, kad tai yra straipsnio pradžia. Žvelgdami į bakalėjos prekių sąrašą, galite greitai atspėti, kad tai yra „instrukcijos“, kaip apsilankyti parduotuvėje. Pamatę skaičių stulpelius suprantate, kad tai banko sąskaita. Kompiuteriai dar nėra tokie išmanūs – visa tai jiems reikia tiksliai perteikti – su kuo konkrečiai jie turi elgtis ir ko iš jų tam reikia.

Būtent šiam tikslui – kad informacija būtų pati save apibūdinanti – buvo išrasta nauja dokumentų žymėjimo kalba – Extensible Markup Language (XML). Šie lengvai ryškūs pokyčiai („savaime aprašomas“ dokumentas, bendravimo su kompiuteriais taisyklių pasikeitimas) turi didžiulį potencialą – interneto vaidmuo iš informacijos perdavimo terpės pradeda plėstis į kitas žmogaus veiklos rūšis. Iš tiesų, nuo 1998 m., kai ją patvirtino W3C, XML specifikacija pradėjo skverbtis visur kaip ant mielių – į pramonę ir mokslą, į prekių ir vaistų gamybą.

Entuziastai tikėjosi, kad XML suteiks galimybę išspręsti daugybę pasaulinių interneto problemų. Šios problemos žinomos: pirma, internetas, itin greitas tinklas, dažnai elgiasi blogiau nei vėžlys; ir antra, nors beveik visa informacija yra prieinama internete, dažnai beprotiškai sunku ten rasti ką nors reikalingo.

Abi šias problemas daugiausia sukelia pagrindinės žiniatinklio kalbos – HTML – prigimtis. Ir nors HTML sėkmė, palyginti su kitomis kada nors pasiūlytomis elektroninio leidybos kalbomis, yra akivaizdi, HTML yra per menkas: jis iš esmės tik nurodo naršyklei, kaip puslapyje įdėti tekstą, vaizdus ir mygtukus. HTML pagrindinis dėmesys skiriamas informacijos pateikimui, todėl jį gana lengva išmokti, tačiau tai kainuoja.

Tai atspindi svetainių kūrimo sudėtingumas, nebent šios svetainės skirtos kaip fakso aparatai, siunčiantys puslapius visiems, kurie to klausia. Daugiau nei pusė žmonių ir įmonių visame pasaulyje pirmenybę teikia svetainėms, kuriose galima priimti vartotojų užsakymus, siųsti ligų diagnozes ir netgi atlikti subtilias instrumentines operacijas gamyklose ir mokslinėse laboratorijose. Su tokiomis užduotimis HTML _NIEKADA_ nesusidūrė!.

Pavyzdžiui, net jei gydytojas gali „ištraukti“ iš jūsų medicininės kortelės paimtus tyrimus į savo žiūrovą, mažai tikėtina, kad jis galės juos per tinklą nusiųsti kitam specialistui, kad gautą atsakymą įterptų atgal į savo duomenų bazėje. Jo kompiuteris nežino, ką daryti su informacija, kuri jam yra tokia pat aiški

bitė bitė

arba bitė bitė.
Legendinis Kernighanas kartą pažymėjo, kad visa WYSIWYG principo gudrybė (ką aš matau, tą ir gaunu) yra ta, kad kai nieko nematai, dažniausiai pavyksta gauti lygiai tiek pat.

Tie aukščiau esantys žodžiai, pateikti kampiniuose skliaustuose, vadinami žymomis. HTML nėra analizavimo žymos, taigi ir kitas jos trūkumas: nelankstumas. Naujos žymos pridėjimas prie kalbos yra toks biurokratinis biurokratizmas, toks ilgas, kad niekas tuo nesivargins. Tačiau būtų gerai, kad kiekviena programa turėtų savo žymas, o ne tik pavyzdyje su gydytoju.

Tai daugiausia paaiškina dabartinį lėtą internetinių parduotuvių, užsakymų paštu katalogų ir kitų interaktyvių svetainių kūrimo tempą. Jei pakeisite užsakymo vienetų skaičių ir pristatymo būdą, o lauke „suma“ pamatysite keletą pasikeitusių skaičių, vis tiek turėsite paprašyti nuotolinio (jau pervargusio) serverio, kad jis atsiųstų jums visą naujai sugeneruotą puslapį su grafika. ir visa kita. Nors jūsų pačių galingas kompiuteris bus nenaudojamas, nes ką tik išmoko kažką panašaus

Ir , bet ne kainos su pristatymo galimybėmis.

Pridėkite prie to prastą žiniatinklio paieškos galimybių kokybę. Kadangi nėra galimybės konkrečiai pažymėti informacijos apie kainas, visiškai neįmanoma ieškoti puslapių pagal „kainą“.


Kažkas seno, kažkas naujo

Iš esmės sprendimas paprastas: žymės turi nurodyti, kokia tai informacija, o ne kaip ji turėtų atrodyti. Pavyzdžiui, pažymėkite marškinių užsakymo komponentus naudodami žymas „kaina, dydis, kiekis, spalva“, o ne „pusjuodis, pastraipa, eilutė, stulpelis“, kaip siūloma HTML. Tada programai lengviau atpažinti dokumentą kaip užsakymą ir atlikti likusį darbą: parodyti šį užsakymą viena ar kita forma, pervesti per apskaitos sistemą arba pasirūpinti, kad nauji marškinėliai būtų pristatyti iki jūsų durų. Kita diena.

Mes, W3C darbo grupė, tokį projektą pradėjome kurti dar 1996 m. Idėja buvo stipri, nors ir ne visai originali. Daugelį kartų redaktoriai ir spaustuvininkai ranka rašytus tekstus žymėjo rinkėjų ženklais. Ši „žymėjimo kalba“ vystėsi savarankiškai iki 1986 m., kai po dešimties metų darbo Tarptautinė standartizacijos organizacija (ISO) pristatė naujų žymėjimo kalbų kūrimo sistemą.

Ši kalbos aprašymo kalba, vadinama SGML (standartinė apibendrinta žymėjimo kalba), įrodė savo naudingumą daugelyje didelių leidybos sistemų. Ir net HTML apibrėžimą gavo per SGML. Vienintelis SGML sunkumas buvo tas, kad jis buvo visaėdis - ten buvo daug protingų dalykų, kad būtų sumažintas klavišų paspaudimas, nes tuo metu kiekvienas baitas buvo skaičiuojamas. Štai kodėl šiandienos žiniatinklio naršyklės su ja neveikia gerai.

Kurdama XML, mūsų darbo grupė pašalino SGML lukštus ir pasiūlė labai tikslingą ir lengvai suprantamą metakalbą. XML bazė yra taisyklių rinkinys, kurio vadovaudamasis kiekvienas gali susikurti savo žymėjimo kalbą. Šios taisyklės parenkamos taip, kad viena nedidelė programa (dar vadinama analizatoriumi arba sintaksės analizatoriumi) galėtų susidoroti su bet kurios naujos kalbos atpažinimu. Dar kartą pažiūrėkime į gydytojo, kuris norėtų tyrimus perduoti specialistui, pavyzdį. Jei medicinos specialistai iš XML sukurtų savo žymėjimo kalbą, kad koduotų gydytojų pastabas (kelios grupės ilgą laiką sprendžia šią problemą), tada gydytojo žinutėje jo kolegai gali būti kažkas panašaus į


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

Esant tokiai nuostatai, nebėra sunku parašyti programą savavališkam kompiuteriui, kad jis atpažintų šiuos standartizuotus medicininius įrašus ir galėtų įvesti šią tiesiogine prasme svarbią informaciją į savo duomenų bazę.

Kaip HTML buvo sukurtas tam, kad kiekvienas galėtų skaityti interneto dokumentus, XML suteikia mums esperanto kalbą, kurią gali skaityti ir rašyti visi, nepaisant daugybės nesuderinamų platformų. Taip, net ir paprasto žmogaus požiūriu XML turi didesnę semantinę apkrovą (skirtingai nei kiti duomenų formatai), nes jame nėra nieko, kas atrodytų kaip neįskaitomas tekstas.

XML universalumo galią lemia minimalus gerai parinktų taisyklių rinkinys. Pirma, žymos visada sudaro porą, supančią tekstą, kuriam jos taikomos, skliausteliuose. Antra, suporuotas žymas galima įdėti viena į kitą kaip kabutes, todėl galite sukurti sudėtingas kelių lygių struktūras.

Įdėjimo taisyklė automatiškai užtikrina bet kurio XML dokumento paprastumą ir sukuria struktūrą, kompiuterių moksle žinomą kaip medį. Panašiai kaip šeimos medyje, bet koks grafinis ar tekstinis dokumento elementas yra kurio nors kito elemento tėvas, sūnus ar brolis (tėvas, vaikas, brolis) ir šis santykis visada yra unikalus. Žinoma, medžiai neaprašo visos duomenų struktūrų įvairovės, tačiau jie apima daugumą tipinių kompiuterių naudojimo atvejų. Be to, medžiai programišiams itin patogūs. Nėra jokių problemų parašyti nedidelę kodo dalį, kad pertvarkytumėte operacijas arba parodytumėte visiškai suprantamą kvitą, kai kvitas vaizduojamas kaip medis.

Antrasis universalios XML galios šaltinis yra jo pasitikėjimas naujuoju Unicode standartu – kodavimo sistema, leidžiančia maišyti tekstą visomis pagrindinėmis pasaulio kalbomis. Priešingai, HTML, kaip ir daugumoje tekstų rengyklės, dokumentas, kaip taisyklė, gali būti tik viena konkrečia kalba, nesvarbu, kuria kalba – anglų, japonų ar arabų.
Ir jei programa nežino tam tikros kalbos kodavimo, galite pamiršti dokumentą (HTML). Gali būti ir blogiau: pavyzdžiui, dėl kodavimo nenuoseklumo Taivane parašytos programos dažnai negali perskaityti tekstų, skirtų žemyninei Kinijai. XML atveju, jei programa žino, kaip teisingai su ja dirbti, ji gali apdoroti bet kokį kodavimo derinį. Taigi XML ne tik leidžia keistis duomenimis tarp skirtingų kompiuterių platformų, bet ir leidžia įveikti nacionalinius bei kultūrinius barjerus.


Pasaulinio laukimo pabaiga

Didėjant XML, žiniatinklis turėtų tapti daug jautresnis. Šiandien viskas, ką gali padaryti tinkle esantys kompiuterių įrenginiai, nesvarbu, ar jie būtų galingi staliniai kompiuteriai, ar kišeniniai tvarkyklės, yra ne kas kita, kaip gauti formą per „GET“, ją užpildyti, tada siųsti pirmyn ir atgal į žiniatinklio serverį. darbas su forma nebus baigtas. XML suteikia mums galimybę perteikti duomenų struktūrą ir semantiką į formą, todėl visi tie įrenginiai gali atlikti pagrindinį apdorojimą reikiamoje vietoje ir nedelsiant. Tai ne tik sumažins serverių apkrovą, bet ir turėtų žymiai sumažinti tinklo srautą.

Norėdami iliustruoti, įsivaizduokite, kaip interneto kelionių agentūra ieškos skrydžio iš Londono į Niujorką liepos 4 d. Greičiausiai pamatysite kelis kartus ilgesnį sąrašą, nei telpa ekrane. Šį sąrašą galima sutrumpinti nustačius tikslesnius parametrus, tokius kaip išvykimo laikas, kaina ar aviakompanija, tačiau tokiu atveju tiesiog „užkraunate“ kelionių agentūros serverį savo užklausa ir tenka laukti atsakymo. Tačiau jei šis ilgas skrydžių sąrašas jums būtų pateiktas XML formatu, biuras galėtų prie jo pridėti nedidelę Java programėlę, kurios pagalba galėsite akimirksniu ir lengvai surūšiuoti ir išfiltruoti nereikalingus, nesiimdami jokios sąveikos. su serveriu. Padauginkite tai iš milijonų interneto vartotojų ir bendras efektas bus įspūdingas.

Kuo daugiau informacijos internete bus pažymėta konkrečios pramonės šakos XML žymomis, tuo lengviau bus rasti tai, ko ieškote. Šiandien „darbo biržos maklerio darbo“ paieška internete užgrius skelbimų lavina, tačiau apie darbą jų tikriausiai bus vos keletas – didžioji dalis darbų slepiasi nemokamose robotų paieškos svetainių skelbimų lentose. nemėgsta dirbti. O dabar Amerikos laikraščių asociacija kuria savo skelbimų žymėjimo kalbą XML, kuri žada padaryti paieškos procesą daug efektyvesnį.

Nesvarbu, ar tai tik tarpinis žingsnis. Bibliotekininkai jau seniai žino būdus, kaip greitai ką nors rasti – žiūri ne į dokumentus, o į kompaktiškus jų raktų aprašymus, kurie nurodo tik pačius šaltinius. Būtent tai yra katalogai su pavyzdžiu bibliotekos kortelių pavidalu. Tokia informacija apie informaciją vadinama „metaduomenimis“.

Todėl nuo pat pradžių svarbus vaidmuo XML projekte buvo skirtas lydinčio metaduomenų standarto sukūrimui. Vasario mėnesio išteklių aprašo sistema (RDF) turėtų atlikti tą patį vaidmenį, kaip ir bibliotekos knygų rodyklės kortelės, skirtos informacijai internete. Kadangi RDF metaduomenys plinta visame žiniatinklyje, paieška taps daug greitesnė ir aktualesnė nei šiuo metu. Žiniatinklyje nėra bibliotekininkų, bet kiekvienas žiniatinklio valdytojas taip pat nori, kad jo svetainė būtų lengvai randama, todėl tikimės, kad RDF, kai žmonės atras jos galią, turės didžiulį poveikį internetui.

Žinoma, informaciją galima gauti ir neieškojus. Galų gale, žiniatinklis yra hipertekstas – milijardai puslapių su hipersaitais – tais pabrauktais žodžiais, kuriuos tereikia spustelėti, kad būtų nukeltas į kitą puslapį. XML hipersaito mechanizmas taip pat labai patobulintas. XML susiejimo specifikacija, vadinama XLink, kurią W3C rengia iki metų pabaigos, leis vartotojui pasirinkti iš kelių paskirties vietų. Kitas hipersaito tipas leis jums gauti tekstą ar vaizdą tiesiai spustelėjus, todėl lankytojas neišeis iš puslapio.

Bene naudingiausia XLink dalis bus ta specifikacijos dalis, kuri leidžia autoriams pasinaudoti netiesioginėmis nuorodomis, siunčiant vietoj pačių puslapių į kokią nors suvestinę duomenų bazę. Taigi, jei autorius pakeitė puslapio adresą, tiesiog redaguojant vieną įrašą tokioje duomenų bazėje, nesunku atnaujinti visas nuorodas, vedančias į jo puslapį. Tai padės jums atsikratyti vis dažnesnių pranešimų „404 failas nerastas“, nurodančių „nutrūkusią“ nuorodą.

Efektyvesnio apdorojimo, tikslesnės paieškos ir lankstesnio susiejimo derinys pakeis žiniatinklio struktūrą ir atvers visiškai naujus informacijos prieigos būdus. Vartotojams šis naujas tinklas bus žymiai greitesnis, galingesnis ir naudingesnis nei šiandieninis tinklas.


Reikalingas bendradarbiavimas

Žinoma, ne viskas taip paprasta. XML leidžia kiekvienam sukurti naują kalbą savaip, tačiau sukurti gerą kalbą yra užduotis, kurios sunkumų nereikėtų nuvertinti. Kalbos sugalvojimas yra tik pradžia: naivu tikėtis, kad jūsų žymų reikšmės bus akivaizdžios kitiems žmonėms, kol nepateiksite kalbos vadovo, ir bus aiškios kompiuteriams, kol neparašysite veikiančių programų. su kalbos žymomis.

Nesunku paaiškinti, kodėl taip yra. Jei viskas, ko reikia norint išmokyti kompiuterį apdoroti užsakymus, būtų žymos, XML nereikėtų. Net nereikėtų programuotojų, nes kompiuteriai yra pakankamai protingi, kad viską padarytų patys.

Kodėl mums reikia XML, yra ne magija, o efektyvumas. XML nustato pagrindines taisykles, kurios supaprastina programavimo detales viename lygyje – kad panašių pomėgių žmonės galėtų susikoncentruoti ties kitu kietu riešutėliu – susitarimais dėl to, kaip tiksliai jie nori formatuoti duomenis, kuriais nori keistis. Tai labai sudėtinga problema, nors ir ne nauja.

Ir tokių susitarimų bus, nes didėjantis kompiuterių platformų nesuderinamumas lemia terminų vėlavimus, finansinius nuostolius ir sumaištį beveik visose veiklos srityse. Žmonės nori keistis idėjomis ir atlikti darbus, nepaisant to, kad visi turi skirtingus kompiuterius – o kad tai taptų realybe, abipusis privačių (skirtingoms veiklos sritims) kalbų tobulinimas dar turi nueiti ilgą kelią. . Tačiau naujų akronimų, besibaigiančių „ML“, gausa rodo neabejotinai novatorišką dvasią, kurią XML suteikė mokslui, verslui ir švietimui.

Kurdami naują XML žymėjimo kalbą, jos kūrėjai turi susitarti dėl trijų dalykų: kokios žymos ten bus, kaip jos gali būti viena kitos viduje ir kaip jos turėtų būti apdorojamos. Pirmieji du taškai – kalbos žodynas ir struktūra – dabar užkoduoti naudojant DTD (dokumento tipo apibrėžimą). XML standartas neįpareigoja kalbų kūrėjų griebtis DTD, tačiau daugumoje naujų kalbų, matyt, bus DTD aprašymai – tai leidžia programuotojams lengviau rašyti programas, kurios supranta šį žymėjimą ir iš jo išgauna ką nors prasmingo. Mums taip pat reikės vadovų rinkinių, kuriuose aprašytos visų žymų reikšmės žmonių kalba. Pavyzdžiui, HTML turi DTD aprašą, tačiau taip pat yra šimtai puslapių žinomų HTML vadovų, į kuriuos programuotojai vadovaujasi kurdami naršykles ir kitas žiniatinklio programas.


Esė apie stilių

Vartotojams svarbiausia yra tai, ką gali padaryti programa, o ne tai, kas parašyta jos aprašyme. Apskritai žmonės nori, kad programos leistų matyti XML koduotą informaciją skaitoma forma. Tačiau pačiose XML žymose nėra jokio specialaus žymėjimo, nurodančio. kaip duomenys turi būti pateikiami ekrane ar spausdintame lape.

Leidėjams, siekiantiems „rašyti vieną kartą ir skelbti visur“, svarbiausia „pagimdyti“ leidinį, o paskui „išlieti“ jį į daugybę leidinių tipų – tiek spausdintų, tiek elektroninių. XML jiems padeda tokiu būdu: turinys pažymimas aprašomosiomis žymomis, kurios nepriklauso nuo atvaizdavimo aplinkos. Toliau leidėjas pateikimo taisykles gali įforminti taip vadinama forma. stilių lentelės, kurios automatiškai „stiiliuoja“ jo darbą įvairiems įrenginiams ir aplinkoms. Tokios XML kalbos standartas, sukurtas šiems tikslams, vadinamas Extensible Stylesheet Language (XSL).

Naujausios naršyklės versijos gali skaityti XML dokumentus, pasirinkti atitinkamo stiliaus failus ir naudoti juos rūšiuojant ir formatuojant informaciją ekrane. Skaitytojas gali net nesuprasti, kad jis susiduria su XML, o ne su HTML, nebent pastebėtų, kad svetainės su XML yra greitesnės ir lengviau naudojamos.

Regėjimo negalią turintys žmonės taip pat gali laisvai naudotis XSL dokumentų publikavimo principais, nes XSL suteikia jiems galimybę skaityti XML Brailio raštu arba balsu. Šie privalumai galioja ir kitiems: pavyzdžiui, keliaujančiam pardavėjui, norinčiam patogiai naršyti internete iš savo automobilio, tikriausiai būtų visai patogu klausytis puslapių su garsu.

Nors iš pradžių Tinklo branduolį sudarė mokslinės ir edukacinės programos, šiandien Tinklas jau yra komercija (arba, galima sakyti, komerciniai lūkesčiai), kaupianti kurą greitam startui. Visi prisimena pastarojo meto rezonansą, kurį sukėlė internetinių pardavimų šuolis, tačiau nereikia sakyti, kaip greitai verslininkai bendrauja tarpusavyje internete. Didžiųjų gamintojų prekių srautas prašo tinklo automatizavimo. Tačiau šiandieninės verslo sistemos remiasi sudėtinga programų sąveika, o praktiškai tai veikia labai prastai, nes sėkmei reikalingas apdorojimo procesų vienodumas, o tai dar toli gražu nepasiekta.

Šimtmečius žmonės sėkmingai vykdė verslą keisdamiesi standartiniais dokumentais: užsakymais, sąskaitomis faktūromis, deklaracijomis, kvitais ir kt. ir tt Dokumentai pasiteisino verslui, ir niekas nereikalavo, kad viena dalyvaujanti šalis žinotų kitos vidinį darbą. Bet koks dokumentas buvo parodytas tiksliai tiek, kiek turėjo būti rodomas informacijos gavėjui, ir ne daugiau. Matyt, keitimasis dokumentais yra pats teisingiausias būdas užsiimti verslu ir internete. Tačiau tai visai nebuvo ta užduotis, kuriai buvo sukurtas HTML.

Ir atvirkščiai, XML sukurtas specialiai apsikeitimui dokumentais, ir akivaizdu, kad elektroninės komercijos pagrindas remsis susitarimais, išreikštais milijonais internete sklandančių XML dokumentų.

Taigi, XML patobulintas žiniatinklis turėtų tapti greita, draugiška ir geresne verslo vieta savo vartotojams. Dar daugiau XML reikia žiniatinklio valdytojams ir interneto dizaineriams. Programuotojų armijai reikės žinių apie naujas XML kalbas „iki galo“. Ir nors savamokslių programišių laikai [autoriai turėjo omenyje geriausią šio žodžio prasmę] vis dar tęsiasi, jų populiacijai jau gresia pavojus.

Rytojaus interneto dizaineris turi būti įgudęs ne tik kurti tekstą ir grafiką, bet ir kurti daugiasluoksnes, tarpusavyje susijusias sistemas, pagrįstas DTD, duomenų medžiais, hipersaitų struktūromis, metaduomenų ir stiliaus komponentais – stipria ir pažangia antros kartos žiniatinklis.