Bakit kailangan natin ng XML? XML, para saan ito kapaki-pakinabang? Ano ang ginagamit ng xml na wika?

Ang XML Schema ay mas malakas kaysa sa DTD.

Suporta para sa mga uri ng data ng XML Schema

Isa sa pinakamahalaga ay ang kakayahan ng mga uri ng data ng XML Schema na suportahan.

Salamat sa suporta sa uri ng data:

  • Madali nitong mailarawan ang wastong nilalaman ng dokumento
  • Maaaring mas madaling suriin kung tama ang data
  • Mas madali kang makakapagtrabaho kasama ng data mula sa database
  • Ang data ay maaaring mas madaling matukoy sa pamamagitan ng mga paghihigpit (data facet)
  • Ang modelo ng data (o format ng data) ay madaling matukoy
  • Maaari itong maging mas madaling mag-convert ng data sa pagitan ng iba't ibang uri ng data

Tala ng Editor: Ang mga hadlang sa data, o tinukoy na mga aspeto, ay isang XML - Schema prototype na termino, ang Chinese ay maaaring isalin bilang "mukha", na ginagamit upang limitahan ang wastong halaga ng isang uri ng data.

Mga XML Schema gamit ang XML syntax

Ang isa pang mahalagang tampok ng XML Schema ay ang mga ito ay nakasulat sa XML.

Ang XML na pagsulat ng XML Schema ay may maraming mga pakinabang:

  • Nang hindi kinakailangang matuto ng bagong wika
  • Maaari kang gumamit ng XML editor upang i-edit ang mga schema file
  • Maaari kang gumamit ng XML parser para i-parse ang iyong mga schema file
  • Maaaring i-render ang schema gamit ang XML DOM
  • Maaaring ma-convert ang schema gamit ang XSLT

Maaaring i-secure ng XML Schema ang paglilipat ng data

Kapag ang data ay inilipat mula sa nagpadala patungo sa tatanggap, ang punto ay ang parehong partido ay dapat igalang ang nilalaman ng parehong "mga inaasahan".

Sa isang XML schema, mauunawaan ng nagpadala at ng tatanggap kung paano inilarawan ang data.

Ang isang Data tulad ng "03.11.2004" sa ilang bansa ay maaaring ipakahulugan bilang Nobyembre 3, habang sa ibang mga bansa ay Marso 11.

Gayunpaman, ang uri ng data ng XML ng elemento ay, halimbawa:<дата типа = "дата"> 2004-03-11 upang matiyak ang pare-parehong pag-unawa sa nilalaman, dahil ang XML data type na "date" ay nangangailangan ng format na "YYYY-MM-DD".

Maaaring palawigin ang XML Schema

Ang mga XML schema ay napapalawak dahil nakasulat ang mga ito sa XML.

Sa pamamagitan ng pinalawak na kahulugan ng schema maaari kang:

  • Muling paggamit ng iyong schema sa ibang schema
  • Binuo gamit ang mga karaniwang uri na nagmula sa sarili mong mga uri ng data
  • Mga scheme ng maraming link sa isang dokumento

Hindi sapat ang magandang hugis

Tinawag namin ang dokumentong ito na umaayon sa XML syntax ng mahusay na nabuong XML na mga dokumento, gaya ng:

  • Dapat itong magsimula sa isang XML deklarasyon
  • Dapat itong magkaroon ng isang natatanging elemento ng ugat
  • Dapat tumugma ang panimulang tag sa pangwakas na tag
  • Ang mga elemento ay case sensitive
  • Ang lahat ng mga elemento ay dapat na sarado
  • Ang lahat ng mga elemento ay dapat na naka-nest nang tama
  • Dapat gamitin ng mga espesyal na character ang bagay

Kahit na ang mahusay na form ng dokumento ay hindi pa rin magagarantiya na hindi sila maglalaman ng mga error, at ang mga error na ito ay maaaring magkaroon ng malubhang kahihinatnan.

Isaalang-alang ang sumusunod na sitwasyon: mag-order ka ng 5 dosenang laser printer, sa halip na lima. Sa XML Schema, karamihan sa mga error na ito ay maaaring makuha sa iyong validation software.

Kadalasan, maraming user ng mga modernong computer system at software na produkto ng iba't ibang uri ang nakakaharap ng mga file na may extension na .xml. Maraming tao ang walang ideya kung anong uri ng dokumento ito o kung paano ito buksan. Ngayon ay isasaalang-alang ito Sa parehong oras, malalaman natin kung ano ito at kung ano ito ay kinakailangan.

Ano ang isang XML file

Magsimula tayo, marahil, sa katotohanan na, mula sa punto ng view ng mga modernong teknolohiya ng computer at mga programa na ginagamit upang lumikha ng mga dokumento ng ganitong uri, ito ay isang text file kung saan nakasulat ang mga utos ng unibersal na extensible markup language, na medyo nakapagpapaalaala sa kilalang markup tool na HTML.

Karaniwan, ang isang XML file ay naglalaman ng pangkalahatang impormasyon tungkol sa isang bagay, na ipinahayag nang deskriptibo (higit pa tungkol dito sa ibang pagkakataon). Tulad ng para sa data na nakaimbak sa naturang mga lalagyan, maaari itong maging mga database na kadalasang ginagamit para sa mga katalogo ng video at audio sa Internet, na-save na mga kagustuhan ng gumagamit para sa mga programa at application, pati na rin ang buong mga web page.

Bilang halimbawa, maaari kang kumuha, sabihin, isang audio album ng ilang artist. Kasama sa XML file ang impormasyon tungkol sa taon ng paglabas, genre, numero at pangalan ng mga track, kasikatan, atbp. Gayunpaman, kapag bumibisita sa mga mapagkukunan sa World Wide Web, hindi kailangang isipin ng surfer ang pisikal na pagbubukas ng naturang file ng impormasyon, dahil kahit na nagpe-play ng kanta online sa isang player Ang lahat ng data ay ipapakita katulad ng mga nilalaman sa karaniwang mga MP3 file sa anyo ng mga ID3 tag. Ang impormasyon ay ikinarga sa track na nilalaro.

