Metoda de citire a sursei de date XML dintr-un fișier sau AJAX și apoi prezentarea în Internet Explorer ca interfață grafică (GUI).
Informații scurte despre Exsead Etc.
XMLViewer.js este un script foarte lung, deoarece îndeplinește mai multe funcții diferite pentru a-și atinge scopul.
Argumentele procesului
Când argumentele sunt transmise scriptului, ce se întâmplă atunci când trageți fișierul XML în pictograma de script, această funcție citește fișierul ca fișier binar și apoi transferă conținutul acestuia în DisplayXML. Dacă nu există argumente, atunci Argumentele de proces utilizează AJAX pentru a prelua fluxul de date XML din canalul ATOM al Centrului Wise și transmite XML returnat către DisplayXML.
DisplayXML
Când primiți o bucată de XML ca șir, această funcție o analizează utilizând parserul DOM de la Microsoft. Apoi, el găsește partea "Document in DOM" (DOM este un model obiect al documentului care conține alte părți, împreună cu documentul însuși).
După primirea elementului "document", funcția creează o matrice pentru stocarea tuturor ieșirilor HTML. Această abordare este aleasă, deoarece piese noi HTML pot fi plasate cu succes la sfârșitul matricei, iar întregul matrice este transformat într-un șir în ultimul moment.
Pentru a înțelege următoarea parte a sarcinii, trebuie să înțelegem modul în care principiul DOM formează XML. Ca și cele mai moderne principii de programare, este mult mai simplu decât pare. Trebuie să înțelegeți două principii de bază atunci când lucrați cu XML:
1. Totul este un nod.
2. Ignorați tot ce nu trebuie să vă faceți griji.
Nodurile sunt containere simple. Ele pot conține alte noduri sau pot conține text. Prin urmare, o astfel de bucată de XML
Deci, puteți distinge nodurile care conțin text și nodurile care conțin alte noduri (sau care pot conține alte noduri, dar sunt goale). Fiecare nod are un nodeType. Tipurile de noduri 3 și 4 conțin text.
Ne-am despărțit aproape de noduri! Ultima întrebare necesară pentru acest articol este conceptul de "atribute". Atributele sunt elemente cheie = "valoare (valori)" existente în XML. De exemplu,
Elementul "Document DOM" este el însuși un nod. Toate documentele XML trebuie să aibă un singur nod extern, descendenții cărora sunt toți ceilalți noduri. ProcessNode primește un nod și generează o reprezentare HTML a acestui nod și a tuturor copiilor săi. Prin urmare, DisplayXML trece elementul "document" (nu se știe de ce nu este numit "nod document") în ProcessNode.
ProcessNode
Vrei să fii speriat? ProcessNode este un "manipulator descendent recursiv". Sună foarte dificil, uimitor și înspăimântător. Dar, de fapt, este destul de simplu. Explicația arată astfel: orice nod are o valoare sau un copil. Există o funcție care procesează nodul părinte. Nodul părinte este același cu nodul copil. Prin urmare, aceeași funcție este utilizată pentru a procesa nodul părinte și copiii acestuia.
Cea mai simplă modalitate de a face acest lucru este de a forța funcția care procesează părintele să se numească pentru fiecare dintre copii. O funcție care se numește se numește recursivă. O funcție care folosește recursivitatea pentru a coborî dintr-o relație părinte-copil este numită descendent recursiv. În cele din urmă, se ocupă de noduri de-a lungul căii, așa că se numește un manipulator descendent recursiv.
În cele din urmă, o reprezentare vizuală a XML ca HTML este trimisă către GUI
Acesta este creat folosind următorul fragment de cod:
Trebuie să învățăm multe lucruri, dar, ca rezultat, obținem un script puternic!
Figura 1. Exemplu cu culori specifice procesate folosind VML în Internet Explorer. Figura 2. Un exemplu cu culori specifice procesate folosind panza în Firefox. Figura 3. Un exemplu care arată nodurile minime și selectate procesate de VML în Internet Exp.