ʻaneʻane hoʻohana hewa ʻia ka XML

ʻaneʻane hoʻohana hewa ʻia ka XML
Ua haku ʻia ka ʻōlelo XML i ka makahiki 1996. ʻAʻole i ʻike koke ʻia ua hoʻomaka mua ʻia ka hoʻomaopopo ʻana i nā hiki o kāna noi ʻana, a no nā kumu a lākou e hoʻāʻo nei e hoʻololi iā ia, ʻaʻole ia ke koho maikaʻi loa.

ʻAʻole ia e hoʻonui i ka ʻōlelo ʻana ʻo ka hapa nui o nā schema XML aʻu i ʻike ai he kūpono ʻole a i ʻole ka hoʻohana hewa ʻana o XML. Eia kekahi, ua hōʻike kēia hoʻohana ʻana iā XML i ka maopopo ʻole o ke ʻano o XML.

He ʻōlelo hōʻailona ʻo XML. ʻAʻole kēia he hōpili ʻikepili. ʻO ka hapa nui o nā schema XML i ʻike maopopo ʻole i kēia ʻokoʻa, e huikau ana i ka XML me kahi hōpili ʻikepili, a ʻo ia ka hopena i ke kuhi hewa ʻana i ke koho ʻana iā XML no ka mea ʻo ia ka hōpili ʻikepili i makemake maoli ʻia.

Me ka hele ʻole ʻana i nā kikoʻī nui loa, kūpono ka XML no ka hoʻopuka ʻana i nā poloka o nā kikokikona me ka hoʻolālā a me ka metadata. Inā ʻaʻole kāu pahuhopu nui e hana me kahi poloka o ka kikokikona, ʻaʻole kūpono ke koho ʻana iā XML.

Mai kēia manaʻo, aia kahi ala maʻalahi e nānā i ka maikaʻi o ka hana ʻana o ka schema XML. E lawe kākou ma ke ʻano he palapala i loko o ka schema i manaʻo ʻia a wehe i nā hōʻailona a me nā ʻano mai ia mea. Inā ʻaʻole kūpono ka mea i koe (a i ʻole he laina hakahaka i koe), a laila ʻaʻole i kūkulu pololei ʻia kāu hoʻolālā a ʻaʻole pono ʻoe i hoʻohana i ka XML.

Ma lalo wau e hāʻawi i kekahi o nā laʻana maʻamau o nā kaapuni i hana hewa ʻia.

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

Ma ʻaneʻi, ʻike mākou i kahi laʻana o kahi hoʻāʻo kumu ʻole a ʻano ʻē (ʻoiai maʻamau) e hōʻike i kahi puke wehewehe wehewehe kī-waiwai maʻalahi ma XML. Inā wehe ʻoe i nā hōʻailona a me nā ʻano, e waiho ʻia ʻoe me kahi lālani ʻole. ʻO ka mea nui, ʻo kēia palapala, ʻaʻole pili i ke kani ʻana o ia mea, he hōʻike semantic o kahi laina kaʻawale.

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

ʻO ka mea e ʻoi aku ka maikaʻi, ʻaʻole i loaʻa iā mākou kahi hōʻike semantic o kahi kaula hakahaka ma ke ʻano he ala ʻoi loa o ka wehewehe ʻana i kahi puke wehewehe ʻōlelo - i kēia manawa ua hoʻopili pololei ʻia ka "papapalapala" ma ke ʻano he ʻano o ke kumu kumu. ʻO kēia ka mea i hāʻawi ʻia i nā inoa ʻano i hāʻawi ʻia ma kahi mea i wehewehe ʻole a ikaika. Eia kekahi, hōʻike ʻia ʻo ka mea kākau a pau i makemake maoli e haʻi i kahi syntax waiwai kī maʻalahi, akā ua hoʻoholo ʻo ia i ka hoʻoholo ʻokoʻa loa e hoʻopili i ka XML, e koi ana i ka hoʻohana ʻana i hoʻokahi mea ʻole ma ke ʻano he prefix e hoʻohana i ka syntax attribute. A ʻike pinepine au i ia mau papahana.

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