Uri ng XML file

Kung titingnan mo ang file, mapapansin mo kaagad na sa loob nito ang mga katangian ng anumang bagay ay inilarawan gamit ang mga tag at mga katangian na manu-manong itinakda.

Hindi namin pinag-uusapan ang mga pangunahing utos ng wika mismo, dahil ang karaniwang gumagamit ay hindi nangangailangan ng ganoong impormasyon. Ang tanging bagay na mapapansin ay walang tiyak na bilang ng mga elemento na ginamit upang ilarawan ang isang bagay sa format na ito: kung ilan ang kailangan ay tinukoy.

Paano buksan ang karaniwang format ng XML

Ngayon tingnan natin kung paano magbukas ng XML file. Tulad ng malamang na naunawaan na ng marami, ito ay isang text file, na nangangahulugang ang pinakamadaling paraan upang tingnan o i-edit ito ay ang paggamit ng anumang editor, kahit na ang pinaka primitive. Oo, hindi bababa sa parehong "Notepad" mula sa karaniwang hanay ng Windows.

Gayunpaman, ang lahat ay hindi gaanong simple dito. Ang katotohanan ay ang pag-double-click sa isang file nang hindi nagtatakda ng naaangkop na kaugnayan sa anumang programa ay hindi magbubukas. Sa pinakamainam, mag-aalok ang system ng isang listahan ng mga pinaka-angkop na application. Maaari kang pumili ng isang programa na iyong pinili, at sa parehong oras suriin ang kahon sa tabi ng pagpipilian upang patuloy na gamitin ang napiling application para sa lahat ng mga file ng ganitong uri.

Magagawa mo ito nang iba sa pamamagitan ng pag-right-click sa file at pagkatapos ay piliin ang "Buksan gamit ang ..." na utos, pagkatapos nito, muli, piliin ang ninanais na application alinman mula sa listahan, o tukuyin ang lokasyon ng pangunahing executable na bahagi (karamihan kadalasan ito ay isang EXE file).

Ang ikatlong paraan upang buksan ang isang XML file ay ang unang paglunsad ng programa at pagkatapos ay gamitin ang file open menu (sa karamihan ng mga kaso ito ay Ctrl + O). Sa kasong ito, ganap na hindi kinakailangan na gumamit ng Notepad. Mangyaring, ang file ay bubukas nang walang anumang mga problema sa parehong Word application at mga katulad na mga. Kahit na ang Microsoft Excel ay may kakayahang magbukas ng data sa format na ito.

Gayunpaman, kung may pangangailangan na i-edit ang XML na format, mas mainam na gumamit ng mga propesyonal na kagamitan na sumusuporta sa syntax ng wika, halimbawa, Oxygen XML Editor, XML Marker o EditiX Lite Version. Naturally, ang mga ito ay hindi lahat ng mga utility na maaaring gumana sa wika ng file sa pinakamataas na antas. Ngayon ay makakahanap ka ng maraming ganoong mga programa.

Ngayon ng ilang mga salita tungkol sa kung bakit minsan lumilitaw ang isang XML file error kapag binubuksan. Kadalasan ito ay dahil sa isang paglabag sa integridad ng file mismo, pati na rin ang hindi tamang pagpapakilala ng mga mapaglarawang katangian o tag. Bilang karagdagan, ang Excel ay may limitasyon sa kung gaano karaming mga hilera ang maaaring ipakita, kaya sa kasong ito ay maaaring hindi kumpleto ang data kapag binuksan.

Mga posibleng error kapag binubuksan ang isang XML file bilang isang email attachment

Minsan maaaring lumitaw ang mga error kapag sinubukan mong buksan ang isang file na isang email attachment. Kadalasan, nalalapat ito sa mga karaniwang email client tulad ng Outlook Express.

Ang katotohanan ay ang attachment ay unang nai-save bilang pansamantalang data (madalas na may karagdagang .tmp na idinagdag sa pangunahing extension), at ito ang naa-access.

Upang maiwasan ang sitwasyong ito, kailangan mo lamang na i-save ang attachment sa orihinal nitong format sa anumang maginhawang lokasyon sa disk o naaalis na media, at pagkatapos ay gamitin ang mga karaniwang pamamaraan na inilarawan sa itaas.

Sa halip na kabuuan

Tulad ng nakikita mo, walang mahirap sa pag-unawa sa istraktura at pamamaraan ng pagbubukas ng mga file ng format na ito. Dito, gayunpaman, ang isyu ng paglikha ng XML data ay hindi pangunahing isinasaalang-alang, dahil upang lubos na maunawaan ang proseso kailangan mong malaman ang hindi bababa sa mga pangunahing kaalaman ng wika mismo. Kung hindi, sa palagay ko ang mga gumagamit ay hindi magkakaroon ng anumang mga paghihirap sa mga file ng format na ito.

Bakit kailangan ang XML na ito?

[Kamakailan, na may kaugnayan sa paglitaw ng mga pahinang ito, ang pinakamadalas
Ang tanong para sa akin ay: "Sabihin mo sa akin, bakit kailangan ito, XML?
Hindi ba sapat ang HTML para sa atin? "Walang gaanong oras (o katalinuhan;) upang ihanda ang sarili kong mga publikasyon, at lubos na iginagalang ang mga klasiko, mas pinili kong mabilis na magsalin ng isang mahusay na artikulo sa pamagat na subj.
- marahil ito ang unang yugto ng seryeng "upang tumulong" ]

Jon Bosak, Tim Bray
XML at ang Second-Generation Web
mula sa Scientific American, Mayo 1999

