XML nthawi zambiri imagwiritsidwa ntchito molakwika

XML nthawi zambiri imagwiritsidwa ntchito molakwika
Chilankhulo cha XML chinapangidwa mu 1996. Posakhalitsa zinawoneka kuti mwayi wa ntchito yake unali utayamba kale kusamvetsetseka, ndipo chifukwa cha zolinga zomwe amayesera kuzisintha, sikunali chisankho chabwino.

Sikokokomeza kunena kuti zambiri za XML schemas zomwe ndaziwona ndizosayenera kapena kugwiritsa ntchito molakwika kwa XML. Kuphatikiza apo, kugwiritsa ntchito XML kumeneku kunawonetsa kusamvetsetsa kwenikweni komwe XML inali yokhudza.

XML ndi chilankhulo cholembera. Izi si mtundu wa data. Ma schema ambiri a XML anyalanyaza mwatsatanetsatane kusiyana kumeneku, kusokoneza XML ndi mtundu wa deta, zomwe pamapeto pake zimabweretsa zolakwika posankha XML chifukwa ndi mtundu wa deta womwe ukufunikiradi.

Popanda kuchulukirachulukira, XML ndiyoyenera kumasulira zilembo zamawu ndi ma metadata. Ngati cholinga chanu chachikulu sichikugwira ntchito ndi zolemba zingapo, kusankha XML sikungakhale koyenera.

Kuchokera pamalingaliro awa, pali njira yosavuta yowonera momwe XML schema imapangidwira bwino. Tiyeni titenge mwachitsanzo chikalata mu schema yomwe tikufuna ndikuchotsa ma tag onse ndi zikhumbo zake. Ngati zomwe zatsala sizikumveka (kapena ngati pali mzere wopanda kanthu), ndiye kuti schema yanu sinamangidwe bwino kapena simunagwiritse ntchito XML.

Pansipa ndipereka zitsanzo zodziwika bwino zamagawo omangidwa molakwika.

<roΠΎt>
  <item name="name" value="John" />
  <item name="city" value="London" />
</roΠΎt>

Apa tikuwona chitsanzo cha kuyesera kopanda maziko komanso kwachilendo (ngakhale kofala) kufotokoza mtanthauzira mawu wamtengo wapatali mu XML. Mukachotsa ma tag onse ndi mawonekedwe, mudzasiyidwa ndi mzere wopanda kanthu. Kwenikweni, chikalata ichi, ziribe kanthu momwe chingamvekere chopanda pake, mawu ofotokozera a mzere wopanda kanthu.

<root name="John" city="London" />

Kuti zinthu ziipireipire, sikuti timangokhala ndi mawu ofotokozera a chingwe chopanda kanthu pano ngati njira yopitilira muyeso yofotokozera mtanthauzira mawu - nthawi ino "dikishonale" imasungidwa molunjika ngati mawonekedwe a mizu. Izi zimapangitsa kuti mayina omwe aperekedwa pa chinthucho asadziwike komanso asinthe. Kuphatikiza apo, zikuwonetsa kuti wolemba onse amafuna kufotokoza anali mawu osavuta amtengo wapatali, koma m'malo mwake adapanga chisankho chodabwitsa kwambiri chogwiritsa ntchito XML, kukakamiza kugwiritsa ntchito chinthu chimodzi chopanda kanthu ngati choyambirira kuti agwiritse ntchito mawu. Ndipo nthawi zambiri ndimakumana ndi ziwembu zotere.

<roΠΎt>
  <item key="name">John</item>
  <item key="city">London</item>
</roΠΎt>

Ichi ndichinthu chabwinoko, koma tsopano pazifukwa zina makiyi ndi metadata ndipo zomwe sizili bwino. Kuyang'ana kodabwitsa kwambiri pamadikishonale. Mukachotsa ma tag ndi mawonekedwe onse, theka la chidziwitso chidzatayika.

Mawu olondola a mtanthauzira mawu mu XML angawoneke motere:

<roΠΎt>
  <item>
    <key>Name</key>
    <value>John</value>
  </item>
  <item>
    <key>City</key>
    <value>London</value>
  </item>
</roΠΎt>

Koma ngati anthu apanga chisankho chachilendo chogwiritsa ntchito XML ngati mtundu wa data ndikuigwiritsa ntchito kukonza mawu, ndiye kuti ayenera kumvetsetsa kuti zomwe akuchita ndi zosayenera komanso sizothandiza. Ndizofalanso kuti opanga asankhe molakwika XML kuti apange mapulogalamu awo. Koma nthawi zambiri, amapangitsa kuti zinthu ziipireipire pogwiritsa ntchito XML mopanda tanthauzo mu imodzi mwamawonekedwe omwe tafotokozedwa pamwambapa, kunyalanyaza mfundo yakuti XML siyoyenera kuchita izi.

