Tata tonu te whakamahi hee te XML

Tata tonu te whakamahi hee te XML
I hangaia te reo XML i te tau 1996. I te wa i puta mai ai kua timata kee te pohehe i nga ahuatanga o tana tono, a mo nga kaupapa e ngana ana ratou ki te urutau, ehara i te mea pai rawa atu.

Ehara i te whakanuia te kii ko te nuinga o nga aronuinga XML kua kitea e au he kore tika, he he ranei te whakamahi XML. I tua atu, ko tenei whakamahinga o te XML i whakaatu i te tino pohehe mo te tikanga o te XML.

He reo tohu te XML. Ehara tenei i te whakatakotoranga raraunga. Ko te nuinga o nga aronuinga XML kua tino warewarehia ki tenei wehewehenga, e rangirua ana te XML me te whakatakotoranga raraunga, i te mutunga ka he te kowhiri i te XML na te mea ko te whakatakotoranga raraunga e hiahiatia ana.

Ki te kore e nui rawa nga korero, he pai te XML mo te tuhi i nga poraka o te tuhinga me te hanganga me te metadata. Mena ko to whainga matua ehara i te mahi me tetahi poraka kuputuhi, ko te whiriwhiri i te XML kare pea e tika.

Mai i tenei tirohanga, he huarahi ngawari ki te tirotiro i te pai o te hanga i te aronuinga XML. Me tango hei tauira he tuhinga kei roto i te aronuinga ka tangohia nga tohu me nga huanga katoa mai i tera. Mena karekau te mea e toe ana (mehemea he raina tuwhera kei te toe), karekau i tika te hanga o to aronuinga, me kore ranei koe i whakamahi XML.

Kei raro iho ka hoatu e ahau etahi o nga tauira tino noa o nga ara iahiko he te hanga.

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

I konei ka kite tatou i tetahi tauira o te nganatanga koretake me te rereke (ahakoa tino noa) ki te whakaatu i tetahi papakupu uara-matua ngawari ki te XML. Mena ka tangohia e koe nga tohu me nga huanga katoa, ka waiho koe he rarangi kau. Ko te tikanga, ko tenei tuhinga, ahakoa he aha te ahua poauau, he whakamohiotanga kupu o te rarangi kau.

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

Ko te mea kino rawa atu, ehara i te mea he kupu whakamaarama o te aho putua i konei hei korero mo te papakupu - i tenei wa ka whakawaeherehia te "papakupu" hei huanga o te huanga pakiaka. Ma tenei ka kore e tautuhia me te hihiri te huinga ingoa huanga i runga i tetahi huānga. I tua atu, e whakaatu ana ko nga mea katoa e tino hiahia ana te kaituhi ki te whakapuaki he wetereo uara-matua ngawari, engari i whakatauhia e ia te whakatau tino rerekee ki te tono XML, me te kaha ki te whakamahi i tetahi huānga kau noa hei prefix hei whakamahi i te wetereo huanga. A he maha nga wa ka tutaki ahau ki nga kaupapa penei.

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

He mea pai ake tenei, engari inaianei mo etahi take he metadata nga taviri me nga uara kaore. He tirohanga kee ki nga papakupu. Mena ka tangohia e koe nga tohu me nga huanga katoa, ka ngaro te haurua o nga korero.

Ko te kupu papakupu tika i roto i te XML ka penei te ahua:

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

Engari ki te mea kua whakatau kee te tangata ki te whakamahi i te XML hei whakatakotoranga raraunga katahi ka whakamahi hei whakarite kupu, katahi ka mohio ratou ko ta ratou e mahi nei kaore i te tika, kaore i te watea. He mea noa mo nga kaihoahoa ki te pohehe i te kowhiri i te XML hei hanga i a raatau tono. Engari i te nuinga o nga wa, ka kino ake nga take ma te whakamahi koretake i te XML ki tetahi o nga ahua kua whakaahuatia i runga ake nei, me te kore e aro ki te kore e tika te XML mo tenei.

