web - xml processing (dom)
DESCRIPTION
TRANSCRIPT
![Page 1: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/1.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tehnologii Web
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
![Page 2: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/2.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Detalii in [TX, 193‐239]
Procesari XML: DOM
![Page 3: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/3.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
“Regula de aur este ca nu exista reguli de aur.”
George Bernard Show
![Page 4: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/4.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
XML (Extensible Markup Language)Procesarea documentelor XML
PreliminariiModelul DOM (Document Object Model)
cuprins
![Page 5: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/5.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
intrebare
Cum putem prelucra documentele XML?
![Page 6: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/6.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tipuri de procesari XMLProcesare manuala – e.g., expresii regulateProcesare obiectuala – DOM & non‐DOM
Procesare condusa de evenimente – SAX & non‐SAXProcesare simplificata (Simple XML)
Procesare particulara – via API‐uri specializate: e.g., RDF, RSS, SOAP, SVG,…
preliminarii
![Page 7: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/7.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Procesoare (analizoare) XMLfara validare
verifica doar daca documentul este bine‐formatat(Expat – James Clark, libxml, MSXML,...)
cu validareverifica daca documentul este valid, folosind un DTD sau
o schema (Apache Xerces, JAXP, libxml, MSXML,...)
preliminarii
![Page 8: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/8.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Modelul DOM IntroducereInterfete DOMDOM Core
DOM – nivelul 2DOM – nivelul 3Implementari
DOM direct in navigator
cuprins
![Page 9: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/9.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Scop:procesarea obiectuala a documentelor XML/HTML
dom: intro
![Page 10: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/10.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfata de programare a aplicatiilor (API)abstracta pentru XML/HTML
independenta de platforma & limbaj
standardizata de Consortiul Web
dom: caracterizare
![Page 11: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/11.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Defineste o structura logica arborescentaa documentelor XML
document = set de obiecte
dom: caracterizare
![Page 12: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/12.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Niveluri de specificareDOM 1 (1998)
http://www.w3.org/TR/REC-DOM-Level-1/DOM Core pentru XML + DOM HTML
DOM 2 (2001) – recomandari multiplehttp://www.w3.org/TR/REC-DOM-Level-2/
DOM 3 (2004) – partial standardizathttp://www.w3.org/TR/DOM-Level-3-Core/
dom: caracterizare
![Page 13: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/13.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Se ofera o modalitate abstracta de accesaresi de modificare a reprezentarii interne
a unui document XML
Datele sunt incapsulate in obiecte, ascunse si/sauprotejate de prelucrarea externa directa
dom: interfete
![Page 14: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/14.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Nu implica o implementare concreta, particulara:se ofera interfete de procesare independente
de implementare
Interfetele sunt specificate inIDL (Interface Description Language) – CORBA
dom: interfete
![Page 15: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/15.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Defineste tipurile de obiecteprin specificarea interfetelor acestora(date membre + metode publice)
Pur declarativOfera suport pentru mostenire multiplaprin intermediul interfetelor
Poate specifica module, interfete, metode, tipuri, atribute, exceptii, constante
Detalii in “OMG IDL Syntax & Semantics”: www.omg.org/technology/documents/formal/corba_2.htm
dom: interfete – IDL
![Page 16: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/16.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tipuri de date IDL
dom: interfete – IDL
![Page 17: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/17.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Specificarea interfetei NodeList
interface NodeList { Node item (in unsigned long index); readonly attribute unsigned long length;
};
dom: interfete – exemplu
Metoda cu un parametru, intorcind o valoare de tip NodeNode
Proprietate readonlyde tip intreg lung fara semn
![Page 18: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/18.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Specificarea interfetei Attr
interface Attr :: Node { readonly attribute DOMString name; readonly attribute boolean specified;attribute DOMString value;
};
dom: interfete – exemplu
AttrAttr provine din NodeNode
3 proprietati
![Page 19: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/19.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Structura:Un document ≡ ierarhie de obiectenod care pot implementa interfete (specializate)
Nodurile poseda descendenti sau sint noduri frunzaAccesul la date – liste de noduri, atribute, valori,… –se realizeaza via metodele oferite de obiectele‐nod
dom: core
A se (re)vedea si XML Infoset
![Page 20: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/20.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
DocumentDocument Element, ProcessingInstruction,Comment, DocumentType
DocumentDocumentFragmentFragment
Element, ProcessingInstruction, Comment, Text, CDATASection,…
ElementElement Element, Text, Comment, CDATASection,EntityReference,…
AttrAttr Text, EntityReference
TextText –
dom: core – tipuri de noduri
![Page 21: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/21.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:DOMExceptionexceptii de procesare
DOMImplementationimplementarea curenta
dom: core
![Page 22: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/22.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:DocumentFragment : Nodeacces la fragmente de arbore
dom: core
![Page 23: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/23.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Documentofera acces la document (pentru consultare si/sau modificare)
dom: core
![Page 24: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/24.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Documentproprietatidoctype, implementation, documentElement
dom: core
![Page 25: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/25.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Documentmetode createElement(), createTextNode(), createAttribute(), getElementsByTagName(), createElementNS(), importNode(), getElementsByTagNameNS(), renameNode() etc.
dom: core
DOM 2 DOM 3
![Page 26: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/26.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Nodeacces la nodurile arborelui
dom: core
![Page 27: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/27.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Nodeproprietati nodeName, nodeValue
dom: core
![Page 28: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/28.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Nodemetode getNodeType(), insertBefore(), appendChild(), replaceChild(), removeChild(), cloneChild(), hasChildNodes(), hasAttributes(), isSameNode()
dom: core
DOM 2 DOM 3
![Page 29: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/29.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Elementofera acces la elementele XML
dom: core
![Page 30: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/30.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Elementproprietatea tagName
dom: core
![Page 31: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/31.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Elementmetode getAttribute(), getAttributeNode(), setAttributeNode(), removeAttributeNode(), hasAttribute(), hasAttributeNS(),…
dom: core
DOM 2
![Page 32: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/32.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:Attr : Nodeacces la atributele unui element
dom: core
![Page 33: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/33.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete fundamentale:NodeList & NamedNodeMappermit accesul la colectiile de noduri
dom: core
![Page 34: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/34.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tipuri DOM pentru atribute:
TipuriTipuri DTDDTD TipuriTipuri DOMDOM
CDATA DOMString
Lista valori (left|right|center) DOMString
Valoare unica (disabled) boolean
Numar long int
dom: core
![Page 35: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/35.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
DOM HTML extinde DOM Core
Specializarea interfetelor si oferirea de suport obiectualpentru prelucrarea documentelor HTML
Standardizeaza procesarea paginilor Web(e.g., in cadrul navigatorului)
dom: html
![Page 36: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/36.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfata generica HTMLCollection
Fiecarui element HTML ii va corespundeo interfata: HTMLDocument, HTMLDivElement,
HTMLPreElement,…
dom: html
![Page 37: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/37.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Se ofera si interfata HTMLElement provenind din Element
dom: html
![Page 38: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/38.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Extinde functionalitatile DOM1Crearea unui obiect DocumentCopierea unui nod dintr‐un document in altulSi multe altele…
dom: nivelul 2
SpecificatiaDOM 2 CoreDOM 2 Core
![Page 39: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/39.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Extinde functionalitatile DOM1Controlul foilor de stiluri – CSS 1 & CSS 2Tratarea evenimentelorSpecificarea filtrelor si iteratorilor(parcurgeri sofisticate de arbori DOM)
dom: nivelul 2
![Page 40: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/40.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete noiDOMImplementation2 : DOMImplementationDocument2 : Document
dom: nivelul 2
![Page 41: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/41.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Suport pentru procesarea foilor de stiluriStyleSheetStyleSheetListMediaListDocumentStyle
Detalii la http://www.w3.org/TR/DOM-Level-2-Style
dom: nivelul 2
![Page 42: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/42.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tratarea evenimentelorDefinirea de activitati executatela aparitia unui eveniment
Descrierea arborescenta a fluxului de evenimenteConceperea unui set standard de evenimentee.g., de control al interactiunii cu utilizatorul sinotificare a modificarilor de structura
Detalii: http://www.w3.org/TR/DOM-Level-2-Events
dom: nivelul 2
![Page 43: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/43.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tratarea evenimentelorDe interfata: click, mousedown,mouseup,mouseover,
mousemove, keypress, keydown, keyup, resize, scrollDe modificare a structurii: subtreeModified,
nodeInserted, nodeRemoved, attrModified,…HTML (la nivel de document Web ori de formular):
load, unload, abort, error, select, submit, focus, blur,…
dom: nivelul 2
![Page 44: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/44.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tratarea evenimentelorsunt puse la dispozitie interfetele:
EventTargetEventListenerEvent
UIEventMouseEventMutationEvent
dom: nivelul 2
![Page 45: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/45.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Traversarea arborilor DOMse specifica interfetele optionaleTreeWalker, NodeIterator si Filter
Detalii: http://www.w3.org/TR/DOM-Level-2-Traversal-Range
dom: nivelul 2
![Page 46: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/46.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Traversarea arborilor DOMExemplu de creare & utilizare a unui iterator:
NodeIterator iter = ((DocumentTraversal) document).createNodeIterator (root,
NodeFilter.SHOW_ELEMENT, null); while (Node n = iter.nextNode ())
afiseaza (n); // metoda definita de utilizator
dom: nivelul 2
![Page 47: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/47.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Extinde DOM 2, oferindu‐se interfetepentru manipularea XML via module DOM
Un modul se refera la o facilitate particulara
dom: nivelul 3
![Page 48: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/48.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Modulul Core include interfetele fundamentalece trebuie implementate de toate implementarile
DOM conformindu‐se standardului
Alte module: DOM XML, DOM HTML, DOM XPath, DOM Traversal, DOM Range, DOM Validation, DOM Events, DOM Views,
DOM Load & Save, DOM Stylesheet
dom: nivelul 3
![Page 49: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/49.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
dom: nivelul 3
![Page 50: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/50.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Sunt specificate noi tipuri de date: DOMTimeStamp – numar de milisecundeDOMUserData – date ale aplicatiei‐utilizatorDOMObject – referinta la un obiect
Sunt introduse noi coduri de exceptieVALIDATION_ERR si TYPE_MISMATCH_ERR
dom: nivelul 3
![Page 51: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/51.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Ca si la DOM 2, se ofera suport pentru spatiilede nume – atributele folosite pentru declarareaspatiilor de nume prin definitie apartin URI‐ului
http://www.w3.org/2000/xmlns/
dom: nivelul 3
![Page 52: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/52.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfete noi: DOMStringList, NameList, TypeInfo,UserDataInfo, DOMImplementationList,DOMImplementationSource, DOMError, DOMErrorHandler, DOMLocator, DOMConfiguration
Interfete modificate (extinse): Document, Node, Attr, Element, Text, Entity
Detalii: http://www.w3.org/TR/DOM-Level-3-Core
dom: nivelul 3
![Page 53: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/53.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Module DOM 3 standardizateDOM Load & Save
Interfete puse la dispozitie:LSParser, LSInput, LSSerializer, LSOutput
http://www.w3.org/TR/DOM-Level-3-LS
dom: nivelul 3
![Page 54: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/54.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Module DOM 3 standardizateDOM Validation
Ofera functionalitati de creare/editare(automata) de documente conformindu‐seunor scheme de validare
http://www.w3.org/TR/DOM-Level-3-Val
dom: nivelul 3
![Page 55: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/55.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
domxml – extensie pentru PHP4JAXP – parte integranta din J2SE (javax.xml.*)JDOM – interfata de programare special construitapentru Java: http://www.jdom.org/
JSXML – biblioteca pentru JavaScriptlibxml – API oferit de GNOME: http://xmlsoft.org/
Baza unor API‐uri pentru limbajele C++, Perl, PHP, Python, Ruby etc.
Folosit si de libxslt
dom: implementari
![Page 56: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/56.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
QDOM – parte din Qt (C++), folosit de KDEOracle XDK – implementare CMSDOM – procesari XML pe partea client/server in C/C++, JScript si VBScript (IE, IIS+ASP,…)Face parte a MSXML SDK
Xerces DOM API – platforma XML (C++/Java): http://xml.apache.org/
dom: implementari
![Page 57: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/57.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
XmlDocument – clasa oferita de .NET Framework (C#, J#, VB.NET,...)
XML() – clasa din ActionScript (Flash)XML::DOM – modul Perl pentru DOM, bazat pe Expat (XML::Parser)
xml.dom – modul din Python, parte a PyXML
dom: implementari
![Page 58: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/58.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
dom: implementari
Procesarea documentelor XML:
![Page 59: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/59.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
dom: demo
!!
![Page 60: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/60.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Manipularea documentelor XML in browser
dom: browser
![Page 61: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/61.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Vizualizarea/procesarea documentelor XHTML si XMLse realizeaza via DOM in limbajul de scripting suportatde navigatorul Web
ECMAScript – standard: www.ecma-international.orgJavaScript (Gecko + Expat in Mozilla/Firefox et al.)JScript / VBScript (MSDOM in Internet Explorer)
dom: browser
![Page 62: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/62.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Uzual, se folosesc analizoare XML fara validare (e.g., Expat)
Se ofera suport si pentru procesarea asincronaa informatiilor XML
AJAX (Asynchronous JavaScript And XML) via obiectul XMLHttpRequest
dom: browser
Vezi cursurileviitoare
![Page 63: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/63.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Arborele DOM direct in Firefox via DOM Inspector DOM Inspector
si FirebugFirebug
![Page 64: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/64.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
rezumat
Procesarea documentelor XMLModelul DOM: caracterizare, interfete,
niveluri de specificare, exemple
![Page 65: Web - XML processing (DOM)](https://reader034.vdocument.in/reader034/viewer/2022051323/547b29a75906b58b798b45a5/html5/thumbnails/65.jpg)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
??