Choyipa Choyipa cha XML Schema? Mwa njira, mphoto kwa schema yoyipa kwambiri ya XML yomwe ndidawonapo, Imapeza mawonekedwe amtundu wa mafayilo amtundu wa Polycom IP telephony. Mafayilo otere amafunika kutsitsa mafayilo a XML kudzera pa TFTP, yomwe...

<softkey
        softkey.feature.directories="0"
        softkey.feature.buddies="0"
        softkey.feature.forward="0"
        softkey.feature.meetnow="0"
        softkey.feature.redial="1"
        softkey.feature.search="1"

        softkey.1.enable="1"
        softkey.1.use.idle="1"
        softkey.1.label="Foo"
        softkey.1.insert="1"
        softkey.1.action="..."

        softkey.2.enable="1"
        softkey.2.use.idle="1"
        softkey.2.label="Bar"
        softkey.2.insert="2"
        softkey.2.action="..." />

Iyi si nthabwala yoyipa ya wina. Ndipo izi sizomwe ndinapanga:

  • zinthu zimangogwiritsidwa ntchito ngati choyambirira kulumikiza zikhumbo, zomwe zili ndi mayina otsogola.
  • Ngati mukufuna kugawira zofunikira pamitundu ingapo yamtundu wina, muyenera kugwiritsa ntchito mayina kuti muchite izi. omwe ali ndi indexes.
  • Komanso, makhalidwe kuyambira softkey., ziyenera kuikidwa pa zinthu <softkey/>, makhalidwe kuyambira feature., ziyenera kuikidwa pa zinthu <feature/> etc., ngakhale kuti zikuwoneka zosafunikira konse ndipo poyang'ana koyamba zilibe tanthauzo.
  • Ndipo potsiriza, ngati mukuyembekeza kuti gawo loyamba la dzina lidzakhala lofanana ndi dzina lachinthu - palibe chonga icho! Mwachitsanzo, makhalidwe up. ziyenera kumangirizidwa <userpreferences/>. Dongosolo la kuphatikizira mayina ku zinthu ndi losakhazikika, pafupifupi kwathunthu.

Zolemba kapena deta. Nthawi ndi nthawi, wina amachita zodabwitsa poyesa kufananiza XML ndi JSON-ndipo kusonyeza kuti samamvetsetsa. XML ndi chiyankhulo cholembera zikalata. JSON ndi mtundu wa data wopangidwa, kotero kuwafananiza wina ndi mnzake kuli ngati kuyesa kufananiza kutentha ndi zofewa.

Lingaliro la kusiyana pakati zikalata ndi deta. Monga analogi ya XML, titha kutenga chikalata chowerengeka ndi makina. Ngakhale idapangidwa kuti ikhale yowerengeka ndi makina, imatanthawuza mophiphiritsira ku zolemba, ndipo kuchokera pamalingaliro awa ndi ofanana ndi zolemba za PDF, zomwe nthawi zambiri siziwerengeka ndi makina.

Mwachitsanzo, mu XML dongosolo la zinthu limafunikira. Koma mu JSON, dongosolo la magawo awiri amtengo wapatali mkati mwa zinthu ndi lopanda tanthauzo komanso losadziwika. Ngati mukufuna kupeza dikishonale yosasankhidwa ya ma key-value awiriawiri, dongosolo lenileni lomwe zinthu zimawonekera mufayiloyo zilibe kanthu. Koma mukhoza kupanga mitundu yosiyanasiyana ya deta kuchokera deta. zolemba, chifukwa pali dongosolo linalake m'chikalatacho. Mophiphiritsa, ndizofanana ndi chikalata chomwe chili papepala, ngakhale sichikhala ndi miyeso yakuthupi, mosiyana ndi chosindikizira kapena fayilo ya PDF.

Chitsanzo changa cha choyimira choyenera cha mtanthauzira mawu wa XML chikuwonetsa dongosolo la zinthu zomwe zili mudikishonale, mosiyana ndi mawonekedwe a JSON. Sindinganyalanyaze dongosolo ili: mzerewu ndi wokhazikika mumtundu wa chikalata ndi mtundu wa XML. Ena angasankhe kunyalanyaza dongosololi pomasulira chikalata cha XML, koma palibe chifukwa chotsutsana ndi izi popeza nkhaniyi ili yopitirira malire a zokambirana za mtundu womwewo. Kuphatikiza apo, ngati mupangitsa chikalatacho kuti chiwonekere mu msakatuli polumikiza pepala la kalembedwe kake, muwona kuti zida za mtanthauzira mawu zimawoneka mwadongosolo linalake ndipo palibe.