Bigyan ang mga tao ng ilang mga tip, at malalaman nila ang natitira sa kanilang sarili. Sa pagtingin sa pahina, kung saan ang mga malalaking bloke ng teksto ay nahahati sa mas maliit, ang lahat ay mabilis na napagtanto na ito ang simula ng isang artikulo. Sa pagtingin sa listahan ng grocery, maaari mong mabilis na hulaan na ito ay "mga tagubilin" para sa pagbisita sa tindahan. Kapag nakita mo ang mga column ng mga numero, naiintindihan mo na ito ay isang bank account. Ang mga kompyuter ay hindi pa ganoon katalino - lahat ng ito ay dapat na maiparating sa kanila nang eksakto - kung ano ang eksaktong dapat nilang harapin at kung ano ang kinakailangan sa kanila para dito.

Ito ay para sa layuning ito - upang gumawa ng impormasyon na naglalarawan sa sarili - na naimbento ang isang bagong markup language ng dokumento - Extensible Markup Language (XML). Ang mga madaling binibigkas na mga pagbabagong ito (isang "self-described" na dokumento, isang pagbabago sa mga patakaran ng komunikasyon sa mga computer) ay nagdadala ng napakalaking potensyal - ang papel ng Internet mula sa isang daluyan ng paghahatid ng impormasyon ay nagsisimulang lumawak sa iba pang mga uri ng aktibidad ng tao. Sa katunayan, mula nang maaprubahan ito ng W3C noong 1998, nagsimulang tumagos ang detalye ng XML sa lahat ng dako tulad ng wildfire - sa industriya at agham, sa produksyon ng mga produkto at gamot.

Inaasahan ng mga mahilig sa XML na magbibigay ng pagkakataong malutas ang ilang pandaigdigang problema ng Web. Ang mga problemang ito ay kilala: una, ang Internet, isang napakabilis na network, ay madalas na kumikilos nang mas masahol kaysa sa isang pagong; at pangalawa, bagama't halos lahat ng impormasyon ay makukuha sa Internet, kadalasan ay napakahirap na makahanap ng isang bagay na kailangan doon.

Ang parehong mga problemang ito ay pangunahing sanhi ng likas na katangian ng pangunahing wika ng Web - HTML. At bagama't kitang-kita ang tagumpay ng HTML sa iba pang mga wikang electronic publishing na kailanman iminungkahi, masyadong kalat ang HTML: mahalagang sinasabi lang nito sa browser kung paano maglagay ng text, mga larawan, at mga button sa isang pahina. Nakatuon ang HTML sa presentasyon ng impormasyon at samakatuwid ay medyo madaling matutunan, ngunit ito ay may halaga.

Ito ay makikita sa pagiging kumplikado ng pagbuo ng mga web site, maliban kung ang mga site na ito ay nilalayong maging tulad ng mga fax machine, na nagpapadala ng mga pahina sa sinumang magtatanong. Higit sa kalahati ng mga tao at kumpanya sa buong mundo ay mas gusto ang mga website na maaaring tumanggap ng mga order mula sa mga user, magpadala ng mga diagnosis ng sakit, at kahit na magpatakbo ng mga maselan na instrumental na operasyon sa mga pabrika at siyentipikong laboratoryo. Ang ganitong mga gawain ay _NEVER_ ay nahaharap sa HTML!.

Halimbawa, kahit na kaya ng iyong doktor na "i-extract" ang mga pagsusulit na kinuha mula sa iyong medical card patungo sa kanyang viewer, malamang na hindi niya maipadala ang mga ito sa network sa isa pang espesyalista upang maipasok ang natanggap na sagot sa kanyang database. Hindi alam ng kanyang computer kung ano ang gagawin sa impormasyong kasing linaw sa kanya

bubuyog bubuyog

o bubuyog bubuyog.
Ang maalamat na Kernighan ay minsang nabanggit na ang buong lansihin ng prinsipyo ng WYSIWYG (kung ano ang nakikita ko ay kung ano ang nakukuha ko) ay kapag wala kang nakita, karaniwan mong nagagawang makakuha ng eksaktong parehong halaga.

Ang mga salitang iyon sa itaas na nakapaloob sa mga anggulong bracket ay tinatawag na mga tag. Walang tag ng pag-parse sa HTML, at samakatuwid ang iba pang disbentaha nito: inflexibility. Ang pagdaragdag ng bagong tag sa isang wika ay isang bureaucratic red tape, napakahaba na walang mag-aabala dito. Ngunit magiging maganda para sa bawat programa na magkaroon ng sarili nitong mga tag, hindi lamang ang nasa halimbawa sa doktor.

Ito ay higit na nagpapaliwanag sa kasalukuyang mabagal na bilis ng paglikha ng mga online na tindahan, mga mail-order na katalogo at iba pang mga interactive na site. Kung babaguhin mo ang bilang ng mga unit ng order at ang paraan ng pagpapadala, at makakita ng kaunting numero na binago sa field na “halaga,” kailangan mo pa ring hilingin sa remote (nasobrang trabaho) server na magpadala sa iyo ng isang kumpletong bagong nabuong pahina na may graphics at lahat ng iba pa. Habang ang iyong sariling malakas na computer ay uupo na walang ginagawa dahil natutunan lang nito ang isang bagay tulad ng

At , ngunit hindi mga presyo na may mga opsyon sa paghahatid.

Idagdag dito ang mahinang kalidad ng mga kakayahan sa paghahanap sa Web. Dahil walang paraan upang partikular na markahan ang impormasyon ng presyo, talagang imposibleng maghanap sa web para sa mga pahina batay sa "presyo."


May luma, may bago

