XML
JSON
ì
2
Argomenti
ì Linguaggiperladefinizioneeloscambiodidati
strutturati,semi-strutturati,nonstrutturati
ì XMLDataModel
ì JSON
Giorgio Giacinto 2015
3
ì
XML
Giorgio Giacinto 2015
4
XML
eXtensible Markup Language
ì ModellodidatiXML
Natodall’esigenzadiconiugare
ì imodellididatideidatabaseusaticomefontedi
datiperleapplicazioniweb
ì HTML,linguaggioperspecificarecontenutoe
formattazionedellepagineweb
Giorgio Giacinto 2015
5
Dati Strutturati
Dati Semi-Strutturati
ì DatiStrutturati
ì Rappresentatiusandounformatoconregoleben
definite
ì esempio,ilmodellorelazionale
ì DatiSemi-Strutturati
ì Posseggonoparzialmenteunastruttura
ì Nontuttal’informazionepuòessererappresentata
conlamedesimastruttura
ì Ciascunoggettopotrebbeaverenecessitàdialcuni
attributidiversi
Giorgio Giacinto 2015
6
Dati Semi Strutturati
ì Datiauto-descrittivi
ì Informazionirelativealloschemamescolateconle
informazionirelativeaivalori
ì Possonoessererappresentaticonungrafoorientato
ì Label etag sulgrafoorientatorappresentano
ì Nomiappartenentialloschema
ì Nomidiattributi
ì Tipidioggettoodientitàoclassi
ì Associazioni
Giorgio Giacinto 2015
7
Rappresentazione di
Dati Semi-Strutturati
Giorgio Giacinto 2015
8
Dati Non Strutturati
ì Icasiincuiidatisonoinseritiinundocumentoma
lalorostrutturanonèspecificata
ì AdesempioinundocumentoHTMLitagracchiusi
fra
<...>inizio
</...>fine
indicanoicriteridiformattazionediunapaginama
nonilsignificatodeidatipresentineldocumento
Giorgio Giacinto 2015
9
Giorgio Giacinto 2015
10
XML Data Model
ì Rappresentazionebasatasualberigerarchici
ì Elementicomplessi
ì Costruitiapartiredaaltrielementidellagerarchia
ì Elementisemplici
ì Contengonovalori
ì XMLtag
ì Descrivonoilsignificatodeidatineldocumento
<...></...>
Giorgio Giacinto 2015
11
Giorgio Giacinto 2015
12
XML
Modello Gerarchico ad Albero
ì PrincipalitipologiedidocumentiXML
ì DocumentiXMLdata-centric
ì relativiadatistrutturati,spessoestrattidadatabase
ì DocumentiXMLDocument-centric
ì prevalentementecostitutidatesto
ì DocumentiXMLibridi
ì contengonosiadatistrutturati,siadatinonstrutturati,
siatesto
ì DocumentiXMLsenzaschema
ì Nonseguonounoschemapredefinito
ì relativamenteainomideglielementi
ì relativamenteallacorrispondentestrutturaadalbero
Giorgio Giacinto 2015
13
Sintassi XML
ì UndocumentoXMLsidicebenformato seseguele
regolesintattiche
ì Nell’intestazione
ì laversioneXMLusata
ì altriattributirilevantiperlacomprensionedel
documento
ì Tuttiglielementidevonoavereunacoppiaditag che
indicanol’inizioelafinedell’elemento
Giorgio Giacinto 2015
14
Interpretazione XML
ì DOM(Document ObjectModel)
ì Modellocheconsentediconvertireildocumentonel
corrispondentealberogerarchico
ì Consentelamanipolazionedeglielementiattraversoun
insiemediAPI
ì Ildocumentodeveessereesaminatoperinteroprimadi
effettuarelaconversione
ì SAX(SimpleAPIforXML)
ì IdocumentiXMLsonoelaborati“alvolo”.
Utileneicasidi
ì Documentidigrandidimensioni
ì streaming
Giorgio Giacinto 2015
15
XML DTD
Document Type Definition
ì UndocumentoXMLèdettovalido sesegueunoschema
XMLdefinitoinunaltroXML
ì
ì
DTD
XMLSchema
ì DTD (Document Type Definition)
ì IlDTDsegueunasintassispecificaper
ì definizionedeitag
ì definizioneproprietàdeglielementirelativiaciascuno
deitag
ì IntestazioneXMLconformeaunDTD
<?xml version=“1.0” standalone=“no”?>
<!DOCTYPE Projects SYSTEM “proj.dtd”>
Giorgio Giacinto 2015
16
Esempi di DTD
Projects
Giorgio Giacinto 2015
17
Esempio DTD
Company
Giorgio Giacinto 2015
18
XML Schema
ì XMLschemalanguage
ì Standardperlaspecificadellastrutturadi
documentiXML
ì UtilizzalastessasintassiusataperidocumentiXML
ì Modellodidatiadalbero
ì Elementieattributi
ì Utilizzaconcettiproprideldominiodellebasididati
ì chiavi
ì riferimenti
ì identificatori
Giorgio Giacinto 2015
19
Figure13.5 AnXMLschemafilecalledcompany
Giorgio Giacinto 2015
20
Figure13.5(continued) AnXMLschemafilecalledcompany.
Giorgio Giacinto 2015
21
Figure13.5(continued) AnXMLschemafilecalledcompany.
Giorgio Giacinto 2015
22
Elementi presenti nel XML Schema
Giorgio Giacinto 2015
ì
XMLnamespace
ì Definiscel’insiemedicomandi(nomi)delXMLSchemache
possonoessereusati
ì Dichiaratoattraversounalocazioneweb
ì
Annotazioni,documentazione,linguaggio
ì
Elementietipidielementi
ì
Elementodiprimolivello
ì
type,minOccurs,andmaxOccurs
ì
Chiaviprimarieevincolidiintegritàreferenziale
ì
Strutturadielementicomplessi
ì
Attributicomposti
23
Altri linguaggi e protocolli legati a XML
ì Extensible Stylesheet Language(XSL)
ì DefinisceilmodoincuiunapaginaHTMLviene
visualizzatadaunwebbrowser
ì Extensible Stylesheet LanguageforTransformations
(XSLT)
ì Trasformaunastrutturainun’altrastruttura
ì WebServicesDescription Language(WSDL)
ì DescrizionediWebServicesinXML
Giorgio Giacinto 2015
24
Altri linguaggi e protocolli legati a XML
ì SimpleObjectAccessProtocol (SOAP)
ì Protocolloindipendentedallapiattaformaedal
linguaggiodiprogrammazioneperloscambiodi
messaggiel’esecuzionediremoteprocedurecalls
ì ResourceDescription Framework(RDF)
ì Linguaggiestrumentiperloscambioe
l’elaborazioneattraversoilWebdidescrizioniedi
specifichedimetadati
Giorgio Giacinto 2015
25
ì
JSON
http://json.org
Giorgio Giacinto 2015
26
Origine
ì JSON- TheJavaScriptObjectNotation dataformat
ì JSONèunsottoinsiemedellinguaggioJavaScript
ì JSONnonèunlinguaggiodiprogrammazionemaun
formatoperl’interscambiodidati frabrowsere
serverofraservereserver
ì SuccessodiJSONlegatoallasemplicitàdellasua
grammatica
ì formatoidoneoperl’interoperabilità
Giorgio Giacinto 2015
27
Storia
ì LacreazionediJSONèattribuitaaDouglasCrockford
ì Hadatoilnome
ì HaformalizzatolagrammaticanellaRFC4627(2006)
ì registered Internetmediatype application/json
ì fileextension .json
ì JSONèstatoufficialmenteinseritofraglistandardECMA
(Dicembre2009)
ì Esisteun’altraformalizzazionediJSONdapartediIETF
(InternetEngineering TaskForce)- RFC7159
ì Iduestandarddifferiscononelmodoconcuiuntesto
JSONpuòessereconsideratovalido.
Giorgio Giacinto 2015
28
Grammatica JSON
ì JSONèunarappresentazionetestualedidati
strutturati
ì LespecificheJSONprevedonocheidatipossono
esserestrutturatisecondounadelledueseguenti
modalitàdicomposizione
ì Unacollezionedicoppienome/valore
ì Unalistaordinatadivalori
Giorgio Giacinto 2015
29
Elementi della grammatica JSON
Coppia stringa/valore
Giorgio Giacinto 2015
30
Elementi della grammatica JSON
Lista Ordinata
Giorgio Giacinto 2015
31
Esempio di documento JSON
Giorgio Giacinto 2015
32
Lo stesso documento in XML
Giorgio Giacinto 2015