He mea maikaʻi kēia, akā i kēia manawa no kekahi kumu he metadata nā kī a ʻaʻole nā ​​waiwai. ʻO ka nānā 'ana i nā puke wehewehe'ōlelo. Inā wehe ʻoe i nā hōʻailona a me nā ʻano, e nalowale ka hapalua o ka ʻike.

ʻO ka ʻōlelo puke wehewehe pololei ma XML e like me kēia:

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

Akā inā ua hoʻoholo ka poʻe i ka hoʻoholo ʻē aʻe e hoʻohana i ka XML ma ke ʻano he ʻikepili a laila hoʻohana iā ia e hoʻonohonoho i kahi huaʻōlelo, a laila pono lākou e hoʻomaopopo he kūpono ʻole ka hana a lākou e hana nei. He mea maʻamau nō hoʻi i nā mea hoʻolālā ke koho hewa i ka XML e hana i kā lākou mau noi. Akā ʻoi aku ka pinepine, hoʻonui lākou i ka pilikia ma ka hoʻohana ʻole ʻana i ka XML i kekahi o nā ʻano i hōʻike ʻia ma luna nei, me ka nānā ʻole i ka ʻoiaʻiʻo ʻaʻole kūpono ʻo XML no kēia.

ʻO ka ʻōnaehana XML ʻino loa? Ma ke ala, ka makana no ʻO ka schema XML maikaʻi loa aʻu i ʻike ai, Loaʻa i ke ʻano waihona hoʻonohonoho hoʻolako ʻakomi no nā kelepona kelepona IP Polycom. Pono ia mau faila i ka hoʻoiho ʻana i nā faila noi XML ma o TFTP, ʻo ia... Ma ke ʻano laulā, eia kahi ʻāpana mai kekahi o ia faila:

<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="..." />

ʻAʻole kēia he hoʻohenehene ʻino a kekahi. ʻAʻole kēia kaʻu mea i hana ai:

  • Hoʻohana wale ʻia nā mea ma ke ʻano he prefix e hoʻopili i nā ʻano, nona nā inoa hierarchical.
  • Inā makemake ʻoe e hāʻawi i nā waiwai i nā manawa he nui o kahi ʻano moʻolelo, pono ʻoe e hoʻohana i nā inoa inoa e hana i kēia. he mau kuhikuhi.
  • Eia kekahi, hoʻomaka nā hiʻohiʻona me softkey., pono e kau ma luna o nā mea <softkey/>, nā hiʻohiʻona e hoʻomaka ana me feature., pono e kau ma luna o nā mea <feature/> a me nā mea ʻē aʻe, ʻoiai ʻaʻole pono ia i ka nānā mua ʻana.
  • A ʻo ka hope, inā ʻoe e manaʻolana e like mau ka ʻāpana mua o ka inoa ʻano me ka inoa element - ʻaʻohe mea like! Eia kekahi laʻana, nā hiʻohiʻona up. pono e pili i <userpreferences/>. ʻO ke ʻano o ka hoʻopili ʻana i nā inoa ʻano i nā mea ʻeleʻele, ʻaneʻane loa.

Palapala a ʻikepili paha. I kēlā me kēia manawa, hana kekahi i kahi mea ʻē aʻe ma ka hoʻāʻo ʻana e hoʻohālikelike iā XML a me JSON—a no laila e hōʻike ana ʻaʻole lākou maopopo. ʻO XML kahi ʻōlelo hōʻailona palapala. ʻO JSON kahi palapala ʻikepili i kūkulu ʻia, no laila ʻo ka hoʻohālikelike ʻana iā lākou i kekahi me ka hoʻāʻo ʻana e hoʻohālikelike i ka mahana me ka palupalu.