Sa prinsipyo, ang solusyon ay simple: ang mga tag ay kailangang ipahiwatig kung anong uri ng impormasyon ito, at hindi kung ano ang dapat na hitsura nito. Halimbawa, markahan ang mga bahagi ng isang order para sa isang kamiseta na may mga tag na "presyo, laki, dami, kulay," sa halip na "bold, talata, hilera, column," gaya ng iminungkahi sa HTML. Pagkatapos ay mas madali para sa programa na tukuyin ang dokumento bilang isang order at gawin ang natitirang bahagi ng trabaho: ipakita ang order na ito sa isang form o iba pa, ilagay ito sa sistema ng accounting, o siguraduhin na ang bagong kamiseta ay ihahatid sa iyong pintuan sa susunod na araw.

Kami, ang W3C working group, ay nagsimulang bumuo ng naturang proyekto noong 1996. Ang ideya ay malakas, bagaman hindi ganap na orihinal. Para sa mga henerasyon, ang mga editor at printer ay minarkahan ang mga sulat-kamay na teksto na may mga marka ng mga typesetters. Ang nasabing "markup language" ay binuo nang nakapag-iisa hanggang 1986, nang, bilang resulta ng sampung taon ng trabaho, ang International Organization for Standardization (ISO) ay nagpakilala ng isang sistema para sa paglikha ng mga bagong markup language.

Tinatawag na SGML (Standard Generalized Markup Language), ang wikang paglalarawan ng wikang ito - isang metalanguage - ay napatunayan ang pagiging kapaki-pakinabang nito sa maraming malalaking sistema ng pag-publish. At kahit na nakuha ng HTML ang kahulugan nito sa pamamagitan ng SGML. Ang tanging kahirapan sa SGML ay na ito ay omnivorous - mayroong maraming matalinong bagay doon upang mabawasan ang mga keystroke, dahil sa oras na iyon ang bawat byte ay binibilang. Iyon ang dahilan kung bakit ang mga web browser ngayon ay hindi gumagana nang maayos dito.

Sa paglikha ng XML, inalis ng aming nagtatrabahong grupo ang SGML ng mga husks nito at nagmungkahi ng isang napaka-target at natutunaw na metalanguage. Ang XML base ay isang hanay ng mga panuntunan, na ginagabayan kung saan, sinuman ay maaaring lumikha ng kanilang sariling markup language. Pinili ang mga panuntunang ito upang ang isang solong maliit na programa (tinatawag ding parser o syntax analyzer) ay makayanan ang pagkilala sa anumang bagong wika. Tingnan natin muli ang halimbawa ng isang doktor na gustong maglipat ng mga pagsusuri sa isang espesyalista. Kung ang mga medikal na propesyonal ay gagawa ng kanilang sariling markup language mula sa XML upang i-encode ang mga tala ng doktor (isang bilang ng mga grupo ang nagtatrabaho sa problema sa mahabang panahon), kung gayon ang isang mensahe mula sa isang doktor sa kanyang kasamahan ay maaaring naglalaman ng isang bagay tulad ng


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

Sa setting na ito, hindi na mahirap magsulat ng isang programa para sa isang arbitrary na computer upang makilala nito ang mga pamantayang medikal na rekord at maipasok ang literal na mahahalagang impormasyong ito sa database nito.

Kung paanong ang HTML ay idinisenyo upang payagan ang sinuman na magbasa ng mga dokumento sa Internet, binibigyan tayo ng XML ng isang Esperanto na maaaring basahin at isulat ng sinuman, sa kabila ng maraming hindi katugmang mga platform. Oo, kahit na mula sa punto ng view ng isang ordinaryong tao, ang XML ay may higit na semantic load (hindi tulad ng iba pang mga format ng data), dahil wala sa loob nito na magmukhang hindi nababasa na teksto.

Ang kapangyarihan ng versatility ng XML ay nagmumula sa kaunting hanay ng mga napiling panuntunan. Una, ang mga tag ay palaging bumubuo ng isang pares, na nakapalibot sa teksto kung saan ang mga ito ay inilapat na may mga bracket. Pangalawa, ang mga nakapares na tag ay maaaring ilagay sa loob ng bawat isa tulad ng mga panipi, na nagbibigay-daan sa iyong bumuo ng mga kumplikadong multi-level na istruktura.

Awtomatikong ipinapatupad ng nesting rule ang pagiging simple sa anumang XML na dokumento, na gumagawa ng istraktura na kilala sa computer science bilang isang puno. Katulad ng isang family tree, ang anumang graphic o text na elemento ng isang dokumento ay ang ama, anak o kapatid na lalaki (magulang, anak, kapatid) ng ibang elemento, at ang relasyon na ito ay palaging natatangi. Siyempre, hindi inilalarawan ng mga puno ang buong iba't ibang istruktura ng data, ngunit sinasaklaw nila ang karamihan sa mga karaniwang kaso ng paggamit ng computer. Bilang karagdagan, ang mga puno ay lubhang maginhawa para sa mga programmer. Walang problema sa pagsulat ng isang maliit na piraso ng code upang muling ayusin ang mga transaksyon o magpakita ng isang ganap na nauunawaan na resibo kapag ang resibo ay kinakatawan bilang isang puno.

Ang pangalawang pinagmumulan ng unibersal na kapangyarihan ng XML ay ang pag-asa nito sa bagong pamantayan ng Unicode, isang sistema ng pag-encode na nagpapahintulot sa teksto sa lahat ng pangunahing wika sa mundo na maghalo. Sa kabaligtaran, sa HTML, tulad ng sa karamihan ng mga word processor, ang isang dokumento, bilang panuntunan, ay maaari lamang sa isang partikular na wika, kahit alin - Ingles, Hapon o Arabic.
At kung hindi alam ng programa ang pag-encode ng isang tiyak na wika, maaari mong kalimutan ang tungkol sa dokumento (sa HTML). Maaari itong maging mas masahol pa: halimbawa, dahil sa hindi pagkakapare-pareho ng mga pag-encode, ang mga programang nakasulat sa Taiwan ay kadalasang hindi nakakabasa ng mga teksto na naglalayong sa mainland China. Sa kaso ng XML, kung alam ng program kung paano gamitin ito nang tama, maaari nitong pangasiwaan ang anumang kumbinasyon ng mga pag-encode. Kaya, hindi lamang pinapayagan ng XML na makipagpalitan ng data sa pagitan ng iba't ibang mga platform ng computer, ngunit ginagawang posible rin na malampasan ang mga hadlang sa bansa at kultura.


