Programmazione Web eXtensible Markup Language (XML) 2014/2015Programmazione Web - XML1

Click here to load reader

  • date post

    02-May-2015
  • Category

    Documents

  • view

    219
  • download

    0

Embed Size (px)

Transcript of Programmazione Web eXtensible Markup Language (XML) 2014/2015Programmazione Web - XML1

  • Slide 1
  • Programmazione Web eXtensible Markup Language (XML) 2014/2015Programmazione Web - XML1
  • Slide 2
  • 2014/2015 eXtensible Markup Language Formato di file proposto dal W3C per distribuire documenti elettronici sul World Wide Web Evoluzione: 1986: Standard Generalized Markup Language (SGML) ISO 8879- 1986 Agosto 1997: XML Working Draft Dicembre 1997: XML 1.0 Proposed Recommendation Febbraio 1998: W3C Recommendation Richiami di XML 2Programmazione Web - XML2
  • Slide 3
  • 2014/2015 HTML vs XML (I) HTML: insieme fisso di tag XML: standard per creare linguaggi di markup con tag personalizzati (erede di SGML); possono essere usati in qualunque dominio applicativo Il cosmo di Einstein Autore: Kaku Michio Editore: Codice Anno: 2005 ISBN: 8875780153 Il cosmo di Einstein Kaku Michio Codice 2005 8875780153 3Programmazione Web - XML3
  • Slide 4
  • 2014/2015 HTML vs XML (II) XML non rimpiazza HTML! LHTML un caso particolare di XML XML e HTML sono nati con scopi diversi: XML progettato per descrivere i dati cosa sono i dati scambiare e condividere dati e informazioni tra sistemi eterogenei (B2B, B2C,etc.) creare nuovi linguaggi (WML, MathML) HTML progettato per visualizzare i dati come appaiono i dati separare i dati dal modo con cui vengono presentati Recentemente stato introdotto lXHTML, che combina lHTML con le rigide regole sintattiche dellXML, permettendone una maggiore interoperabilit e lutilizzo anche su dispositivi a minore capacit 4Programmazione Web - XML4
  • Slide 5
  • 2014/2015 Sintassi XML Ogni documento deve iniziare con E un linguaggio di markup, quindi ne rispetta tutte le regole generali I tag sono case sensitive Un documento XML deve avere un tag radice Un documento XML ben formato se soddisfa le regole di sintassi dellXML 5Programmazione Web - XML5
  • Slide 6
  • 2014/2015 Esempio di documento XML Forno 1040000 Frigo 6Programmazione Web - XML6
  • Slide 7
  • 2014/2015 Esempio di documento XML Forno 1040000 Frigo 7 Dichiarazione iniziale Elemento radice Attributo Elemento con solo testo Elemento con altri tag annidati Programmazione Web - XML7
  • Slide 8
  • 2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini Leredit di Albert Einstein 8Programmazione Web - XML8
  • Slide 9
  • 2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) possono contenere solo testo (text content) Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini Leredit di Albert Einstein 9Programmazione Web - XML9
  • Slide 10
  • 2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) possono contenere solo testo (text content) possono contenere sia elementi annidati che testo (mixed content) Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini Leredit di Albert Einstein 10Programmazione Web - XML10
  • Slide 11
  • 2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) possono contenere solo testo (text content) possono contenere sia elementi annidati che testo (mixed content) possono essere vuoti (empty content) con o senza attributi Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini Leredit di Albert Einstein 11Programmazione Web - XML11
  • Slide 12
  • 2014/2015 Attributi Gli elementi possono avere degli attributi I valori vanno racchiusi tra Differiscono dagli elementi perch non possono contenere elementi figli Limitazioni nelluso di attributi non possono contenere valori multipli non possono descrivere strutture Forno 1040000 12Programmazione Web - XML12
  • Slide 13
  • 2014/2015 Document Type Definition (DTD) Detta il formato comune per una classe di documenti XML, cio: gli elementi ammessi le regole di annidamento degli elementi, gli attributi e il contenuto ammesso per ciascun elemento Scopi: accordarsi su formato/struttura dei documenti validare documenti XML secondo certe regole Un documento XML valido rispetto ad un DTD se rispetta il formato specificato 13Programmazione Web - XML13
  • Slide 14
  • 2014/2015 Tipi di dichiarazioni in un DTD ELEMENT : introduce il nome dellelemento e il suo contenuto ammissibile ATTLIST: specifica gli attributi ammessi per un dato elemento e le propriet di questi attributi (tipo e vincoli sugli attributi) ENTITY: simile ad una dichiarazione di costante, si riferisce ad una particolare porzione di documento XML 14Programmazione Web - XML14
  • Slide 15
  • 2014/2015 Dichiarazione di elementi (I) 15 Elementi contenenti altri elementi figli Elementi con PCDATA (parsed character data = porzione testo qualsiasi) testo Elementi vuoti Programmazione Web - XML15
  • Slide 16
  • 2014/2015 Dichiarazione di elementi (II) 16 Contenuto misto testo.. Qualsiasi contenuto Programmazione Web - XML16
  • Slide 17
  • 2014/2015 Occorrenze di un elemento 17 1 volta 1 o pi volte 0 o pi volte 0 o 1 volta Programmazione Web - XML17
  • Slide 18
  • 2014/2015 Dichiarazione di attributi 18 Per ogni elemento il DTD dice: quali attributi pu avere il tag che valori pu assumere ciascun attributo eventuali vincoli sulla cardinalit degli attributi qual il valore di default Esempio di dichiarazione di attributo: Programmazione Web - XML18
  • Slide 19
  • 2014/2015 Tipi di attributi 19 CDATA: stringa ID: chiave unica IDREF, IDREFS: riferimento ad uno o pi ID nel documento ENTITY, ENTITIES: nome di una o pi entit NMTOKEN, NMTOKENS: caso ristretto di CDATA (una stringa di una o pi parole separate da spazi) codice ID #REQUIRED label CDATA #IMPLIED status (disponibile|terminato) disponibile Programmazione Web - XML19
  • Slide 20
  • 2014/2015 Vincoli sugli attributi 20 #REQUIRED: il valore deve essere specificato #IMPLIED: lattributo pu avere un valore e il valore di default non definito val: il valore dellattributo val se nientaltro specificato #FIXED val: il valore, se presente, deve coincidere con val codice ID #REQUIRED label CDATA #IMPLIED status (disponibile|terminato) disponibile Programmazione Web - XML20
  • Slide 21
  • 2014/2015 Dichiarazione di entit 21 Analoghe alle dichiarazioni di macro con #define in C Le entit possono essere interne ( &ATI; ) esterne ( &boilerplate; ) Programmazione Web - XML21
  • Slide 22
  • Sistemi Informativi e Servizi ... Documenti XML con DTD 2014/2015Programmazione Web - XML22
  • Slide 23
  • Sistemi Informativi e Servizi ... DTD esterno Documenti XML con DTD 2014/2015Programmazione Web - XML23
  • Slide 24
  • Sistemi Informativi e Servizi Forno 1040000 Frigo Esempio di DTD 2014/2015Programmazione Web - XML24
  • Slide 25
  • Sistemi Informativi e Servizi Forno 1040000 Frigo NOTA: un DTD NON un documento XML Esempio di DTD 2014/2015Programmazione Web - XML25
  • Slide 26
  • Sistemi Informativi e Servizi Storia: inizialmente proposto da Microsoft, divenuto W3C recommendation (maggio 2001) Scopo: definire gli elementi e la composizione di un documento XML Un XML Schema definisce regole riguardanti: Elementi Attributi Gerarchia degli elementi Sequenza di elementi figli Cardinalit di elementi figli Tipi di dati per elementi e attributi Valori di default per elementi e attributi XML Schema 2014/2015Programmazione Web - XML26
  • Slide 27
  • Sistemi Informativi e Servizi Possono contenere solo testo (nessun sottoelemento o attributo) Definizione di elementi semplici: Esempi di definizione di elementi semplici in XSD Elementi semplici in un documento XML 65 Rossi Elementi semplici 2014/2015Programmazione Web - XML27
  • Slide 28
  • Sistemi Informativi e Servizi Possono contenere solo testo (nessun sottoelemento o attributo) Definizione di elementi semplici: Esempi di definizione di elementi semplici in XSD Elementi semplici in un documento XML 65 Rossi Elementi semplici 2014/2015 Valore di default o fisso Programmazione Web - XML28
  • Slide 29
  • Sistemi Informativi e Servizi.. element content.. Elementi complessi 2014/2015Programmazione Web - XML29
  • Slide 30
  • Sistemi Informativi e Servizi.. element content.. Elementi complessi 2014/2015Programmazione Web - XML30
  • Slide 31
  • Sistemi Informativi e Servizi Numero di occorrenze: maxOccurs: max numero di occorrenze minOccurs: min numero di occorrenze Se non specificati: 1 e 1 sola occorrenza Vincoli di cardinalit 2014/2015Programmazione Web - XML31
  • Slide 32
  • Sistemi Informativi e Servizi Per definire gruppi di elementi (o attributi), tra loro correlati Group name Raggruppamento 2014/2015Programmazione Web - XML32
  • Slide 33
  • Sistemi Informativi e Servizi E possibile imporre delle restrizioni sui valori dei tipi semplici tramite luso di facet Valore max/min Enumerazione di valori Pattern di caratteri ammessi Lunghezza di liste di valori Le restrizioni sono applicate al range di valori ammessi per questo tipo