ʻO ka manaʻo o ka ʻokoʻa ma waena palapala a me ka ʻikepili. Ma ke ʻano he analogue o XML, hiki iā mākou ke lawe i kahi palapala hiki ke heluhelu ʻia e ka mīkini. ʻOiai ua manaʻo ʻia e hiki ke heluhelu ʻia i ka mīkini, pili ia i nā palapala, a mai kēia manaʻo e hoʻohālikelike maoli ʻia me nā palapala PDF, ʻaʻole hiki ke heluhelu ʻia e ka mīkini.

No ka laʻana, ma XML ka hoʻonohonoho o nā mea nui. Akā ma JSON, ʻaʻole i wehewehe ʻia ka hoʻonohonoho ʻana o nā hui waiwai nui i loko o nā mea. Inā makemake ʻoe e kiʻi i kahi puke wehewehe ʻōlelo ʻole o nā hui waiwai kī, ʻaʻohe mea pili i ka hoʻonohonoho maoli ʻana o nā mea i loko o kēlā faila. Akā hiki iā ʻoe ke hana i nā ʻano ʻikepili like ʻole mai kēia ʻikepili. palapala, no ka mea, aia kekahi kauoha ma ka palapala. ʻO ka metaphorically, ua like ia me kahi palapala ma ka pepa, ʻoiai ʻaʻohe ona ʻano kino, ʻaʻole like me ka paʻi a i ʻole ka faila PDF.

ʻO kaʻu hiʻohiʻona o kahi hōʻike wehewehe XML kūpono e hōʻike ana i ka hoʻonohonoho ʻana o nā mea i loko o ka puke wehewehe ʻōlelo, e kūʻē i ka hōʻike JSON. ʻAʻole hiki iaʻu ke haʻalele i kēia kauoha: aia kēia linearity i ke ʻano palapala a me ka format XML. Hiki paha i kekahi ke koho ʻole i ke kauoha i ka unuhi ʻana i kēia palapala XML, akā ʻaʻohe kumu o ka hoʻopaʻapaʻa ʻana no kēia mea no ka mea ʻoi aku ka pilikia o ke kūkākūkā o ke ʻano ponoʻī. Eia kekahi, inā hiki iā ʻoe ke ʻike i ka palapala ma ka polokalamu kele pūnaewele ma o ka hoʻopili ʻana i kahi pepa kaila cascading iā ia, e ʻike ʻoe e ʻike ʻia nā mea puke wehewehe i kahi ʻano a ʻaʻohe mea ʻē aʻe.

I nā huaʻōlelo ʻē aʻe, hiki ke hoʻololi ʻia kahi puke wehewehe (kahi ʻāpana o ka ʻikepili i kūkulu ʻia). n nā palapala like ʻole (ma XML, PDF, pepa, etc.), kahi n - ka helu o ka hui pū ʻana o nā mea i loko o ka puke wehewehe ʻōlelo, a ʻaʻole mākou i noʻonoʻo i nā mea ʻē aʻe.

Eia nō naʻe, inā makemake ʻoe e hoʻoili i ka ʻikepili wale nō, a laila ʻaʻole pono ka hoʻohana ʻana i kahi palapala hiki ke heluhelu ʻia e ka mīkini. Hoʻohana ia i kahi hiʻohiʻona, i kēia hihia he superfluous; e hele wale ia i ke ala. Eia kekahi, no ka unuhi ʻana i ka ʻikepili kumu, pono ʻoe e kākau i kahi papahana. ʻAʻohe kumu o ka hoʻohana ʻana i ka XML no kekahi mea ʻaʻole e hoʻopili ʻia ma ke ʻano he palapala i kekahi manawa (e ʻōlelo, me ka hoʻohana ʻana i CSS a i ʻole XSLT, a i ʻole nā ​​​​mea ʻelua), ʻoiai ʻo ia ke kumu nui (inā ʻaʻole wale) ke kumu o ka hana ʻana pēlā. i ke kumu hoʻohālike palapala.