Katapusan ng World Wide Wait

Sa pagtaas ng XML, ang Web ay dapat na maging mas tumutugon. Ngayon, lahat ng bagay na magagawa ng mga computer device sa network, kahit na sila ay makapangyarihang mga desktop o pocket organizer, ay walang iba kundi ang pagtanggap ng isang form sa pamamagitan ng "GET", pagsagot nito, pagkatapos ay ipadala ito pabalik-balik sa web server habang hindi makukumpleto ang pagtatrabaho sa form. Binibigyan tayo ng XML ng kakayahang ihatid ang istruktura at semantika ng data sa form, at samakatuwid ang lahat ng mga device na iyon ay maaaring gawin ang pangunahing pagproseso sa tamang lugar at kaagad. Hindi lamang nito babawasan ang load sa mga server, ngunit dapat ding humantong sa isang makabuluhang pagbawas sa trapiko sa network.

Upang ilarawan, isipin ang paggamit ng isang online na ahensya sa paglalakbay upang maghanap ng flight mula London papuntang New York sa ika-4 ng Hulyo. Malamang, makakakita ka ng listahan nang maraming beses na mas mahaba kaysa sa maaaring magkasya sa screen. Maaaring paikliin ang listahang ito sa pamamagitan ng pagtatakda ng mas tumpak na mga parameter tulad ng oras ng pag-alis, presyo o airline, ngunit sa kasong ito ay "i-load" mo lang ang server ng travel agency ng iyong kahilingan at kailangang maghintay ng tugon. Gayunpaman, kung ang mahabang listahan ng mga flight na ito ay ibinigay sa iyo sa XML, kung gayon ang bureau ay maaaring samahan ito ng isang maliit na Java applet, sa tulong kung saan maaari mong agad at madaling ayusin at i-filter ang mga hindi kailangan, nang hindi gumagamit ng anumang pakikipag-ugnayan kasama ang server. I-multiply ito ng milyun-milyong gumagamit ng Web, at ang pangkalahatang epekto ay kahanga-hanga.

Ang mas maraming online na impormasyon na na-tag ng mga XML tag na partikular sa industriya, mas madali itong mahanap kung ano ang iyong hinahanap. Ngayon, ang paghahanap sa Internet para sa "mga trabaho para sa isang stockbroker" ay mapupuno ka ng maraming advertisement, ngunit malamang na iilan lamang ang mga ito tungkol sa trabaho - karamihan sa trabaho ay nakatago sa mga libreng bulletin board ng mga site ng pahayagan na naghahanap ng mga robot ayoko makipagtrabaho. At ngayon ang Newspaper Association of America ay gumagawa ng sarili nitong ad markup language sa XML, na nangangako na gagawing mas mahusay ang proseso ng paghahanap.

Hindi mahalaga kung ito ay isang intermediate na hakbang lamang. Matagal nang alam ng mga librarian ang mga paraan upang mabilis na makahanap ng isang bagay - sa pamamagitan ng hindi pagtingin sa mga dokumento, ngunit sa kanilang mga compact key na paglalarawan, na tumuturo lamang sa mga pinagmulan mismo. Ibig sabihin, ito ay mga katalogo na may sample sa anyo ng mga library card. Ang ganitong impormasyon tungkol sa impormasyon ay tinatawag na "metadata".

Samakatuwid, mula pa sa simula, isang mahalagang papel sa proyektong XML ang ibinigay sa paglikha ng isang kasamang pamantayan ng metadata. Ang Resource Description Framework (RDF) ng Pebrero ay dapat gumanap ng parehong papel na ginawa ng mga index card para sa mga aklat sa aklatan para sa impormasyon sa Web. Habang kumakalat ang metadata ng RDF sa Web, gagawin nitong mas mabilis at mas may kaugnayan ang paghahanap kaysa sa kasalukuyan. Walang mga librarian sa Web, ngunit nais din ng bawat webmaster na madaling mahanap ang kanyang site, kaya inaasahan namin na ang RDF, kapag natuklasan ng mga tao ang kapangyarihan nito, ay magkakaroon ng malaking epekto sa Internet.

Siyempre, ang impormasyon ay maaaring makuha nang hindi naghahanap. Pagkatapos ng lahat, ang Web ay hypertext - bilyun-bilyong pahina na puno ng mga hyperlink - ang mga salitang may salungguhit na kailangan mo lang i-click upang madala sa ibang pahina. Sa XML, ang mekanismo ng hyperlink ay lubos ding pinahusay. Ang detalye ng pag-link ng XML, na tinatawag na XLink, na inihahanda ng W3C sa pagtatapos ng taon, ay magbibigay-daan sa user na pumili mula sa maraming destinasyon. Ang isa pang uri ng hyperlink ay magbibigay-daan sa iyo na makatanggap ng teksto o isang imahe nang direkta sa punto ng pag-click, na nagpapahintulot sa bisita na huwag umalis sa pahina.

Marahil ang pinakakapaki-pakinabang na bahagi ng XLink ay ang bahagi ng detalye na nagpapahintulot sa mga may-akda na gumamit ng mga hindi direktang link, na nagpapadala sa halip na ang mga pahina mismo sa ilang uri ng buod na database. Kaya, kung binago ng may-akda ang address ng pahina, sa pamamagitan lamang ng pag-edit ng isang entry sa naturang database, madaling i-update ang lahat ng mga link na humahantong sa kanyang pahina. Makakatulong ito sa iyo na maalis ang lalong karaniwang "404 File Not Found" na mga mensahe na nagpapahiwatig ng "sirang" na link.