Kaupapa XML kino rawa atu? Ma te ara, te taonga mo te aronuinga XML kino rawa kua kite ahau, Ka whiwhi i te whakatakotoranga konae whirihoranga whakarato aunoa mo nga waea waea Polycom IP. Ko enei konae me tango i nga konae tono XML ma te TFTP, e... I te nuinga o te waa, koinei tetahi waahanga mai i tetahi o nga konae penei:

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

Ehara tenei i te kata kino a tetahi. A ehara tenei i taku mea hanga:

  • Ka whakamahia noa nga huānga hei prefix hei taapiri i nga huanga, kei a raatau ano nga ingoa hierarchical.
  • Mena kei te pirangi koe ki te tautapa uara ki nga wa maha o tetahi momo rekoata, me whakamahi koe i nga ingoa huanga hei mahi i tenei. e whai tohu ana.
  • I tua atu, ko nga huanga ka timata i te softkey., me whakanoho ki runga huānga <softkey/>, huanga timata ki feature., me whakanoho ki runga huānga <feature/> me etahi atu, ahakoa te ahua o te ahua koretake me te titiro tuatahi kaore he tikanga.
  • Ka mutu, mena kei te tumanako koe ka rite tonu te waahanga tuatahi o te ingoa huanga ki te ingoa huānga - kaore he pera! Hei tauira, huanga up. me piri ki <userpreferences/>. Ko te raupapa o te whakapiri i nga ingoa huanga ki nga huānga he mea noa, tata katoa.

Tuhinga, raraunga ranei. I nga wa katoa, ka mahi tetahi i tetahi mea tino rerekee ma te ngana ki te whakataurite i te XML me te JSON—e whakaatu ana kare ano ia i te marama. Ko te XML he reo tohu tuhinga. Ko te JSON he whakatakotoranga raraunga hanganga, na te whakatairite i a raatau ki a raatau ano he rite ki te ngana ki te whakataurite i te mahana me te ngawari.

Ko te ariā o te rereketanga i waenga tuhinga me nga raraunga. Hei tauira o te XML, ka taea e maatau te tango i tetahi tuhinga ka taea te panui miihini. Ahakoa ko te tikanga kia taea te panui miihini, he kupu whakarite ki nga tuhinga, mai i tenei tirohanga ka tino rite ki nga tuhinga PDF, kaore e taea te panui miihini.

Hei tauira, i roto i te XML he mea nui te raupapa o nga huānga. Engari i roto i a JSON, ko te raupapa o nga takirua uara-matua i roto i nga taonga he horihori me te kore tautuhi. Mena kei te pirangi koe ki te tiki papakupu kore raupapa o nga takirua uara-matua, karekau he aha te ota tuturu e puta ai nga huānga ki taua konae. Engari ka taea e koe te hanga i nga momo momo raraunga maha mai i enei raraunga. Tuhinga o mua, na te mea he ota kei roto i te tuhinga. Ko te kupu whakarite, he rite ki te tuhinga kei runga pepa, ahakoa karekau he ahua-a-tinana, kaore i rite ki te tuhinga ta, ki te konae PDF ranei.

Ko taku tauira o te whakaaturanga papakupu XML tika e whakaatu ana i te raupapa o nga huānga o te papakupu, he rereke ki te tohu JSON. Kaore e taea e au te wareware i tenei ota: kei roto i te tauira tuhinga me te whakatakotoranga XML tenei rarangi. Ko etahi ka whiriwhiri kia kaua e warewarehia te ota i te wa e whakamaori ana i tenei tuhinga XML, engari kaore he take ki te tautohetohe mo tenei i te mea ko te take kei tua atu i te waahi o te korerorero mo te whakatakotoranga ake. I tua atu, ki te hanga e koe te tuhinga kia kitea i roto i te kaitirotiro ma te taapiri i tetahi pepa ahua whakaheke ki a ia, ka kite koe ka puta nga waahanga papakupu i roto i tetahi raupapa, kaore i tetahi atu.