Eia kekahi, no ka mea, ʻaʻohe manaʻo o ka XML (a i ʻole nā ​​ʻōlelo Boolean, a i ʻole nā ​​ʻano ʻikepili ʻē aʻe), ua manaʻo ʻia nā helu āpau i hōʻike ʻia ma kēia ʻano he kikokikona hou. No ka unuhi ʻana i ka ʻikepili, pono e ʻike ʻia ka schema a me kona pilina me ka ʻikepili pili i hōʻike ʻia. Pono ʻoe e ʻike i ka wā, e pili ana i ka pōʻaiapili, e hōʻike ana kekahi mea kikokikona i kahi helu a pono e hoʻololi ʻia i kahi helu, etc.

No laila, ʻaʻole ʻokoʻa loa ke kaʻina o ka unuhi ʻana i ka ʻikepili mai nā palapala XML mai ke kaʻina hana o ka ʻike ʻana i nā palapala scanned i loaʻa, no ka laʻana, nā papa i hana i nā ʻaoʻao he nui o ka ʻikepili helu. ʻAe, hiki ke hana i kēia ma ke kumu, akā ʻaʻole kēia ke ala maikaʻi loa, koe wale nō ka hopena hope loa, inā ʻaʻohe koho ʻē aʻe. ʻO kahi hoʻonā kūpono ʻo ka ʻimi wale ʻana i kahi kope kikohoʻe o ka ʻikepili kumu ʻaʻole i hoʻokomo ʻia i loko o kahi ʻano palapala e hoʻohui i ka ʻikepili me kāna kikoʻī kikoʻī kikoʻī.

ʻO kēlā ʻōlelo, ʻaʻole ia he mea kāhāhā iaʻu i ka kaulana o XML i ka ʻoihana. ʻO ke kumu o kēia, ʻo ia ka hoʻomaopopo ʻana i ke ʻano o ka palapala (ma ka pepa) a maʻa i ka ʻoihana, a makemake lākou e hoʻomau i ka hoʻohana ʻana i kahi kumu hoʻohālike i kamaʻāina a maopopo. No ke kumu hoʻokahi, hoʻohana pinepine nā ʻoihana i nā palapala PDF ma mua o nā palapala hiki ke heluhelu ʻia e ka mīkini - no ka mea, ua paʻa mau lākou i ka manaʻo o kahi ʻaoʻao i paʻi ʻia me kahi nui kino kikoʻī. Pili kēia i nā palapala i paʻi ʻole ʻia (no ka laʻana, he 8000-ʻaoʻao PDF o nā palapala hoʻopaʻa inoa). Mai kēia manaʻo, ʻo ka hoʻohana ʻana i ka XML i ka ʻoihana he hōʻike maoli ia o ka skeuomorphism. Hoʻomaopopo ka poʻe i ka manaʻo metaphorical o kahi ʻaoʻao i paʻi ʻia me ka liʻiliʻi o ka nui, a maopopo lākou i ka hana ʻana i nā kaʻina ʻoihana e pili ana i nā palapala paʻi. Inā ʻo ia kāu alakaʻi, ʻo nā palapala me ka palena ʻole o ka nui o ke kino i hiki ke heluhelu ʻia i ka mīkini — nā palapala XML — e hōʻike ana i nā mea hou aʻe ʻoiai he hoa palapala maʻa a ʻoluʻolu. ʻAʻole kēia e pale iā lākou mai ka waiho ʻana i kahi ala hewa a me ka skeuomorphic o ka hōʻike ʻana i ka ʻikepili.

I kēia lā, ʻo nā schemas XML wale nō aʻu i ʻike ai i hiki iaʻu ke kāhea maoli i ka hoʻohana pono ʻana o ka hōpili ʻo XHTML a me DocBook.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka