web - xml processing (dom)

65
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/ Tehnologii Tehnologii Web Web <?xml version=“1.0” ?> <curs desc=“…” /> Tehnologii Web Dr. SabinCorneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

Upload: sabin-buraga

Post on 30-Nov-2014

1.431 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Web - XML processing (DOM)

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Tehnologii Web

Dr. Sabin­Corneliu BuragaFacultatea de Informatica

Universitatea “A.I.Cuza” – Iasi, Romania

http://www.infoiasi.ro/~busaco/

Page 2: Web - XML processing (DOM)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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 read­onlyde tip intreg lung fara semn

Page 18: Web - XML processing (DOM)

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)

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Structura:Un document ≡ ierarhie de obiecte­nod 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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

dom: demo

!!

Page 60: Web - XML processing (DOM)

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)

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)

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)

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)

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)

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

??