I etahi atu kupu, ka taea te huri i te papakupu (he waahanga o nga raraunga hanganga). n nga momo tuhinga ka taea (i roto i te XML, PDF, pepa, me etahi atu), kei hea n - te maha o nga huinga huinga o nga huānga kei roto i te papakupu, a kaore ano matou kia whai whakaaro ki etahi atu taurangi ka taea.

Heoi, ka whai ano hoki mena ka hiahia koe ki te whakawhiti raraunga anake, katahi ka kore e whai hua te whakamahi i te tuhinga panui miihini mo tenei. Ka whakamahia e ia he tauira, i roto i tenei keehi he mea nui, ka uru noa ki te huarahi. I tua atu, ki te tango i nga raraunga puna, me tuhi koe i tetahi kaupapa. He iti noa te whai waahi ki te whakamahi i te XML mo tetahi mea kaore e whakahōputuhia hei tuhinga i etahi wa (me kii, ma te whakamahi CSS, XSLT ranei, e rua ranei), na te mea koinei te take matua (mehemea ehara ko te mea anake) te take. ki te tauira tuhinga.

I tua atu, i te mea karekau he ariā o te XML (he kupu Boolean ranei, etahi atu momo raraunga ranei), ko nga tau katoa e whakaatuhia ana i tenei whakatakotoranga ka kiia he tuhinga taapiri noa. Hei tango raraunga, me mohio te aronuinga me tona hononga ki nga raraunga e whakaatu ana. Me mohio ano koe ki te wa, i runga i te horopaki, ka tohu tetahi huānga kuputuhi ki tetahi tau, me tahuri ki te tau, aha atu.

No reira, ko te mahi tango raraunga mai i nga tuhinga XML kaore i te rereke mai i te tikanga mo te mohio ki nga tuhinga karapa kei roto, hei tauira, nga ripanga e hanga ana i nga wharangi maha o nga raraunga tau. Ae, ka taea te mahi i runga i te kaupapa, engari ehara tenei i te huarahi tino pai rawa atu, engari hei huarahi whakamutunga, ina kaore rawa etahi atu whiringa. Ko te otinga whaitake ko te kimi noa i te kape matihiko o nga raraunga taketake karekau i whakauruhia ki roto i te tauira tuhinga e whakakotahi ana i nga raraunga me ona whakaaturanga kupu motuhake.

E ai ki tera, kaore au i te miharo he rongonui a XML ki nga umanga. Ko te take o tenei ko te ahua o te whakatakotoranga tuhinga (i runga i te pepa) e marama ana, e waia ana ki nga pakihi, me te hiahia ki te whakamahi tonu i tetahi tauira mohio me te maarama. He rite tonu te take, he maha nga wa ka whakamahia e nga pakihi nga tuhinga PDF hei utu mo te maha atu o nga whakatakotoranga ka taea te panui miihini - na te mea kei te here tonu ratou ki te kaupapa o te wharangi kua taia me te rahi o te tinana. Ka pa ano tenei ki nga tuhinga kaare pea ka taia (hei tauira, he PDF 8000-wharangi o nga tuhinga rehita). Mai i tenei tirohanga, ko te whakamahinga o te XML i roto i nga pakihi he tino whakaaturanga o te skeuomorphism. Kei te mohio nga tangata ki te whakaaro kupu whakarite mo te wharangi kua taia he iti te rahi, a ka mohio ratou ki te hanga i nga mahi pakihi i runga i nga tuhinga kua taia. Mena koinei to kaiarahi, ko nga tuhinga karekau he herenga rahi-a-tinana ka taea te panui-miihini—nga tuhinga XML—e tohu ana i nga mahi hou i te wa e mohio ana, e pai ana hoki te tuhinga. Kaore tenei e aukati i a raatau ki te noho i te huarahi he me te tino skeuomorphic mo te whakaatu raraunga.

I tenei wa, ko nga kaupapa XML anake e mohio ana ahau ka taea e au te kii he whakamahinga tika o te whakatakotoranga ko XHTML me DocBook.

Source: will.com

Tāpiri i te kōrero