Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico XML. Rocco Tripodi



Documenti analoghi
Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico.

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la

Tecniche Multimediali

istituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation

I Formati per l'interscambio dei Dati XML, Json, YAML,...

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche

Linguaggi per il Web: XML

The extensible Markup Language

Sistemi ICT per il Business Networking

Nozioni di base per creare e visualizzare documenti XML

Tecnologie Web T DTD Document Type Definition

Breve Introduzione a XML

Tecnologie Web T DTD Document Type Definition

LEZIONE BASI DI DATI I 22/10/2008 XML

(XML) Origini di XML. La Famiglia di XML HTML SGML XML XHTML WML SOAP. MathML

Basi di dati - Laboratorio

Linguistica Computazionale

XML. Prof.Alessandra Giordani ITT Marconi Rovereto

Document Type Definitions (DTD)

Specifiche tecniche. Allegato C

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

Linguaggi ed Applicazioni mul1mediali

Specifiche tecniche. Allegato C.1

Tecniche Multimediali

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Informatica Umanistica A.A. 2005/2006

Laboratorio di Basi di Dati per Bioinformatica

Tecnologie Web T XML Schema

Dario Bottazzi Tel , SkypeID: dariobottazzi

Elementi di informatica e Programmazione

Creare documenti XML. La natura epistemologica della codifica. Perché comprare XML? La struttura gerarchica ordinata 21/03/17

Lez. 6. Creare documenti XML 11/03/13

Laboratorio XMLSchema

Laboratorio di reti II: Extensible Markup Language

Esercizi su XML, DTD e DOM

Video Tutor Intelligente per la Visita a Siti Web

Allegato 3 Struttura di Esiti.xml. Schema

Perché parliamo di XML

Dispense XML. Indice

Esercizi su XML e DTD

Esercizi su XML e DTD

Allegato 5 METADATI BOZZA

extensible Markup Language

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Formati di interscambio

Gestione dipendenti pubblici

Laboratorio di Basi di Dati e Multimedia

TECN.PROG.SIST.INF. XML. Roberta Gerboni

IL DIRETTORE DELL AGENZIA. In base alle attribuzioni conferitegli dalle norme riportate nel seguito del presente provvedimento.

Elementi di informatica e Programmazione

2.5 Cenni sui namespace

- c.f.-p.iva PEC

ORSO 3.0 OSSERVATORIO RIFIUTI SOVRAREGIONALE

GAUDI SSPC: Tracciato XSD flussi G41-G42-G43 Gestore di rete GAUDI-SSPC GESTIONE FLUSSI G41 G42 - G43

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale

XML - Extensible Markup Language (1)

Metalinguaggi di marcatura Materiale didattico di supporto. Indice 8. XML EXTENSIBLE MARKUP LANGUAGE...2

6. XML E RAPPRESENTAZIONE DEL FORMATO DI RISPOSTA

5.2. Il linguaggio XML

La codifica digitale dei testi. Daniela Trotta

XML. Pasquale Savino ISTI-CNR. Biblioteche Digitali Metadati

Sommario. Oggi esaminiamo in breve XML Schema

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali»

Manuale di progettazione schemi XML

Annotazione del testo

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 2.0

Tecnologie Web T XML Schema

DOCUMENTO ARCHITETTURALE ARPA-BRIDGE

extensible Markup Language (XML)

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 3.0

1. Concetti generali

XML A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

Modelli di presentazione dei documenti XML

Schema gestionesegnalazioni.xsd

Voi fareste lo scambio? XML & Co. XML: le origini. XML: cosa è. XML: caratteristiche. XML: caratteristiche 02/03/2012

Document Type Definition (DTD)

STRUTTURA DI UN DOCUMENTO XML. Corso di Basi di Dati II Mod B A.A 2009/2010 Prof: F. Cutugno Slides a cura di: Enza Leano

Esempi di XML WWW. Fabio Vitali

o SUAP_common_components.xsd, contiene gli elementi informativi condivisi dai moduli afferenti l ambito Attività commerciali e assimilabili

ALLEGATO B SCHEMA XSD DELLE SPECIFICHE TECNICHE DEL MODELLO TIPIZZATO DELL ATTO MODIFICATIVO DELL ATTO COSTITUTIVO E DELLO STATUTO DI START-UP

