Menene tsara XML?
XML (Harshen Alamomi mai Iya Faɗaɗa) tsarin rubutu ne na tsari na W3C don takardu na tsari da musayar bayanai. Tsara — wanda kuma aka sani da buga mai kyau ko kyautata — yana ɗaukar tushen XML mai sifar da ta dace kuma yana sake shigawa don kowane abu, ƙamus, sharhi, umurnin sarrafa, da sashen CDATA ya zama mai sauƙin duba. An kiyaye itacen takardar da aka fassara daidai; bambancin sarari tsakanin abubuwa ne kawai ke canzawa.
Yaya tsara XML ke aiki?
Ana aiki da shigarwa gaba ɗaya a cikin mai bincike ta amfani da APIs na asali DOMParser da XMLSerializer da ƙarin mai shiga mai zagayawa. Matakan matakin sama sune:
- Ana karanta shigarwa a zahiri daga textarea — kowane byte da ka liƙa ana kiyaye shi a cikin ƙwaƙwalwa a cikin gida.
- Mai bincike yana fassara shi tare da
new DOMParser().parseFromString(text, 'application/xml'). Idan shigarwa ba ta da sifar da ta dace, mai fassara yana saka node na<parsererror>wanda ɗigon rubutu ɗin sa yana ɗauke da alamu na layi da ginshiƙi na injin — ana fallasa su a zahiri a strip ɗin kuskure. - A kan fassara mai nasara, mai shiga mai keɓancewa yana tafiya bishiyar DOM zuri-zuri, yana fitar da kowane abu, saiti na ƙamus, sashen CDATA, sharhi, da umurnin sarrafa a kan layin sa na musamman a zurfin yanzu. Ana girmama tags masu kusa da kansu lokacin da zaɓin yana kunna.
- Yanayin taƙaita yana juyar da tsarin:
XMLSerializer().serializeToString(doc)yana fitar da sifar layi ɗaya, sannan regex da aka kiyaye yana cire sarari tsakanin abubuwa ba tare da taɓa rubutu a cikin tubalan CDATA ko nodes rubutu mara sarari ba. - Ana rubuta fitar zuwa textarea mai karantawa kawai, strip ɗin kuskure ana shara, kuma maɓalli na Sauke yana naɗa sakamakon a matsayin fayil ɗin
.xmlda za ka iya tura ko haɗa da tikiti.
Me ya sa buga XML mai kyau da wannan kayan aiki?
- Sirri: kowane wucewa ta fassara, tsara, da taƙaita yana faruwa a cikin mai bincike. XML ba ta kai uwar garkenmu ba — babu lodawa, babu telemetry, babu asusun.
- Kurakurai daidai: lokacin da shigarwa ta lalace, mai fassara yana fallasa daidai layi da ginshiƙi da injin mai bincike kansa ke ba da rahoto, ba tsammani na kirki ba — lambobi iri ɗaya da za ka gani a DevTools.
- Zagaye mai aminci: tsara sannan taƙaita kuma ka dawo da daidaitaccen byte na takardarka ta asali (mai la'akari da zaɓin sanarwar XML) — tsara ba ya sake-canonical namespaces ko sake rubuta tsarin ƙamus.
- Sauri: DOMParser mai tsabta da mai shiga ~layi 60 suna sarrafa cimaka na SOAP da ɓangarorin OOXML masu yawan megabyte nan da nan, ba tare da ɗakin karatu na waje don sauke ba.
Waɗanne amfani na gama-gari na tsara XML akwai?
Buga XML mai kyau yana bayyana a duk buga yanar gizo, haɗin tsari, da adana bayanai:
- Duba ciyarwa na RSS / Atom: liƙa jikin podcast ko ciyarwar labarai don tabbatar metadata na tasha, tsarin abu, da prefix na namespace kafin buga.
- Debugging na SOAP: tsara cimaka da aka kwafi daga Wireshark ko log ɗin abokin SOAP don sashen Header, Body, da Fault su zama masu ganuwa a ɗan kallo.
- Bincike na sitemap: sake shiga sitemap.xml da aka karba daga gasa ko shafin matakinka don ƙidaya shigarwa da tabbatar hreflang na kowane URL.
Yaya misali na tsara XML ke kama?
Liƙa abu 3 <feed><entry><title>Hello</title></entry></feed> da danna Tsara tare da zaɓin shiga sarari 2 yana ba da takarda ta layi huɗu tare da kowane abu a kan layin sa na musamman, da shiga ta zurfin. Sauya zuwa Taƙaita a kan shigarwa iri ɗaya yana haɗa shi baya zuwa kirtanin-byte na asali. Zagaye babu asara don kowane takarda mai sifar da ta dace.
Shin wannan yana gudana a waje da cibiyar sadarwa?
Ee. Tsarin tsara da taƙaita DOMParser + XMLSerializer kawai ne da ƙanƙanar mai shiga mai zagayawa, duk yana gudana a cikin tab ɗin mai bincike. Babu abin da ake lodawa, babu mai aiki na sabis da ke matsa shigarwa, kuma shafin baya yin buƙatun cibiyar sadarwa sifili don mataki na tsara kansa. Zirga-zirgar waje kawai itace hanyoyin kaya na lodin shafi na ma'auni (CSS, fonta, analytics) — XML ɗin ka ba ta kai Ultim8Soft ba.
Shin tsara yana canza takarda?
Babu canjin ma'ana. Tsara ne kawai yana sake rubuta sarari tsakanin abubuwa. Sunaye na abubuwa, ƙimomi na ƙamus, abun ciki na rubutu, payload na CDATA, sharhi, da umurnin sarrafa ana kiyaye su byte-ta-byte. Ana kiyaye sanarwar namespace da prefix daidai kamar yadda shigarwa ta rubuta su — mai tsara baya sake-canonical ko sake tsara ƙamus. Fitar tana fassara zuwa itacen DOM iri ɗaya kamar shigarwa, mai la'akari da maɓalli na sanarwar XML na zaɓi.
Yaya ake sarrafa CDATA / sharhi / umurnin sarrafa?
Kowannensu ana fitar da shi a zahiri a kan layin sa na musamman a zurfin shiga yanzu. Payload na CDATA an naɗe su a cikin <![CDATA[…]]> ba tare da sake-shiga a ciki ba — ƙayyadaddun yana cewa abun ciki na CDATA yana rufe, don haka mai tsara baya taɓa shi. Sharhi suna amfani da <!-- … -->; umurnin sarrafa suna amfani da <?target data?>. Duk ukun suna tsira daga zagaye na tsara → taƙaita → tsara tare da abin cikin su a ciki.
Menene bambanci tsakanin tsara da taƙaita XML?
Tsara yana faɗaɗa sarari don mutane su iya karanta itacen takarda; taƙaita yana cirewa baya don tura da adanawa. Duka biyun suna aiki a kan DOM da aka fassara, ba kirtanin byte asali ba, don zagaye na tsara → taƙaita a kan takarda mai sifar da ta dace yana ba da daidaitaccen byte na sifar taƙaita ta asali. Yi amfani da jagoran tsara lokacin da kake buƙatar karanta ko diff payload na XML, da jagoran taƙaita lokacin da kake son tura ɗaya ta ƙofar API da aka auna ko saka shi a cikin wani takarda.
Wannan mai tsara XML yana amfani da mai fassara iri ɗaya da mai bincike ɗinka ke amfani da shi don amsa AJAX XHR da takardu na SVG, don kowane XML mai sifar da ta dace — RSS, Atom, SOAP, sitemap, OOXML, SVG — yana zagaye a fili. Liƙa kowane XML a sama, kwafi fitar, ko sauke shi a matsayin .xml.