Upload
corrado-benedetti
View
219
Download
1
Embed Size (px)
Citation preview
G. Mecca – [email protected] – Università della Basilicata G. Mecca – [email protected] – Università della Basilicata
Tecnologie di Sviluppo per il Web
XML:
Concetti Fondamentali
versione 2.0Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons
(vedi ultima pagina)
2G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Concetti Fondamentali
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
XML >> Sommario
3G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
Che cos’è XML ?
XML >> Concetti Fondamentali >> Introduzione
Il Webmaster“smanettone”
XML è la tecnologiache risolverà tutti i
problemi dello sviluppo Web
4G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
Che cos’è XML ?
XML >> Concetti Fondamentali >> Introduzione
Il Webmaster“smanettone”
L’esperto didocumenti
XML è la tecnologiache risolverà tutti i
problemi della gestionedi documenti elettronici
5G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
Che cos’è XML ?
XML >> Concetti Fondamentali >> Introduzione
Il Webmaster“smanettone”
L’esperto didocumenti
L’integratore disistemi informativi
XML è la tecnologiache risolverà tutti i
problemi dello scambio di dati tra applicazioni
6G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
Che cos’è XML ?
XML >> Concetti Fondamentali >> Introduzione
Il Webmaster“smanettone”
L’esperto didocumenti
Il venditoredi DBMS
L’integratore disistemi informativi
XML è la tecnologiache risolverà tutti i
problemi dei sistemidi basi di dati
7G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
Che cos’è XML ?
XML >> Concetti Fondamentali >> Introduzione
XML è una sintassi per
descrivere alberi
8G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione
Un po’ di storiauna raccomandazione del W3C del 1998
(World Wide Web Consortium, www.w3.org)tradizione dei documenti strutturati
(discende da uno standard precedente: SGML)pensato originariamente come sostituto di HTML per
il Web (“Web Semantico”) Successivamente, altre applicazioni
adottato come formato di scambio tra applicazionirecentemente, DBMS basati su XML
XML >> Concetti Fondamentali
9G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
La Galassia di XML (w3.org)
XML e DTD InfoSet DOM Namespace XMLSchema XLink XPointer SAX
CSS XSL, XSLT, XSL-FO XPath XQuery XForm XInclude XBase …
XML >> Concetti Fondamentali >> Introduzione
10G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Insegnare XML
Caratteristiche di XMLun modello per la descrizione dei datiuna sintassi concretamolte altre tecnologie collegate
Due problemievitare un impostazione eccessivamente
“sintattica”evitare di disperdersi nella presentazione
delle tecnologie collegate
XML >> Concetti Fondamentali
11G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Modello Logico
Una sintassi per costruire documentibasata su marcatori (“tag”)
Modello logico sottostantealberi con nodi di vari tipi (“nodi tipizzati”)identificatori di nodoriferimenti incrociati tra i nodi
XML >> Concetti Fondamentali >> Modello Logico
12G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Alberi XML
XML >> Concetti Fondamentali >> Modello Logico
id=“a01”
… …
univ
studenti corsi
studente corso
matricola nome dataN esami titolo
6554 Rossi Mario 5/12/1978
esame
idref=“a01”voto
scala=“30”27
docente
Analisi Pinco Palla
lode=“no”
…
nodo radice (documento)
elemento principale
attributovalore
riferimento
elementi
studente corso
esame
InfoSetInfoItems
…
13G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Alberi XML
Radice (Documento) Elemento principale Nodi intermedi: elementi
con sottoalberi di elementi, attributi e valori Nodi foglia: attributi e valori
attributi: coppie (nome, valore)valori: stringhe, numeri, date, ecc.
XML >> Concetti Fondamentali >> Modello Logico
14G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Alberi XML
Funzione degli attributisimili ad una coppia elemento+valore
Utilizzo degli attributigli attributi servono per valori speciali
es: identificatori e riferimentigli attributi servono per i metadati (“dati che
descrivono i dati”); es: scala dei votigli attributi servono a specificare valori che
devono essere meno “visibili” (es: stampa)
XML >> Concetti Fondamentali >> Modello Logico
15G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Alberi XML
Differenze con il modello relazionaleanche per XML esiste il concetto di schema (>>)un albero può essere visto come analogo ad una
base di dati (es: studenti e corsi)è possibile organizzare le relazioni tra i dati in modo
più flessibileè possibile utilizzare identificatori e riferimenti
es: riferimenti dagli esami ai corsima è possibile utilizzare la nidificazione
es: esami “nidificati” all’interno degli studentialtre differenze: attributi, contenuto misto (>>)
XML >> Concetti Fondamentali >> Modello Logico
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
Sintassi XML<?xml version=“1.0” encoding=“UTF-8”?><univ> <studenti> <studente> <matricola> 6554 </matricola> <nome>Rossi Mario</nome> ... <esami> <esame> <voto scala=“30”
lode=“no”> 27 </voto> ... </esame> </esami> </studente> ... </studenti> <corsi> <corso id=“a01”> ... </corso> </corsi></univ>
XML >> Concetti Fondamentali >> Sintassi XML
id=“a01”
… …
univ
studenti corsi
studente corso
matricola nome
6554 Rossi Mario
… esami
esame
voto
scala=“30” 27
…
…
lode=“no”
file di testoes: univ.xml
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
Contenuto di Un Elemento
Solo elementi“element only”es: <capitolo>
<titolo> ... </titolo> <paragrafo> ... </paragrafo> </capitolo>
Solo valori“text”es: <autore>D. Hofstadter</autore>
XML >> Concetti Fondamentali >> Il Successo di XML
24G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Contenuto di Un Elemento
Misto (elementi e valori)“mixed” es: <testo>
Federico il Grande … <citazione>Una sera …</citazione> Quando Bach... </testo>
Vuoto (solo attributi)“empty” es: <codice id=“par01” /> oppure <img ... />, <br />
XML >> Concetti Fondamentali >> Il Successo di XML
25G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Integrazione di Applicazioni
Applicazioni “business to business” (B2B)es: il sistema informativo di un supermercato
COOP ordina gelati al sistema informativo dell’Algida
Sistema Informativo della COOPDBMS relazionale, applicazioni in C, TCP/IP
Sistema Informativo dell’AlgidaDBMS a oggetti, applicazioni in Java, TCP/IP
Come si scambiano i dati ?
XML >> Concetti Fondamentali >> Il Successo di XML
26G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
B2B
<?xml version=“1.0” ?><ordine> <prod>Cornetto</prod> <qta>300</qta> <dataCons> <giorno>15</giorno> <mese>giugno</giugno> <anno>2002</anno>
</dataCons> <indirizzo> <via>dei Frassini</via> <citta>Potenza</citta> <CAP>85100</CAP> </indirizzo> ...</ordine>
XML >> Concetti Fondamentali >> Il Successo di XML
ordine
data cons indirizzo
giorno citta
15
mese
prod
Cornetto
qta
300 via
deiFrassini
CAPanno
giugno 2002 Potenza 85100
…
27G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Namespace
Ambiguitàes: prezzo (con IVA o senza IVA ?)es: protocollo (tecnologia o burocrazia ?)
Spazio di Nomi (“Namespace”)tecnica standard (W3C) per qualificare i nomiper risolvere l’ambiguità, è possibile “annotare”
un nome di elemento con un URIes: http://www.ietf.org, oppure
http://www.funzionepubblica.it
XML >> Concetti Fondamentali >> NameSpace
28G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Namespace
Attenzionein questo caso, l’URI è solo un URNovvero non rappresenta una risorsa fisicamente
disponibile sulla retema solo un nome che rispetta la sintassi degli URI
Quindiun namespace non è un dizionario né una collezione
di stringhe corrispondenti a nomiun namespace non corrisponde necessariamente ad
un’autorità che ha controllo sui nomi descritti dal namespace
XML >> Concetti Fondamentali >> NameSpace
29G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Il Namespace di XHTML
XML >> Concetti Fondamentali >> NameSpace
http://www.w3.org/1999/xhtml
30G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Namespace
Sintatticamenteattributo speciale “xmlns”prefisso distinto per ciascun namespace
definito nella radice di un sottoalberoes: <ordine xmlns:w3c=“http://www.w3.org” xmlns:fp=“http://www.funzionepubblica.it”>
visibilità nel sottoalberonomi composti con il prefisso
es: <w3c:protocollo>, <fp:protocollo>
XML >> Concetti Fondamentali >> NameSpace
31G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Schemi
Regole della sintassii documenti devono essere “ben formati” >>
conseg. dell’algoritmo di codifica dell’InfoSet Documento Ben Formato (“well formed”)
prologocorretta nidificazione dei tag; es:
<a><b>...</b></a> e non <a><b>...</a></b>corretta codifica degli attributi (virgolette)corretta codifica dei valori
XML >> Concetti Fondamentali >> Schemi
32G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Schemi
Schema per un Documento XML“albero prototipo”descrive quali strutture sono ammissibili per i
sottoalberi e quali non lo sonodescrive alcuni vincoli di integrità sui dati
Documento valido rispetto a uno schemal’albero è conforme allo schema
(ovvero: è un’istanza dello schema)
XML >> Concetti Fondamentali >> Schemi
33G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Schemi
Esistono due categorie di schemi DTD (“Document Type Declaration”)
orientato ai documenti elettroniciparte dello standard XML 1.0
XML Schemastandard successivoorientato alla descrizione dei dati
XML >> Concetti Fondamentali >> Schemi
34G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DTD
Albero sintattico di una “grammatica”basato su “espressioni regolari”
Un solo tipo di valori: la stringa#PCDATA
Rispetto agli schemi di basi di datil’enfasi non è sulla natura dei valori (tipi)ma sulla posizione reciproca e sulle
occorrenze degli elementi
XML >> Concetti Fondamentali >> Schemi
35G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Struttura del DTD
Nodi ordinaridocumento ed elementi
Nodi per attributi (nome e tipo)vincoli sugli attributi (chiavi e riferimenti)
Nodi per i valori (#PCDATA) Nodi speciali
nodi che descrivono l’ordine degli elementinodo sequenza – seq oppure , nodo alternativa – U oppure I
XML >> Concetti Fondamentali >> Schemi
36G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DTD
Indicatori di cardinalità etichette degli archi dell’alberoindicano la numerosità degli elementi
presenti in un sottoalberominimo e massimo numero di occorrenze del
sottoalberouna o più volte – 1..* oppure +zero o una volta – 0..1 oppure ? zero o più volte – 0..* oppure *
XML >> Concetti Fondamentali >> Schemi
37G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DTD
XML >> Concetti Fondamentali >> Schemi
libro
indice
capitolo
voce
titolo
titolo
#PCDATA
autore
paragrafo
titolo
pid ID#REQUIRED
codice testo
citazione
#PCDATA
#PCDATA
rifti IDREFS#REQUIRED
seq
#PCDATA
seq
#PCDATA U
#PCDATA
#PCDATA
+
*
+
seq
*
38G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DTD: Sintassi
<!ELEMENT libro (titolo, autore, capitolo+, indice)><!ELEMENT titolo (#PCDATA)><!ELEMENT autore (#PCDATA)><!ELEMENT capitolo (titolo, paragrafo+)><!ELEMENT paragrafo (codice, titolo, testo)><!ELEMENT testo (#PCDATA | citazione)*><!ELEMENT citazione (#PCDATA)><!ELEMENT codice EMPTY> <!ATTLIST codice pid ID #REQUIRED><!ELEMENT indice (voce*)><!ELEMENT voce (#PCDATA)> <!ATTLIST voce rifti IDREFS #REQUIRED>
XML >> Concetti Fondamentali >> Schemi
vincolo: una sola definizione per ogni elemento
>> libro.xml, libro.dtdriferimento al DTD: <!DOCTYPE libro SYSTEM “libro.dtd”><!DOCTYPE libro SYSTEM “libro.dtd”>
39G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Validità
XML >> Concetti Fondamentali >> Schemi
libro
capitolotitoloautore
seq +
libro
capitolo capitolotitolo autore
#PCDATA#PCDATA
Goedel, EscherBach …
Douglas R.Hofstadter
libro
capitolo capitolotitoloautore
Goedel, EscherBach …
Douglas R.Hofstadter
libro
titolo autore
Douglas R.Hofstadter
Goedel, EscherBach …
DTD
documento
(A)
(B)
(C)
40G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Validità
XML >> Concetti Fondamentali >> Schemi
DTD
documento
testo
citazione
U
#PCDATA
#PCDATA
*
testo
Una sera, proprio…
testo
Federico il Grande … citazione
Una sera, proprio…
QuandoBach…
testo
citazione
Una sera, proprio…
testo
(A)
(B)
(C)
(D)struttura tipica per gli elementi di contenuto misto
41G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DTD per la Base di Dati Universitaria<!ELEMENT univ (studenti, corsi)><!ELEMENT studenti (studente)*><!ELEMENT studente (matricola, nome, dataN, (claurea | claureaSp), esami)><!ELEMENT matricola (#PCDATA)><!ELEMENT nome (#PCDATA)><!ELEMENT dataN (#PCDATA)><!ELEMENT claurea (#PCDATA)><!ELEMENT claureaSp (#PCDATA)><!ELEMENT esami (esame)*><!ELEMENT esame (voto)> <!ATTLIST esame idref IDREF #REQUIRED><!ELEMENT voto (#PCDATA)> <!ATTLIST voto scala CDATA #IMPLIED lode CDATA #IMPLIED><!ELEMENT corsi (corso)*><!ELEMENT corso (titolo, docente)> <!ATTLIST corso id ID #REQUIRED><!ELEMENT titolo (#PCDATA)><!ELEMENT docente (#PCDATA)>
XML >> Concetti Fondamentali >> Schemi
42G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DTD
In sintesiil DTD è il prototipo per una classe di
documenti XML validi rispetto al DTD Un esempio interessante
il linguaggio XHTMLcollezione di documenti XMLvalidi rispetto al DTD definito dal consorzio
(xhtml1-strict.dtd)problema di correttezza del codice XHTML
XML >> Concetti Fondamentali >> Schemi
43G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Validatori
Validatoreapplicazione che verifica la validità di un
documento XML rispetto al suo schema Un esempio
xmlvalid (http://www.elcel.com/products/xmlvalid.html)
Sintassixmlvalid <file.xml>
XML >> Concetti Fondamentali >> Schemi
>> xmlvalid univ.xml>> univ.xml, univ.dtd
44G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
DTD: Limiti
Esiste un unico tipo di dati#PCDATA
Un DTD non è un documento XMLsintassi diversa, problemi di parsing
Definizione imprecisa di contenuto mistoes: al massimo due citazioni
Scarsa modularitànon è possibile riutilizzare o estendere le strutture
definite
XML >> Concetti Fondamentali >> Schemi
45G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
XML Schema
Standard recente del consorzioraccomandazione del Maggio 2001
Livello base: “DTD con tipi di dato”
Livello avanzato:meccanismi per il riuso di schemivincoli di integrità avanzati
XML >> Concetti Fondamentali >> Schemi
46G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
XML Schema
Sintassi XML Più di 40 tipi di base per i valori
stringhe, numeri, date, ore, … Sistema di costrutti più ricco
sequenza (“sequence”)alternativa (“union”)cardinalità (“minOccurs”, “maxOccurs”)insieme (“all”)raffinamento del concetto di contenuto misto
XML >> Concetti Fondamentali >> Schemi
47G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
XML Schema: Esempio<?xml version=“1.0” ?><?xml version=“1.0” ?><<xsd:schemaxsd:schema xmlns:xsd=“http://www.w3.org/1999/XMLSchema”> xmlns:xsd=“http://www.w3.org/1999/XMLSchema”>
<<xsd:complexTypexsd:complexType name=“tipoStudente”> name=“tipoStudente”> <<xsd:sequencexsd:sequence>>
<<xsd:elementxsd:element name=“matricola“ type=" name=“matricola“ type="xsd:integerxsd:integer"/>"/> <xsd:element name=“nome" type="xsd:string"/> <xsd:element name=“nome" type="xsd:string"/> <xsd:element name=“dataN“ type=" <xsd:element name=“dataN“ type="xsd:datexsd:date"/>"/> < <xsd:unionxsd:union>> <xsd:element name=“claurea" type="xsd:string"/><xsd:element name=“claurea" type="xsd:string"/> <xsd:element name=“claureaSp" type="xsd:string"/> <xsd:element name=“claureaSp" type="xsd:string"/> </xsd:union> </xsd:union> <xsd:element name=“esame” <xsd:element name=“esame” maxOccurs=“30”maxOccurs=“30” type=“tipoEsame”> type=“tipoEsame”></xsd:sequence></xsd:sequence><<xsd:attributexsd:attribute name=“sesso” type=“xsd:string”/> name=“sesso” type=“xsd:string”/>
</xsd:complexType></xsd:complexType>
<<xsd:element name=“studente“ type=“tipoStudente”xsd:element name=“studente“ type=“tipoStudente”/>/> ......</xsd:schema></xsd:schema>
XML >> Concetti Fondamentali >> Schemi
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.