Basi Di DATI II. XML e basi di dati in Internet. Prof.ssa G. Tortora. a.a 2016/2017

Specifiche struttura del file dei rilievi Descrizione e XML Schema

ALLEGATO B. Specifiche tecniche per la trasmissione telematica della dichiarazione dell imposta. di bollo assolta in modo virtuale

Tecnologie per XML. Tecnologie per XML. Cosa vedremo oggi. strutturati. Dati semi-strutturati. Cosa vedremo domani.

XML -WELL FORMEDNESS. Dott.sa Vincenza Anna Leano site:

ALLEGATO B. Specifiche tecniche per la trasmissione telematica della dichiarazione dell imposta. sostitutiva sui finanziamenti

Gestione della Conoscenza

Anagrafe Nazionale Vaccini. Gestione Accoglienza Flussi

OSSERVATORIO RIFIUTI SOVRAREGIONALE ~ ~ ~ IMPORTAZIONE AUTOMATICA DELLE IMFORMAZIONI SUI RIFIUTI RITIRATI E PRODOTTI DAGLI IMPIANTI.

Addio mondo crudele! Introduzione a XHTML. Versioni. Da SGML a HTML

In questo modo ad esempio una rubrica di tre elementi apparirebbe come esegue:

XML-Namespace WWW. Fabio Vitali

ALLEGATO A. Specifiche tecniche per la trasmissione telematica Modello Iva 74 bis

<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" targetnamespace=

Transcript:

Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico 2010-2011 XML Rocco Tripodi rocco@unive.it

Linguaggi dichiarativi: XML extensible Markup Language meta linguaggio che consente di creare altri linguaggi di marcatura Il progetto XML ha avuto inizio alla fine del 1996 e nel 1998 le specifiche sono divenute una raccomandazione ufficiale (Link) È stato creato per strutturare, immagazzinare e scambiare informazioni <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE nota SYSTEM nota.dtd"> <nota> <da>rocco</da> <a>studenti</a> <titolo>esempio</titolo> <testo>questa è una nota in formato XML</testo> </nota> Nodo radice, apertura Nodo radice, chiusura

XML: albero gerarchico

XML: documenti ben formati Ogni documento deve avere un elemento radice (regola 1) Ogni tag deve avere il rispettivo tag di chiusura (regola 2) XML è case sensitive (regola 3) Ogni elemento deve essere annidato correttamente (regola 4) XML non definisce i tag che devono essere usati I nomi dei tag: possono contenere lettere, numeri e altri caratteri non possono cominciare con un numero o un elemento di punteggiatura non possono cominciare con le lettere xml non possono contenere spazi Attributi Inserimento di informazioni riguardo ai dati <book category="children"> Il valore dell attributo deve essere inserito tra apici (regola 5)

XML: punti di forza Codifica di tipo descrittivo anziché procedurale Separa il contenuto dalla presentazione (CSS, XSLT) Indipendenza hardware e software Stessa codifica dei caratteri: Unicode Concetto di tipo di documento Si può ricondurre più documenti a un unico tipo astratto Elaborazione automatica mediante parser DTD e XML Schema Validazione <poesia> <titolo> Titolo </titolo> <verso> Verso </verso> <verso> Verso </verso> </poesia Questo modello riuscirà a codificare solo una parte di dati. Tralascia i dati dell autore, della metrica, dell edizione, ecc.

XML: DTD Oltre ad essere conforme alle regole di buona formazione un documento XML deve essere valido in base alle regole definite nella DTD (estensione.dtd) Document Type Definition Definizione delle struttura e degli elementi di un documento Può essere contenuta in un file esterno al file XML che la usa o inclusa in esso stesso e contiene: Gli elementi in cui si articola il documento Gli attributi associati a ciascun elemento Le entità richiamabili attraverso riferimenti all interno del testo Può essere restrittiva o permissiva Tutte le dichiarazioni sono inserite tra parentesi angolari. L apertura è seguita da un punto esclamativo al quale segue: ELEMENT: per la dichiarazione di elementi ATTLIST: per la dichiarazione di attributi ENTITY: per le entità