Mwanjira ina, dikishonale (chidutswa cha data yokhazikika) ikhoza kusinthidwa kukhala n zolemba zosiyanasiyana zotheka (mu XML, PDF, pepala, ndi zina), komwe n - kuchuluka kwa zinthu zomwe zingaphatikizidwe mumtanthauzira mawu, ndipo sitinaganizirenso zosintha zina.

Komabe, zimatsatiranso kuti ngati mukufuna kusamutsa deta yokha, ndiye kuti kugwiritsa ntchito chikalata chowerengeka ndi makina kwa izi sikungakhale kothandiza. Imagwiritsa ntchito chitsanzo, chomwe pamenepa ndi chopanda pake, chidzangosokoneza. Kuonjezera apo, kuti mutenge deta yochokera, muyenera kulemba pulogalamu. Palibe chifukwa chogwiritsa ntchito XML pachinthu chomwe sichingasinthidwe ngati chikalata nthawi ina (mwachitsanzo, kugwiritsa ntchito CSS kapena XSLT, kapena zonse ziwiri), popeza ndicho chifukwa chachikulu (ngati sichokha) chochitira izi. ku chitsanzo cha chikalata.

Komanso, popeza XML ilibe lingaliro la manambala (kapena mawu a Boolean, kapena mitundu ina ya data), manambala onse oimiridwa mwanjira iyi amangotengedwa ngati mawu owonjezera. Kuti muchotse deta, schema ndi ubale wake ndi zomwe zikufotokozedwa ziyenera kudziwika. Muyeneranso kudziwa kuti, kutengera nkhaniyo, mawu enaake amayimira nambala ndipo ayenera kusinthidwa kukhala nambala, ndi zina.

Chifukwa chake, njira yochotsera zikalata za XML sizosiyana kwambiri ndi njira yozindikirira zolemba zomwe zili ndi, mwachitsanzo, matebulo omwe amapanga masamba ambiri a manambala. Inde, ndizotheka kutero, koma iyi si njira yabwino kwambiri, kupatula ngati njira yomaliza, pamene palibe njira zina. Yankho lomveka ndilongopeza kopi ya digito ya deta yoyambirira yomwe siinalowe muzolemba zachikalata zomwe zimagwirizanitsa deta ndi kuimira kwake kwachindunji.

Izi zati, sizodabwitsa kuti XML ndiyotchuka mubizinesi. Chifukwa chake ndi chakuti mawonekedwe a chikalata (papepala) amamveka komanso odziwika bwino kwa bizinesi, ndipo akufuna kupitiriza kugwiritsa ntchito chitsanzo chodziwika bwino komanso chomveka. Pazifukwa zomwezi, mabizinesi nthawi zambiri amagwiritsa ntchito zolemba za PDF m'malo mwa mawonekedwe owerengeka ndi makina - chifukwa amamangiriridwabe ndi lingaliro la tsamba losindikizidwa lomwe lili ndi kukula kwake kwakuthupi. Izi zimagwiranso ntchito ku zolemba zomwe sizingatheke kuti zisindikizidwe (mwachitsanzo, PDF yamasamba 8000 ya zolemba zolembetsa). Kuchokera pamalingaliro awa, kugwiritsa ntchito XML mubizinesi kwenikweni ndi chiwonetsero cha skeuomorphism. Anthu amamvetsetsa lingaliro lophiphiritsa la tsamba losindikizidwa la kukula kochepa, ndipo amamvetsetsa momwe angapangire njira zamabizinesi potengera zolemba zosindikizidwa. Ngati ndiye kalozera wanu, zolemba zopanda kukula kwa thupi zomwe zimatha kuwerengeka ndi makina - zolemba za XML - zimayimira zatsopano pomwe zimakhala zodziwika bwino komanso zomasuka. Izi siziwalepheretsa kukhalabe njira yolakwika komanso yopitilira muyeso yowonetsera deta.

Mpaka pano, ma schemas a XML okhawo omwe ndikudziwa omwe ndimatha kuyitanitsa kugwiritsa ntchito moyenera mawonekedwe ndi XHTML ndi DocBook.

Source: www.habr.com

Kuwonjezera ndemanga