Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
XMLannessi e connessi Domenico Briganti Francesco Angelillo
L’eXtensible Markup Language, fin dalla suanascita, ha avuto un gran consenso da parte ditutti gli attori che operano nel ...
Agenda   XML e Namespace   Accenni di     XMLSchema     XSL     XPath     XSL-Fo       Eidon School   3
XMLEidon School         4
Le origini di XML                              1/2 L’XML è un metalinguaggio, derivato da SGML (Standard Generalized Marku...
Le origini di XML                               2/2 L’SGML non ha avuto notorietà essendo complicato da implementare. L’HT...
Ma cos’è XML?   È una raccomandazione del W3C                       http://www.w3.org/XML   Consiste in un insieme di ta...
..e cosa non è!   Un linguaggio di programmazione.   Un sostituto di HTML.   Un protocollo di comunicazione.   Uno sta...
Vediamo un esempio di XML<?xml version="1.1" encoding=”UTF-8”?><computer>   <!—questo è un commento-->   <memoria tipo=”DD...
Esaminiamolo!Questa è una fantomatica descrizione di un computer.Un documento XML è formato da due parti:   Un prologo fa...
Processing Instructions   Sono delle direttive che forniscono informazioni su    come leggere/parserizzare i file xml.  ...
Il prologo (XML Declaration)   È una process instruction riservata   Se c’è, deve trovarsi in testa al documento    Nell...
Il corpo Dopo il possibile prologo, segue una radice da cui si origina l’albero del documento. Come l’esempio dimostra, la...
Strutturare al meglio! Vediamo che le informazioni, i dati veri e propri, del documento sono contenuti dentro dei tag all’...
Attributi I nostri elementi possono contenere anche attributi come questi:           <memoria tipo=”DDR” unit=”Mb”>512</me...
Sezioni CDATA    Possiamo notare una sezione CDATA (Character Data):              <descrizione><![CDATA[ questo è         ...
Entità 1/2 Cosa succede se scrivo <alert>Il totale è < 0</alert> ?server.dtd:   <!ENTITY jvmRoute "rcstom01cinematv"> Per ...
DEMO               Risolvi entitàEidon School                    18
Entità 2/2    È possibile inserire come entità anche un intero     documento, anche esterno: <!ENTITY footer SYSTEM   "ht...
I tipi di documento XML    I documenti XML possono essere di due tipi:   Ben Formati: è il documento che rispetta le rego...
Le regole di XML per documenti well-format   L’intero documento deve essere racchiuso in un unico tag    radice.   I tag...
DOC TYPE   Un documento valido deve avere un DTD (o,    come vedremo più avanti, un XML Schema)    con cui può essere val...
DOCTYPE: esempi   XHTML 1.0 Strict     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"       "http://www.w3.org/...
DOCTYPE: esempi<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  Strict//EN"  "http://ww...
DOCTYPE: esempi<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app PUBLIC  "-//Sun Microsystems, Inc.//DTD Web Ap...
NAMESPACEEidon School   26
Il problemaIn un unico documento XML possiamo rappresentareinformazioni di natura diversa:      <autovettura>             ...
La soluzionePer dare un significato differente ai vari tag si usano dei prefissi,identificatori posti prima del nome del m...
Namespace   È una recommendation di W3C dal 1999.   La direttiva “xml:namespace” indica a quale URI    (Uniform Resource...
Namespace di default   Tutti i tag che non hanno un prefisso appartengono    al namespace di default.   Il namespace di ...
Namespace e attributi   I namespace si possono applicare anche agli    attributi:    <au:modello au:type="I">Honda CRW</a...
Un esempio<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"      xmlns="http://java.sun.com/xml/ns/j2ee"     xm...
Facciamo un altro esempio!<!-- http://www.w3.org is bound to n1 and n2 and is the   default --><x xmlns:n1="http://www.w3....
DEMO      Test NamespaceEidon School          34
DEMOMathML e SVG in Mozilla Eidon School          35
ENCODINGEidon School   36
Mai visto qualcosa del genere?   Simbolo delleuro €         …€…   € anche questo è il simbolo dell’euro!!   Vari “?”...
Character-Set   Quasi tutti i caratteri di ogni lingua sono codificati    nello standard UNICODE che associa un numero ad...
Encoding declaration     <?xml version="1.0" encoding="ISO-8859-1"?>   È caldamente consigliato dichiarare l’encoding   ...
Character References 1/2   Da la possibilità di inserire un carattere usando il    codice UNICODE:     њ    decimale    ...
Character References 2/2Esempio (proverbio greco):<maxim>σοφός  έαυτόν  γιγνώσ&  #x3BA;ει</maxim>             “The wise ma...
DEMO               EncodingEidon School              42
Accenni ai contenuti del         corso Eidon School      43
CSS e XSL L’importanza che il W3C ha dato alla separazione delle informazioni in dati e presentazione ha portato la necess...
XSL È una famiglia di linguaggi per la trasformazione e presentazione di documenti XML, si compone di:    XPath: recupera...
XPath   Sintassi per localizzare elementi o attributi in    documenti XML   Namespaces aware   String-based (non XML) ...
XSLT   Raccomandazione del W3C (1.0) del novembre 1999 .   W3C: “Linguaggio per trasformate un documento    XML in un al...
XSL-Fo   Raccomandazione del W3C dell’ottobre 2001.   Namespace: xmlns:fo=“http://www.w3.org/1999/XSL/Format”   Trasfor...
XMLSchema   Linguaggio per definire delle regole di validità per documenti    XML   W3C Raccommendation dal 2001   Più ...
Java & XML   Parser DOM, SAX, StAX, TrAX       Eidon School               50
Parser: DOM vs. SAX   Quando usare DOM:     Per   percorrere l’albero avanti e indietro     Manipolare      il document...
Ci vediamo al corso!!  Eidon School   52
Riferimenti   XML in a Nutshell, 3rd Edition (ISBN: 0-596-00764-7)   http://en.wikipedia.org/wiki/Standard_Generalized_M...
Eidon School   54
Upcoming SlideShare
Loading in …5
×

Xml annessi e connessi

724 views

Published on

L’eXtensible Markup Language, fin dalla sua nascita, ha avuto un gran consenso da parte di tutti gli attori che operano nel mondo informatico, diventando di fatto la base di molte applicazioni, in particolar modo di quelle che fondano la loro attività sullo scambio di informazioni, per la sua semplicità ed interoperabilità.

  • Be the first to comment

  • Be the first to like this

Xml annessi e connessi

  1. 1. XMLannessi e connessi Domenico Briganti Francesco Angelillo
  2. 2. L’eXtensible Markup Language, fin dalla suanascita, ha avuto un gran consenso da parte ditutti gli attori che operano nel mondoinformatico, diventando di fatto la base dimolte applicazioni, in particolar modo di quelleche fondano la loro attività sullo scambio diinformazioni, per la sua semplicità edinteroperabilità. Eidon School 2
  3. 3. Agenda XML e Namespace Accenni di  XMLSchema  XSL  XPath  XSL-Fo Eidon School 3
  4. 4. XMLEidon School 4
  5. 5. Le origini di XML 1/2 L’XML è un metalinguaggio, derivato da SGML (Standard Generalized Markup Language standard internazionale ISO 8879 del 1986) che ha il compito di rappresentare informazioni strutturate più rigidamente rispetto al suo predecessore. L’SGML deriva dal GML, creato da IBM nel ’69, che aveva come obiettivo quello di rendere i documenti elettronici più comprensibili e versatili, indipendenti dal mezzo di consultazione e di sollevare l’autore dal compito di impaginazione (per qualunque output, carta, pagina web, presentazione, ecc.)...e per durare per tempo! Eidon School 5
  6. 6. Le origini di XML 2/2 L’SGML non ha avuto notorietà essendo complicato da implementare. L’HTML, un altro derivato di SGML, ha avuto invece un successo enorme per la sua semplicità e per il boom dei web browser. L’XML è un metalinguaggio che mira a migliorare sia l’SGML perché complesso, sia l’HTML (perché mischia nel testo informazioni di impaginazione e formattazione). È stato formalizzato dal W3C nel febbraio ’98, attualmente (2009) la versione 1.1 è W3C recommendation. Eidon School 6
  7. 7. Ma cos’è XML? È una raccomandazione del W3C http://www.w3.org/XML Consiste in un insieme di tag (marcatori di testo che sono racchiusi da “<“ e “>”) e attributi definiti dall’utente che permettono di rappresentare un’informazione in maniera gerarchica. È uno standard aperto libero da royalty, brevetti, copyright o segreti industriali. Auto esplicativo. Creabile ed editabile con un semplice editor di testo. Eidon School 7
  8. 8. ..e cosa non è! Un linguaggio di programmazione. Un sostituto di HTML. Un protocollo di comunicazione. Uno standard binario. Eidon School 8
  9. 9. Vediamo un esempio di XML<?xml version="1.1" encoding=”UTF-8”?><computer> <!—questo è un commento--> <memoria tipo=”DDR” unit=”Mb”>512</memoria> <CPU>1.2 GHz</CPU> <tastiera>400 tasti</tastiera> <HD> <HardDisk>7200 rpm 5Gb</HardDisk> <HardDisk>7200 rpm 224Tb</HardDisk> </HD> <descrizione><![CDATA[ questo è un ottimo <<PC>>!]]> </descrizione> <lettore/></computer> Eidon School 9
  10. 10. Esaminiamolo!Questa è una fantomatica descrizione di un computer.Un documento XML è formato da due parti: Un prologo facoltativo (ma raccomandato per indicare la versione del documento xml e la codifica) che vedremo tra pochissimo Il corpo del documento Eidon School 10
  11. 11. Processing Instructions Sono delle direttive che forniscono informazioni su come leggere/parserizzare i file xml. Sono racchiusi tra “<?” e “?>”. Come per i commenti, possono trovarsi in qualunque punto del documento ma non dentro un tag es. <tag NO-QUI>. <?robots index="yes" follow="no"?><?xml-stylesheet href="person.css" type="text/css"?> <?php mysql_connect("database.unc.edu", "debra", "secret"); ?> Eidon School 11
  12. 12. Il prologo (XML Declaration) È una process instruction riservata Se c’è, deve trovarsi in testa al documento Nell’esempio che abbiamo visto era: <?xml version="1.1" encoding=”UTF-8”?> Il primo indica la versione di XML utilizzata, la più recente è la 1.1. Il secondo l’encoding del documento (in questo caso UTF- 8, che è anche il charterset di default per XML). È possibile indicare anche standalone="yes" Xml, XML, xml ecc. in qualunque combinazione di case sono riservati. Eidon School 12
  13. 13. Il corpo Dopo il possibile prologo, segue una radice da cui si origina l’albero del documento. Come l’esempio dimostra, la radice dell’elemento contiene i dati (le informazioni vere e proprie) tra i marcatori mentre quest’ultimi si occupano di definire la struttura gerarchica del documento. Eidon School 13
  14. 14. Strutturare al meglio! Vediamo che le informazioni, i dati veri e propri, del documento sono contenuti dentro dei tag all’interno dei quali è possibile inserire anche altri tag figli. Benché sia ammissibile avere tag figli e testo dentro lo stesso marcatore (“tag a contenuto misto”), ad esempio: <HD> Haqdrdisk <HardQ>5</ HardQ> </HD> è sconsigliato, in quanto si complica la creazione di documenti che controllano la correttezza del nostro XML Eidon School 14
  15. 15. Attributi I nostri elementi possono contenere anche attributi come questi: <memoria tipo=”DDR” unit=”Mb”>512</memoria> BENE!! OVVIAMENTE LA PRIMA FORMA!! possiamo anche scrivere le stesse informazioni così: è più utilizzata perchéunit=”Mb” qta=”512”/> negli <memoria tipo=”DDR” si tende a inserire oppure cosi: delle proprietà che riguardano il valore attributi contenuto nel tag, evitando cosi di andare a <memoria> modificare il valore di un attributo, meno <tipo>DDR</tipo> <unit>Mb</unit> flessibile di un testo contenuto in un tag, o di <qta>512</qta> dover analizzare la stringa “512Mb DDR” come </memoria> oppure cosi ancora: nell’ultimo caso. <memoria>512Mb DDR</memoria> Qual è secondo voi la rappresentazione migliore? Eidon School 15
  16. 16. Sezioni CDATA Possiamo notare una sezione CDATA (Character Data): <descrizione><![CDATA[ questo è un ottimo <<PC>>!]]> </descrizione> Questa è utilizzata per inserire del testo in cui sono presenti anche caratteri particolari come “&”, “<”, “>” senza che siano interpretati come riferimenti a markup. Deve iniziare con “<![CDATA[”. E terminare con “]]>”. Non può contenere al suo interno la stringa “]]>”. Eidon School 16
  17. 17. Entità 1/2 Cosa succede se scrivo <alert>Il totale è < 0</alert> ?server.dtd: <!ENTITY jvmRoute "rcstom01cinematv"> Per poter usare caratteri significativi per XML si usano le entità:  <!ENTITY le predefinite &lt;(<) &gt;(>) &amp;(&) &quot;(“) Cinque sono SHUTDOWNport "8419"> <!ENTITY HTTPport "8097"> &apos;(‘)  <!ENTITYusato per dichiarare entità: Il DTD viene AJPport "8031"> <!ENTITY fnof "ƒ">conf/server.xml: <!ENTITY coordinate "((x, y) | (y, x) | (q, r) | (r, q))“ > <!DOCTYPE Server SYSTEM "../server.dtd"> <Server port="&SHUTDOWNport;“ shutdown="SHUTDOWN"> Dove lo abbiamo già visto? Eidon School 17
  18. 18. DEMO Risolvi entitàEidon School 18
  19. 19. Entità 2/2  È possibile inserire come entità anche un intero documento, anche esterno: <!ENTITY footer SYSTEM "http://www.oreilly.com/boilerplate/footer.xml"> Eidon School 19
  20. 20. I tipi di documento XML I documenti XML possono essere di due tipi: Ben Formati: è il documento che rispetta le regole di XML (non può altrimenti essere un documento xml!). Validi: oltre a essere ben formati deve anche rispondere correttamente ad un controllo semantico che permette di sapere se il documento ha un significato rispetto a quello che vogliamo. Un programma di elaborazione matematica gestisce l’importazione di documenti XML contenenti determinati tag, diversi per un programma bancario. Questo controllo è opzionale. Eidon School 20
  21. 21. Le regole di XML per documenti well-format L’intero documento deve essere racchiuso in un unico tag radice. I tag devono essere annidati in maniera corretta, ogni tag di apertura deve essere seguito dal suo di chiusura dentro i quali possono esserci altri tag sempre annidati in maniera corretta. Gli attributi possono essere solo inseriti nei tag di apertura. Lo stesso attributo non può comparire più di una volta all’interno dello stesso tag. Ogni attributo inserito deve avere un valore e deve essere racchiuso tra doppi o singoli apici. I nomi dei marcatori e degli attributi sono Case Sensitive. Eidon School 21
  22. 22. DOC TYPE Un documento valido deve avere un DTD (o, come vedremo più avanti, un XML Schema) con cui può essere validato Il DOCTYPE deve essere inserito tra l’xml declaration e il root element Subito dopo “<!DOCTYPE” è presente in nome del tag di root del documento SYSTEM o PUBLIC? Eidon School 22
  23. 23. DOCTYPE: esempi XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> XHTML 1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> XHTML 1.0 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- frameset.dtd"> XHTML 1.1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> Eidon School 23
  24. 24. DOCTYPE: esempi<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>XHTML 1.0 Example</title> …. Eidon School 24
  25. 25. DOCTYPE: esempi<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <display-name>CommunityAtCasa</display-name> … Eidon School 25
  26. 26. NAMESPACEEidon School 26
  27. 27. Il problemaIn un unico documento XML possiamo rappresentareinformazioni di natura diversa: <autovettura> <modello type="I">Honda CRW</modello> <pneumatici> <modello>Pirelli P9999</modello> </pneumatici> </autovettura>Come distinguere i vari tag in base al loro significato? Eidon School 27
  28. 28. La soluzionePer dare un significato differente ai vari tag si usano dei prefissi,identificatori posti prima del nome del marcatore e separati dai “:”da quest’ultimo: <?xml:namespace ns="http://some/uri1" prefix="au"?> <?xml:namespace ns="http://some/url2" prefix="pn"?> <au:autovettura> <au:modello type="I">Honda CRW</au:modello> <pn:pneumatici> <pn:modello>Pirelli P9999</pn:modello> </pn:pneumatici> </au:autovettura> Eidon School 28
  29. 29. Namespace È una recommendation di W3C dal 1999. La direttiva “xml:namespace” indica a quale URI (Uniform Resource Identifier) si riferisce un determinato prefisso. Si usa un URI perché unico in Internet. Un marcatore che usa un prefisso di dice che ha un “nome qualificato”. Si può specificare anche al suo primo utilizzo e/o dentro un tag (e ha validità solo nei nodi figli): <au:autovettura xmlns:au="http://some/uri"> Eidon School 29
  30. 30. Namespace di default Tutti i tag che non hanno un prefisso appartengono al namespace di default. Il namespace di default può anche essere dichiarato attraverso la parola chiave riservata xmlns NON seguita da prefisso: <autovettura xmlns="http://some/uri"> Il namespace di default non dichiarato ha l’URI "" Eidon School 30
  31. 31. Namespace e attributi I namespace si possono applicare anche agli attributi: <au:modello au:type="I">Honda CRW</au:modello> Il namespace di default non si applica agli attributi privi di prefisso. Se relativi a namespace diversi, e che puntano a URI diversi, gli attributi possono avere nome locale uguale. Eidon School 31
  32. 32. Un esempio<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>msite</display-name> <description> MSITE - sito mobile della gazzetta dello sport </description> … Eidon School 32
  33. 33. Facciamo un altro esempio!<!-- http://www.w3.org is bound to n1 and n2 and is the default --><x xmlns:n1="http://www.w3.org" xmlns:n2="http://www.w3.org" xmlns="http://www.w3.org" > <alex a="1" b="2" /> <frantz a="1" n1:a="2" /> <ficarra a="1" a="2" /> <picone n1:a="1" n2:a="2" /></x> Eidon School 33
  34. 34. DEMO Test NamespaceEidon School 34
  35. 35. DEMOMathML e SVG in Mozilla Eidon School 35
  36. 36. ENCODINGEidon School 36
  37. 37. Mai visto qualcosa del genere? Simbolo delleuro € …€… € anche questo è il simbolo dell’euro!! Vari “?” <?xml version=1.0 encoding=UTF-8?> Quante volte vi hanno detto che su una pagina html/xml le accentate non si vedono? Eidon School 37
  38. 38. Character-Set Quasi tutti i caratteri di ogni lingua sono codificati nello standard UNICODE che associa un numero ad un simbolo L’encoding dice come quel numero è scritto fisicamente nel file I parser XML possono applicare un meccanismo di auto-detection dell’encoding (anche grazie al Byte Order Mark di UTF) MIME Type text/xml -> US-ASCII, applicazion/xml -> Il client tenta di capire l’econding come nel punto precedente Eidon School 38
  39. 39. Encoding declaration <?xml version="1.0" encoding="ISO-8859-1"?> È caldamente consigliato dichiarare l’encoding Se non viene fatto, il default è UTF-8 o UTF-16 Un XML scritto con caratteri ASCII puri non ha problemi a non dichiarare l’encoding…ma è,à,ù,€ non fanno parte di ASCII 7 bit!ASCII: <città>Mondovì più Como</città>Letto da UTF-8: <città >Mondovì più Como</città >Letto da Latin1: <citt?>Mondov? pi? Como</citt?> Eidon School 39
  40. 40. Character References 1/2 Da la possibilità di inserire un carattere usando il codice UNICODE:  њ decimale  њ esadecimale Non può essere usato nei nomi di tag e attributi Può essere usato nelle Entità: <!ENTITY sigma "σ"> (σ) Eidon School 40
  41. 41. Character References 2/2Esempio (proverbio greco):<maxim>σοφός έαυτόν γιγνώσ& #x3BA;ει</maxim> “The wise man knows himself” Eidon School 41
  42. 42. DEMO EncodingEidon School 42
  43. 43. Accenni ai contenuti del corso Eidon School 43
  44. 44. CSS e XSL L’importanza che il W3C ha dato alla separazione delle informazioni in dati e presentazione ha portato la necessita di sviluppare nuove tecnologie capaci di supportare tale divisione. Nasce cosi CSS per HTML, seguito da XSL per XML, due tecnologie chiave per il futuro del web, il web semantico, in cui le macchine sono capaci di comprendere e trattare le informazioni senza la fatica di dover riconoscerle tra le parti di formattazione. Eidon School 44
  45. 45. XSL È una famiglia di linguaggi per la trasformazione e presentazione di documenti XML, si compone di:  XPath: recupera determinati elementi di un XML  XSLT: Trasforma i file XML in altri formati  XSL-Fo: Formattazione Non sostituisce il CSS, l’XSL è molto utile per trasformare nella forma i contenuti, mentre il CSS resta per assegnare gli stili di formattazione ai tag HTML. Eidon School 45
  46. 46. XPath Sintassi per localizzare elementi o attributi in documenti XML Namespaces aware String-based (non XML) Riesce a manipolare stringhe, valutare espressioni booleane o far calcoli sui nodi o sui loro contenuti. Usato anche da altre tecnologie come XSLT e XPointer È considerato l’SQL di XML Eidon School 46
  47. 47. XSLT Raccomandazione del W3C (1.0) del novembre 1999 . W3C: “Linguaggio per trasformate un documento XML in un altro documento sempre XML”, ma fa molto altro! (unire due documenti XML, ordinare elementi, filtrarli, crearne di nuovi, cambiare strutturalmente il documento). Namespace: “http://www.w3.org/1999/XSL/Transform”. È spesso utilizzato per trasformare un XML in XHTML per la visualizzazione sul web. La trasformazione di un XML attraverso un XSLT viene effettuata dal parser XML. Eidon School 47
  48. 48. XSL-Fo Raccomandazione del W3C dell’ottobre 2001. Namespace: xmlns:fo=“http://www.w3.org/1999/XSL/Format” Trasforma un documento XML in uno Formattato secondo un determinato XSL-Fo. Formati di output:  PostScript  PDF  Testo  PCL  RTF … Eidon School 48
  49. 49. XMLSchema Linguaggio per definire delle regole di validità per documenti XML W3C Raccommendation dal 2001 Più potente del DTD (datatypes…) È XML quindi manipolabile come qualunque altro documento XML Supporta i namespaces Estensibile Uno schema può validare anche solo una porzione di documenti in cui è definito un namespace, viceversa, uno documento XML può avere molti XSD per i diversi namespace che ingloba. Eidon School 49
  50. 50. Java & XML Parser DOM, SAX, StAX, TrAX Eidon School 50
  51. 51. Parser: DOM vs. SAX Quando usare DOM:  Per percorrere l’albero avanti e indietro  Manipolare il documento in molte parti  Si ha a disposizione molta memoria perché l’albero XML viene ricostruito in essa  Creare un nuovo documento Quando usare SAX:  Percorrere l’albero solo “forward only”  Leggere solo poche informazioni  Si ha poca memoria a disposizione Eidon School 51
  52. 52. Ci vediamo al corso!! Eidon School 52
  53. 53. Riferimenti XML in a Nutshell, 3rd Edition (ISBN: 0-596-00764-7) http://en.wikipedia.org/wiki/Standard_Generalized_M arkup_Language http://www.sgmlsource.com/history/roots.htm Eidon School 53
  54. 54. Eidon School 54

×