DTD: modello di contentuo (CM) <!ELEMENT tag (modello di contenuto)> Il tag è un identificatore generico dell elemento CM indica l articolazione interna dell elemento o il tipo di dato che contiene <!DOCTYPE nota [ <!ELEMENT nota (to, da, titolo, testo)> <!ELEMENT a (#PCDATA)> <!ELEMENT da (#PCDATA)> <!ELEMENT titolo (#PCDATA)> <!ELEMENT testo (#PCDATA)> ]> #PCDATA = qualsiasi sequenza di caratteri L articolazione interna viene indicata mediante l elenco degli elementi figli, per i quali è possibile specificare la modalità di occorrenza

DTD: modalità di occorrenza Gli elementi del modello del contenuto possono essere separati da un connettore Virgola per indicare l ordine in cui gli elementi devono comparire Barra verticale per indicare l opzionalità tra due elementi Ogni elemento può essere seguito da un indicatore che specifica il numero di volte che l elemento ricorre?: occorrenza opzionale (zero o una volta) +: occorrenza obbligatoria e ripetibile (>=1) *: occorrenza opzionale e ripetibile (>=0) Elementi misti: contenenti sia #PCDATA che sottoelementi Elementi vuoti: indicati con #EMPTY Elementi senza restrizioni: indicati con #ANY

DTD: attributi <!ATTLIST tag_elemento nome_attributo tipo_valore modificatore> Tipo di valore CDATA: il valore dell attributo è di tipo carattere NMTOKEN(S): una o più stringhe di caratteri alfanumerici contenente soli i caratteri consentiti ad un identificatore generico ID: sequenza di caratteri che definiscono l identificatore univoco del tag IDREF(S): punta al valore ID di un altro elemento (relazioni) ENTITY: il valore è una entità definita della stessa DTD Modificatori #REQUIRED: attributo per il quale deve essere specificato un valore (ID) #IMPLIED: opzionale #FIXED: valore fisso

XML: riferimenti e entità Riferimenti a carattere Sono usate per inserire nel testo caratteri Unicode direttamente attraverso il rispettivo riferimento numerico (o alfaumerico) & + codice Entità Sono sequenze arbitrarie di byte associate a nomi mnemonici Le entità interne sono dichiarate nella DTD Le entità esterne sono ricavabili da una sorgente esterna Entità predefinite Usate per indicare i caratteri di marcatura nel testo < è uguale a < > è uguale a > & è uguale a &apos; è uguale a ' " è uguale a "

DTD: entità Dichiarazione delle entità <!ENTITY nome_entità valore_entità > Il nome dell entità viene usato all interno del testo per richiamare il suo valore &nome_entità; Entità parametriche Si usano quando si deve assegnare lo stesso gruppo di attributi a più elementi, in modo da rendere modulare la stesura della DTD <!ENTITY % nome_entità_param valore_entità_param > Così da rendere più agevole la dichiarazione degli elementi nella DTD <!ATTLIST elemento %nome_entità_parametrica;>

XML: struttura e validazione Prologo <?xml version="1.0" encoding="utf-8"?> (dichiarazione XML) <!DOCTYPE elem_radice SYSTEM nota.dtd"> (dichiarazione DTD esterna) <!DOCTYPE elem_radice [ dtd ]> (dichiarazione DTD interna) XML valido: conforme alla DTD indicata (parser XML) Commenti inseriti tra i caratteri <-- e -->

XML DOM Document Object Model Raccomandazione W3C Linguaggio che consente a programmi e script di accedere dinamicamente a un documento XML Definisce gli oggetti e le proprietà di tutti gli elementi XML, inoltre definisce i metodi per accedere ad essi (funge da interfaccia) È uno standard per recuperare, cambiare, aggiungere o eliminare elementi XML Contiene funzioni per accedere e navigare la struttura ad albero di un documento XML Un parser XML ricava la struttura del documento leggendolo e interpretandolo. Lo converte in un oggetto XML DOM al quale si può accedere tramite un linguaggio di scripting

XML DOM: funzioni x.nodename il nome di x x.nodevalue il valore di x x.parentnode il nodo da cui discende x x.childnodes il nodo figlio di x x.attributes gli attributi di x x.getelementsbytagname(name) recupera gli elementi con TagName = name x.appendchild(node) aggiunge un nodo figlio a x x.removechild(node) elimina un nodo figlio a x xmldoc l oggetto XML DOM creato dal parser getelementsbytagname("title")[0] il primo elemento title childnodes[0] il primo elemento figlio

XML Schema 1 È un documento XML all interno del quale vengono inserite le regole di un tipo di documento definisce gli elementi che possono apparire in un documento definisce gli attributi che possono apparire in un elemento definisce gli elementi figli e il loro numero definisce se un elemento è vuoto o può contenere testo definisce il tipo degli attributi definisce valori di default per elementi ed attributi Può essere usato per validare i documenti XML Può essere usato assieme a DTD Non prevede la definizione delle entità Supporta i data types e i namespaces

XML Schema 2 Il tag per la definizione degli elementi è <xs:element> <xs:element name="xxx" type="yyy"/> È equivalente a <!ELEMENT xxx (yyy)> Riferimento all interno del file XML <nota xmlns= nostro-indirizzo" xmlns:xs="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation= nostro-indirizzo nota.xsd"> Elemento radice <?xml version="1.0"?> (prologo XML) <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema targetnamespace= nostro-indirizzo dichiarazione del ns dello schema xmlns= nostro-indirizzo dichiarazione del ns di default

Namespace È un puntatore che indica dove sono definiti gli elementi che vengono usati in un documento <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > Indica che gli elementi e i data types usati nello Schema sono definiti all interno del documento puntato targetnamespace= nostro-indirizzo Viene definito un namespace per gli elementi che definiamo nello Schema Oltre al namespace di default possono essere inseriti altri namespace per usare elementi definiti in altri schemi o DTD <xmlns:gram=http://grammatica.it> Dichiarazione <gram:avv>sempre</gram:avv> Uso

Esempio <?xml version="1.0"?> <xs:schema xmlns:xs=http://www.w3.org/2001/xmlschema > <xs:element name="note"> <xs:complextype> <xs:sequence> <xs:element name= a" type="xs:string"/> <xs:element name= da" type="xs:string"/> <xs:element name= titolo" type="xs:string"/> <xs:element name= testo" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

XML Schema: data types xs:string xs:integer xs:decimal xs:boolean xs:time xs:urireference Stringa di caratteri Numero intero Numero decimale Valore booleano Ora URI <xs:element name="quantita" type="xs:integer" /> <quantita>123</quantita> <quantita>uno</quantita> sbagliato

XML Schema: valori Valore di default è assegnato quando non viene specificato un altro valore <xs:element name="color" type="xs:string" default="red"/> Valore fisso è assegnato automaticamente e non può essere modificato <xs:element name="color" type="xs:string" fixed="red"/> Restrizioni <xs:element name="age"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="120"/> </xs:restriction> </xs:simpletype> </xs:element>

XML Schema: attributi Tutti gli attributi sono dichiari come elementi semplici <xs:attribute name="xxx" type="yyy"/> Valgono le stesse regole viste per gli elementi riguardo ai data types e ai valori Attributi opzionali e obbligatori <xs:attribute name="lang" type="xs:string" use="required"/>

XML Schema: mixed 1 Elementi complessi con contenuto misto XML <letter> Caro Sign.<name>Mario Rossi</name>. Il suo ordine <orderid>1032</orderid> sarà spedito il <shipdate>2001-07-13</shipdate>. </letter> Schema <xs:element name="letter"> <xs:complextype mixed="true"> Consente l uso di testo libero tra i nodi figli <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveinteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complextype> </xs:element>

XML Schema: ordine o occorrenze xs:all - gli elementi devono ricorrere almeno una volta. Non imposta l ordine <xs:all> elementi.. </xs:all> xs:choice - condizionale, o uno o l altro elemento xs:sequence - indica l ordine di apparizione degli elementi min e maxoccurs - indica il numero di occorrenze <xs:element name= paragraph" type="xs:string" maxoccurs="10" minoccurs="0"/> group - raggruppa una serie di elementi es: person che ha un gruppo di elementi figli indicanti nome, cognome, ecc <xs:group name="persongroup"> elementi </xs:group>