G. Mecca – [email protected] – Università della G. Mecca – [email protected] – Università della Basilicata Basilicata Tecnologie di Sviluppo per il Web XML: Concetti Fondamentali versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
54
Embed
G. Mecca – [email protected] – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Concetti Fondamentali versione 2.0 Questo lavoro è concesso.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
16G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Alberi XML
Differenza con i modelli a oggettigli elementi dell’albero sono assimilabili ad oggetti,
classificabili rispetto al loro nomema vengono utilizzati meccanismi molto diversi di
organizzazione degli oggetticontenimento, vincolato alla struttura di albero (un
elemento non può essere figlio di due padri)riferimenti espliciti con identificatori gestiti dal
programmatore e non dal sistema (OID) >> correttezza dei riferimenti
non esiste esplicitamente la nozione di ereditarietà
XML >> Concetti Fondamentali >> Modello Logico
17G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Sintassi XML
Rappresentazione degli alberiattraverso file di testo o “documenti”sintassi concreta definita nello standard basata su
marcatori (“tag”) Algoritmo ricorsivo di codifica
visita in preordine dell’alberoper ogni albero: tag di apertura; es: <corso>codifica ricorsiva del sottoalberotag di chiusura; es: </corso>codifica opportuna per le foglie (valori e attr.)
XML >> Concetti Fondamentali >> Sintassi XML
18G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
19G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Sintassi XML
In sostanzaalla nidificazione dei nodi nell’Infoset
corrisponde la nidificazione dei tag nel doc.tutti i valori sono codificati come caratteri
Difetto della sintassiverbosità: i tag di chiusura sono espliciti
(a 3+4 * (b 2+1 )b + 4 )a >> (a 3+4*(b 2+1) + 4) Pregio della sintassi
semplice da interpretare per il programmat.
XML >> Concetti Fondamentali >> Sintassi XML
20G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Analisi Sintattica
E’ facile costruire analizzatori sintattici perleggere un documento XMLanalizzare la sintassi dei marcatoriricostruire l’InfoSet“parsing” del documento XML
Il documento è auto-descrittivoil significato dei valori è codificato nel nome
degli elementi e degli attributi
XML >> Concetti Fondamentali >> Sintassi XML
21G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Il Successo di XML
Motivi di successogli alberi sono strutture flessibilila sintassi è standard e relativam. semplice
E’ applicato in moltissimi settoribasi di datigestione di documenti elettronicisiti Webscambio di dati tra applicazioni
XML >> Concetti Fondamentali >> Il Successo di XML
22G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Documenti
XML >> Concetti Fondamentali >> Il Successo di XML
rifti=“par01par04 par07
…”
…
…
libro
indicecapitolo
voce
titolo
Un’offerta musico-logica
Bach
capitolotitolo
Goedel, EscherBach: Un’Eterna
GhirlandaBrillante
autore
Douglas R.Hofstadter
paragrafo
paragrafo
titolo
Bachpid=“par01”
codice testo
Federico il Grande …
citazione
Una sera, proprio…
QuandoBach…
…
voce
•solo elementi•solo testo•misto•vuoto
Contenuto:
23G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
48G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DOM (Document Object Model)
Standard W3C API per programmare su un InfoSet
collezione di interfacce Oggetti del DOM
l’InfoSet è rappresentato da oggetti del linguaggio che costituiscono l’albero
Document, DocumentType, Element, Attr, Comment, Text, NameSpace ecc.
su ognuno sono definiti metodi per la manip.
XML >> Concetti Fondamentali >> DOM
49G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DOM (Document Object Model)
Implementazione in Javaclassi e metodi per costruire la rappresentaz.
Java dell’InfoSet da un documento XMLclassi e metodi per navigare l’alberoJAXP (Java 2 SE 1.4)
Terminologicamentemolti confondono InfoSet e DOMovvero chiamano DOM l’albero invece che la
sua rappresentazione nel linguaggio
XML >> Concetti Fondamentali >> DOM
>> Mozilla DOM Inspector
50G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DOM (Document Object Model)
AlternativaSAX – “Simple API for XML Processing”http://www.saxproject.org/standard di fatto
Differenze tra DOM e SAXstruttura di dati vs. eventiparsing completo vs. parsing incrementale
XML >> Concetti Fondamentali >> DOM
51G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Utilizzo di XML nelle Applicazioni Web In quale strato viene usato XML ?
viene utilizzato in tutti gli strati dell’architettura
Sul lato del clienttecnologia fondamentaleè la base per la nuova generazione di
linguaggi di marcaturaXHTML: versione di HTML costruita secondo
le regole del modello e della sintassi XML
XML >> Concetti Fondamentali >> Utilizzo di XML
52G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Utilizzo di XML nelle Applicazioni Web Ma
XML viene utilizzato anche negli altri strati Sul lato della persistenza
può essere utilizzato come tecnologia per la persistenza
Sul lato del server applicativoviene utilizzato per la configurazione
dell’applicazione Web e del server applicativo
XML >> Concetti Fondamentali >> Utilizzo di XML
53G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Riassumendo
XML >> Sommario
Introduzione Modello Logico
Alberi XML (“InfoSet”) Sintassi XML Il Successo di XML Spazi di Nomi (“Namespace”) Schemi
DTDXMLSchema – cenni
DOM (Document Object Model) Utilizzo di XML nelle Applicazioni Web
54G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Termini della Licenza
Termini della Licenza
This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.