Ang kumbinasyon ng mas mahusay na pagpoproseso, mas tumpak na paghahanap, at mas nababaluktot na pag-link ay magbabago sa istruktura ng Web at magbubukas ng ganap na mga bagong paraan ng pag-access ng impormasyon. Para sa mga user, ang bagong Network na ito ay magiging mas mabilis, mas malakas at mas kapaki-pakinabang kaysa sa Network ngayon.


Kailangan ang pagtutulungan

Siyempre, hindi lahat ay napakasimple. Binibigyang-daan ng XML ang sinuman na magdisenyo ng bagong wika sa kanilang sariling paraan, ngunit ang paglikha ng isang mahusay na wika ay isang gawain na ang kahirapan ay hindi dapat maliitin. Ang pagbuo ng isang wika ay simula pa lamang: walang muwang na asahan na ang mga kahulugan ng iyong mga tag ay magiging halata sa ibang mga tao hanggang sa makapagbigay ka ng manwal para sa wika, at maging malinaw sa mga computer hanggang sa makasulat ka ng mga programang gumagana. gamit ang mga tag ng wika.

Hindi mahirap ipaliwanag kung bakit ganito. Kung ang lahat ng kailangan upang turuan ang isang computer na magproseso ng mga order ay mga tag, hindi na kakailanganin ang XML. Hindi na kailangan ng mga programmer, dahil ang mga computer ay sapat na matalino upang gawin ang lahat sa kanilang sarili.

Bakit kailangan natin ng XML ay hindi magic, ngunit kahusayan. Ang XML ay nagtatatag ng mga pangunahing panuntunan na nagpapasimple sa mga detalye ng programming sa isang layer - upang ang mga taong may katulad na interes ay makapag-concentrate sa isa pang hard nut upang basagin - mga kasunduan tungkol sa eksakto kung paano nila gustong i-format ang data na gusto nilang palitan. Ito ay isang napakahirap na problema, bagaman hindi bago.

At magkakaroon ng gayong mga kasunduan, dahil ang lumalaking hindi pagkakatugma ng mga platform ng computer ay nagreresulta sa mga pagkaantala sa mga deadline, pagkalugi sa pananalapi at humahantong sa pagkalito sa halos lahat ng mga lugar ng aktibidad. Nais ng mga tao na makipagpalitan ng mga ideya at magawa ang mga bagay-bagay, anuman ang katotohanan na ang bawat isa ay may iba't ibang mga computer - at para ito ay maging isang katotohanan, ang mutual na pag-unlad ng mga pribado (para sa iba't ibang larangan ng aktibidad) na mga wika ay may mahabang paraan pa rin. . Gayunpaman, ang gulo ng mga bagong acronym na nagtatapos sa "ML" ay nagpapakita ng hindi maikakailang makabagong diwa na dinala ng XML sa agham, negosyo at edukasyon.

Kapag gumagawa ng bagong XML markup language, ang mga tagalikha nito ay dapat sumang-ayon sa tatlong bagay: anong mga tag ang naroroon, kung paano sila mailalagay sa isa't isa, at kung paano sila dapat iproseso. Ang unang dalawang punto - diksyunaryo at istraktura ng wika - ay naka-encode na ngayon gamit ang DTD (Document Type Definition). Ang pamantayang XML ay hindi nag-oobliga sa mga developer ng wika na gumamit ng mga DTD, ngunit ang karamihan sa mga bagong wika ay tila may mga paglalarawan ng DTD - ginagawa nitong mas madali para sa mga programmer na magsulat ng mga programa na nauunawaan ang markup na ito at kumuha ng isang bagay na makabuluhan mula dito. Kakailanganin din namin ang mga hanay ng mga manual na naglalarawan sa mga kahulugan ng lahat ng mga tag sa wika ng tao. Halimbawa, ang HTML ay may paglalarawan ng DTD, ngunit mayroon ding daan-daang mga pahina ng pamilyar na mga manual ng HTML na kinokonsulta ng mga programmer kapag bumubuo ng mga browser at iba pang mga program para sa Web.


Sanaysay tungkol sa istilo

Para sa mga gumagamit, ang pangunahing bagay ay kung ano ang magagawa ng programa, at hindi kung ano ang nakasulat sa paglalarawan nito. Sa pangkalahatan, mas gusto ng mga tao na ang mga programa ay nagbibigay-daan sa kanila na makita ang XML-encoded na impormasyon sa isang nababasang anyo. Ngunit sa mga XML tag mismo ay walang espesyal na markup na nagpapahiwatig. kung paano dapat ipakita ang data sa isang screen o naka-print na sheet.

Para sa mga publisher na naghahangad na "magsulat ng isang beses at mag-publish sa lahat ng dako," ang pinakamahalagang bagay ay ang "ipanganak" ang isang publikasyon at pagkatapos ay "ibuhos" ito sa isang napakaraming uri ng mga publikasyon, parehong naka-print at electronic. Tinutulungan sila ng XML sa ganitong paraan: ang nilalaman ay minarkahan ng mga mapaglarawang tag na hiwalay sa kapaligiran ng pag-render. Susunod, maaaring gawing pormal ng publisher ang mga panuntunan sa pagtatanghal sa anyo ng tinatawag na. stylesheet, na awtomatikong "i-istilo" ang kanyang trabaho para sa iba't ibang device at kapaligiran. Ang pamantayan para sa naturang XML na wika, na binuo para sa mga layuning ito, ay tinatawag na Extensible Stylesheet Language (XSL).

Maaaring basahin ng mga pinakabagong bersyon ng browser ang mga XML na dokumento, piliin ang naaangkop na mga file ng estilo, at gamitin ang mga ito upang pagbukud-bukurin at i-format ang impormasyon sa screen. Maaaring hindi napagtanto ng mambabasa na nakikipag-usap siya sa XML sa halip na HTML maliban kung napansin niya na ang mga site na may XML ay mas mabilis at mas madaling gamitin.

Ang mga taong may kapansanan sa paningin ay malayang nakikinabang din mula sa mga prinsipyo sa pag-publish ng dokumento ng XSL, dahil binibigyan sila ng XSL ng kakayahang magbasa ng XML sa Braille o sa pamamagitan ng boses. Ang mga benepisyong ito ay nalalapat din sa iba: halimbawa, ang isang naglalakbay na tindero na gustong mag-surf sa Internet mula sa ginhawa ng kanyang sasakyan ay malamang na maginhawang makinig sa mga pahina na may tunog.

Bagama't noong una ang core ng Network ay binubuo ng mga programang pang-agham at pang-edukasyon, ang Network ngayon ay commerce na (o, masasabi ng isa, mga komersyal na inaasahan), na nag-iimbak ng gasolina para sa isang mabilis na pagsisimula. Naaalala ng lahat ang kamakailang resonance na dulot ng pagtaas ng mga online na benta, ngunit hindi na kailangang sabihin kung gaano kabilis ang pakikipag-ugnayan ng mga negosyante sa isa't isa online. Ang daloy ng mga kalakal mula sa malalaking tagagawa ay humihingi ng automation sa network. Ngunit ang mga sistema ng negosyo ngayon ay umaasa sa mga kumplikadong pakikipag-ugnayan ng program-to-program, at sa pagsasagawa ito ay gumagana nang napakahina, dahil ang tagumpay ay nangangailangan ng pagkakapareho ng mga proseso ng pagproseso, na malayo pa rin sa pagkamit.

Sa loob ng maraming siglo, matagumpay na nagawa ng mga tao ang negosyo sa pamamagitan ng pagpapalitan ng mga karaniwang dokumento: mga order, invoice, deklarasyon, resibo, atbp. atbp. Ang mga dokumento ay nagtrabaho para sa negosyo, at walang sinuman ang nag-atas na malaman ng isang partido na kasangkot ang panloob na gawain ng isa pa. Ang anumang dokumento ay ipinakita nang eksakto hangga't dapat itong ipinakita sa tatanggap ng impormasyon, at wala na. Tila, ang pagpapalitan ng mga dokumento ay ang pinakatamang paraan upang magnegosyo sa Web din. Ngunit hindi ito ang lahat ng gawain kung saan nilikha ang HTML.

Sa kabaligtaran, ang XML ay partikular na idinisenyo para sa layunin ng pagpapalitan ng mga dokumento, at malinaw na ang batayan ng electronic commerce ay umaasa sa mga kasunduan na ipinahayag ng milyun-milyong XML na dokumentong lumulutang sa Internet.

Kaya, ang XML-enhanced Web ay dapat maging isang mabilis, palakaibigan, at mas magandang lugar para sa negosyo para sa mga gumagamit nito. Higit pang XML ang kailangan ng mga webmaster at web designer. Ang mga hukbo ng mga programmer ay mangangailangan ng kaalaman sa mga bagong wikang XML "sa kabuuan." At kahit na ang mga araw ng self-educated na mga hacker [ang mga may-akda ay sinadya ang pinakamahusay na kahulugan ng salitang ito] ay tumatagal pa rin, ang kanilang populasyon ay nasa ilalim ng banta.

Ang web designer ng bukas ay dapat na bihasa hindi lamang sa paggawa ng text at graphics, kundi pati na rin sa pagbuo ng multi-layered, interdependent system batay sa mga DTD, data tree, hyperlink structure, metadata at mga bahagi ng istilo - isang malakas at advanced na imprastraktura ng pangalawang henerasyong Web.

Sinusubukan kong gumawa ng ilang buod ng aking karanasan sa XML:

Pros

Format ng pagbabasa:

Masusuri ng lahat ang kanilang nilalaman sa pamamagitan lamang ng pagbabasa nito. Ginagawa nitong madaling gamitin at isang malinaw na paraan ng komunikasyon. Maging ang mga negosyante ay gusto ito (sa pagkakaalam ko sa mga institusyong pampinansyal sa loob ng maraming taon) dahil naiintindihan nila ito at madali nilang suriin ang mga mensahe, halimbawa sa mga sistema ng pagmemensahe. Sila lang ang makakapagdesisyon kung aling sistema ang mali. Nagpapasaya sa kanila :) Ikumpara ito sa JSON. Sa tingin ko ang JSON ay malayo sa reader friendly dahil ang pagsasara ng mga panaklong ay mas mahirap subaybayan kaysa sa pagsasara ng mga elemento sa XML. Kailangan mong bumalik sa pahina upang malaman kung ano ang simula. Hindi mo kailangan ng mga kasanayan sa programming para maunawaan ang XML. Kahit na ang iyong lola ay maaaring malaman ito sa kalahating oras.

Pagsasarili ng platform:

Kahit anong wika at platform ang gamitin mo, siguradong may parser ka na magbabasa nito. Ginagawa nitong marahil ang pinakamahusay na paraan ng komunikasyon sa pagitan ng mga heterogenous system. Tingnan na ang mga tao ay karaniwang nagdadala ng mga XML file sa itaas ng JMS queues, nagpo-post sila ng mga XML file sa mga serbisyo sa web, binabalot nila ang mga bagay sa mga XML na dokumento bago ihatid. Ang XML ay isang pangunahing materyal na walang malalaking problema sa iba't ibang mga parser. Naiintindihan nilang lahat ang XML.

Mahusay na Mga Tool sa Pagbabago

Mahusay na tool para sa pagsuri sa

Laban sa

Verbosity

Maaari itong kumonsumo ng anumang espasyo sa disk. Ang mga XML file ay nagpapalaki ng mga log at mahirap basahin at kunin. Sa kabilang banda, maaari mong i-compress ang mga log. Kahit na ang mga serbisyo sa web o mga mensahe ng JMS ay maaaring i-compress upang mabawasan ang overhead ng bandwidth. Ngunit kahit na sa kasong ito, ang compression ay isang overhead para sa processor at memorya. Sa kabilang banda, sa aking karanasan ang XML at mga kaugnay na teknolohiya ay maaaring makabawas sa pag-unlad, at kung ano ang iyong nai-save sa mga kredensyal ay napupunta nang sapat upang makabili ng isa pang processor. Ang mga processor ay mas mura kaysa sa mga tao.

Hindi epektibong paggamit

Malayo sa maliit na bagay kung aling mga bagay (mga expression ng XPath, mga template ng XSL, mga XSD schema, mga parser ng XML, atbp.) ang may kung anong cycle ng buhay. Ano ang maaaring i-cache? Hindi ito ginagawa ng maraming tao nang tama upang maiwasan ang mga isyu sa kaligtasan ng thread. At ito ay magdadala sa iyo sa kahila-hilakbot na kabagalan. At gusto kong bigyang-diin iyon Ito ay hindi isang problema sa teknolohiya, ngunit isang maling paggamit. Maraming tao ang natigil sa lumang DOM parterre, na pangit. Nag-abstract sila ng ilang layer sa itaas nito at gumawa ng sarili nilang mga API para pangasiwaan ang XML, na masama. Magpatuloy, gumamit ng DOM4j o STAX o JAXB o isang bagay na karaniwan.

Ang huwad na kalayaan ng paglikha ng isang bagay na espesyal

Maraming mga kumpanya ang lumikha ng mga wikang tukoy sa domain o kakila-kilabot na mga file ng pagsasaayos gamit ang XML. Dahil madali itong i-parse at lakarin, nakagawa pa sila ng mga tagasalin para sa isang ganap na bagong wika. Ang wika ay natigil at ang mga nakaplanong tool sa pag-unlad ay hindi kailanman nilikha. Huwag kailanman gumamit ng XML upang lumikha ng mga programa. Hindi ito magagamit. Huwag mag-program sa XPath dahil hindi ito nasubok sa oras ng pag-unlad. Panatilihin ang mga bagay sa lugar. Ang XML ay pangunahing idinisenyo upang magdala ng data sa ilang karaniwang anyo. Huwag muling likhain ang gulong sa XML. Ito ay isang upuan ng programa para sa sarili nito, hindi isang kotse.

Ang pinakamahusay na mga tutorial sa XML ay nasa ZVON sa tingin ko. Gamitin ang mga ito kung gusto mo.

Ginagamit ang XML sa maraming aspeto ng web development, ngunit ang pangunahing layunin nito ay gawing mas madali ang pag-imbak at paglilipat ng data.

Ang XML ay naghihiwalay ng data mula sa HTML

Kung kailangan mong magpakita ng dynamic na data sa isang HTML na dokumento, aabutin ng masyadong maraming oras kung ie-edit mo mismo ang HTML na dokumento sa tuwing nagbabago ang data.

SA XML ang data ay maaaring maimbak sa magkahiwalay na XML file. Sa paggawa nito, tumutuon ka sa paggamit ng HTML/CSS para sa pagpapakita at pag-templat, at makatitiyak kang hindi mangangailangan ng anumang mga pagbabago sa HTML code ng dokumento ang papasok na bagong data.

Pinapasimple ng XML ang pamamahagi ng data

Sa totoong mundo, ang mga computer system at database ay gumagamit ng data sa mga hindi tugmang format.

Ang XML data ay iniimbak sa isang simpleng format ng teksto. Tinitiyak nito ang kalayaan ng software at hardware.

Ginagawa nitong madali ang paglikha ng data na maaaring magamit ng isang malawak na iba't ibang mga application.

Pinapasimple ng XML ang paglilipat ng data

Ang isa sa mga pinaka-nakakaubos na problema para sa mga developer ay palaging at nananatili pa rin ang problema ng pagpapalitan ng data sa pagitan ng mga system na hindi tugma sa isa't isa.

Ang paglilipat ng data bilang XML ay lubos na nakakabawas sa pagiging kumplikado ng problemang ito, dahil ang data sa format na ito ay maaaring basahin ng iba't ibang mga hindi tugmang application.

Pinapasimple ng XML ang pagbabago ng platform

Ang paglipat sa mga bagong system (hardware o software platform) ay palaging tumatagal ng maraming oras. Maraming data ang kailangang i-convert sa mga bagong format. Sa kasong ito, madalas na nawawala ang hindi tugmang data.

Ang data ng XML ay nakaimbak sa format ng teksto. Pinapadali nito ang pagpapalawak o pag-upgrade ng mga operating system, lumipat sa mga bagong application o browser nang walang panganib na mawalan ng data.

Ginagawang mas naa-access ng XML ang iyong data

Hindi lamang mga HTML na dokumento, kundi pati na rin ang anumang iba pang mga application ay maaaring ma-access ang iyong data.

Ginagawang accessible ng XML ang iyong data sa lahat ng uri ng "reading machine" (mga voice machine, mga channel ng balita, atbp.), na ginagawang mas madali para sa mga taong may kapansanan sa paningin at iba pang pisikal na kapansanan na ma-access ito.

Ginagamit ang XML upang lumikha ng mga bagong wika sa Internet

Maraming mga Internet programming language ang nalikha gamit ang XML.

Narito ang ilang halimbawa:

  • XHTML
  • WSDL upang ilarawan ang mga magagamit na serbisyo sa web
  • WAP at WML bilang mga markup language para sa mga portable na device gaya ng mga PDA
  • Mga wikang RSS para sa mga channel ng balita
  • RDF at OWL para sa paglalarawan ng mapagkukunan at ontolohiya
  • SMIL upang ilarawan ang multimedia para sa web