Laboratorio di Sistemi Distribuiti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Sistemi Distribuiti"

Transcript

1 Laboratorio di Sistemi Distribuiti Bianchi Marco Univ. Roma Tor Vergata November 8, 2006 Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

2 Introduzione ad XML (2/3) 1 Schemi XML Definizione di tipi semplici Definizione di tipi complessi Riusabilità degli Schema 2 Domande? Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

3 Schemi XML XML Schema è uno specifico linguaggio XML utile alla definizione della struttura e alla verifica di documenti XML. Uno schema XML rappresenta una sorta di contratto stipulato da coloro che utilizzano uno stesso tipo XML. Uno schema XML permette di definire, tra l altro: gli elementi che compaiono in un documento; l ordine e la relazione tra gli elementi; gli attributi di ogni elemento e se tali attributi sono opzionali o obbligatori o se hanno altre proprità speciali; il tipo di dato di ogni attributo. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

4 Documenti ben formati e documenti validi Un documento XML si dice ben formato se rispetta le regole della sintassi XML Un documento XML si dice valido se è ben formato e rispetta regole definite da qualche schema. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

5 Specifiche degli Schema XML XML Schema Part 0: Primer. Documento che introduce XML Schema presentando i concetti più utilizzati e riportando numerosi esempi. XML Schema Part 1: Structures. Documento che approfondisce le regole per la definizione di istanze di XML document-oriented. XML Schema Part 2: Datatypes. Documento che approfondisce le regole per la definizione di istanze di XML data-oriented. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

6 Esempio di struttura definita da uno schema per PO.. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

7 Struttura di base di un documento XML <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" xmlns:xsd=" targetnamespace=" <xsd:annotation> <xsd:documentation xml:lang="en"> Purchase order schema for SkatesTown. </xsd:documentation> </xsd:annotation>... </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

8 Come associare uno schema ad un documento <?xml version="1.0" encoding="utf-8"?> <po:po xmlns:po=" xmlns:xsi=" xsi:schemalocation=" id="43871" submitted=" ">... </po:po> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

9 Tipi semplici I tipi semplici sono utili per la definizione di contenuti character-based come ad esempio valori di attributi ed elementi contenenti caratteri. <postalcode>01775<\postalcode> <item sku="947-ti" quantity="12"> La seguente tabella riporta alcuni tipi semplici: Simple Type Examples (delimited by commas) Notes string Confirm this is electric integer , -1, 0, 1, positiveinteger 1, decimal -1.23, 0, 123.4, boolean true, false or 1, 0 time 13:20: or 13:20: :00 date Name shipto XML 1.0 Name type QName po:usaddress XML Namespace QName ID XML 1.0 ID attribute type IDREF XML 1.0 IDREF attribute type Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

10 Estendere i tipi semplici È possibile personalizzare un tipo semplice definendo delle restrizioni sul dominio di definizione: length, minlength o maxlength. La lunghezza esatta, minima o massima di caratteri di un valore. pattern Il pattern sintattico che deve essere rispettato da un valore. enumeration Una lista di tutti i possibili valori. whitespace Le regole per la gestione degli spazi bianchi in un valore. minexclusive, mininclusive, maxinclusive and maxexclusive L intervallo di definizione di un valore numerico. totaldigits Il numero di posizioni decimali in un valore numerico. fractiondigits Il numero di posizioni decimali dopo la virgola in un valore numerico. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

11 Alcuni esempi: <xsd:simpletype name="skutype"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{ 3} -[A-Z]{ 2} "/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="poidtype"> <xsd:restriction base="xsd:integer"> <xsd:minexclusive value="10000"/> <xsd:maxexclusive value="100000"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="statetype"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="ak"/> <xsd:enumeration value="al"/> <xsd:enumeration value="ar"/>... </xsd:restriction> </xsd:simpletype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

12 Tipi complessi Dato un elemento, i tipi complessi permettono di definire le sequenze e le molteplicità dei sotto-elementi, nome e tipo degli attributi, se tali attributi sono obbligatori o opzionali. La sintassi per la definizione dei tipi complessi è la seguente: <xsd:complextype name="typename"> <xsd:sometoplevelmodelgroup> <!-- Sequencing and multiplicity constraints for child elements defined using xsd:element --> </xsd:sometoplevelmodelgroup> <!-- Attribute declarations using xsd:attribute --> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

13 Strumenti per la definizione di tipi complessi I top-level model group servono per definire le regole che devono essere rispettate dai sotto-elementi. I model group più utilizzati sono: xsd:sequence - A sequence of elements. xsd:choice - Allows one out of a number of elements. xsd:all - Allows a certain set of elements to appear once or not at all but in any order. xsd:group - References a model group that is defined someplace else. Questi modelli possono essere annidati per creare modelli ancor più complessi. Un sotto-elemento si specifica all interno di un model group attraverso xsd:element. La specifica del top-level model group è seguita dalla definizioni di un qualsiasi numero di attributi attraverso xsd:attribute. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

14 Primo esempio: frammento dello schema PO. Definizione del tipo complesso Address. <xsd:complextype name="addresstype"> <xsd:sequence> <xsd:element name="name" type="xsd:string" minoccurs="0"/> <xsd:element name="company" type="xsd:string" minoccurs="0"/> <xsd:element name="street" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string" minoccurs="0"/> <xsd:element name="postalcode" type="xsd:string" minoccurs="0"/> <xsd:element name="country" type="xsd:string" minoccurs="0"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:id"/> <xsd:attribute name="href" type="xsd:idref"/> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

15 Secondo esempio: frammento dello schema PO. Definizione del tipo complesso PO. <xsd:complextype name="potype"> <xsd:sequence> <xsd:element name="billto" type="addresstype"/> <xsd:element name="shipto" type="addresstype"/> <xsd:element name="order"> <xsd:complextype> <xsd:sequence> <xsd:element name="item" type="itemtype" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> <xsd:attribute name="id" use="required" type="xsd:positiveinteger"/> <xsd:attribute name="submitted" use="required" type="xsd:date"/> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

16 Terzo esempio: frammento dello schema PO. Definizione del tipo complesso item. <xsd:complextype name="itemtype"> <xsd:sequence> <xsd:element name="description" type="xsd:string" minoccurs="0"/> </xsd:sequence> <xsd:attribute name="sku" use="required"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{ 3} -[A-Z]{ 2} "/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> <xsd:attribute name="quantity" use="required" type="xsd:positiveinteger"/> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

17 Lo schema po.xsd: <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" xmlns:xsd=" targetnamespace=" <xsd:annotation> <xsd:documentation xml:lang="en"> Purchase order schema for SkatesTown. </xsd:documentation> </xsd:annotation> <xsd:element name="po" type="potype"/> <xsd:complextype name="potype">... </xsd:complextype> <xsd:complextype name="addresstype">... </xsd:complextype> <xsd:complextype name="itemtype">... </xsd:complextype> </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

18 Elementi Globali vs. Elementi Locali Qualsiasi elemento o attributo definito all interno della definizione di un tipo complesso è considerato locale alla definizione. Qualsiasi elemento o attributo definito a top-level (cioè come sotto-elemento di xsd:schema) è considerato globale. Esempio di definizione di attributo globale: <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" targetnamespace=" xmlns:xsd=" <xsd:attribute name="priority" use="optional" default="medium"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="low"/> <xsd:enumeration value="medium"/> <xsd:enumeration value="high"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

19 Regole di base per la riusabilità degli Schema Le regole di base per la riusabilità degli schemi permettono di utilizzare quanto già definito. I meccanismi principali a supporto della riusabilità sono i seguenti: Element references Content model groups Attribute groups Schema includes Schema imports Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

20 Element references Si utilizza l attributo ref di xsd:element per riferirsi ad un elemento globale. Ad esempio: <xsd:element name="comment" type="xsd:string"/> <xsd:complextype name="persontype"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element ref="comment" minoccurs="0"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="tasktype"> <xsd:sequence> <xsd:element name="todo" type="xsd:string"/> <xsd:element ref="comment" minoccurs="0"/> </xsd:sequence> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

21 Content Model Group Per riutilizzare gruppi di elementi si usa xsd:group. Ad esempio: <xsd:group name="comments"> <xsd:sequence> <xsd:element name="publiccomment" type="xsd:string" minoccurs="0"/> <xsd:element name="privatecomment" type="xsd:string" minoccurs="0"/> </xsd:sequence> </xsd:group> <xsd:complextype name="persontype"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:group ref="comments"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="tasktype"> <xsd:sequence> <xsd:element name="todo" type="xsd:string"/> Bianchi Marco <xsd:group (Univ. Roma Torref="comments"/> Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

22 Attribute Groups Per riutilizzare gruppi di elementi si usa xsd:attributegroup. Ad esempio: <xsd:attributegroup name="referenceable"> <xsd:attribute name="id" type="xsd:id"/> <xsd:attribute name="href" type="xsd:idref"/> </xsd:attributegroup> <xsd:complextype name="persontype"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> </xsd:sequence> <xsd:attributegroup ref="referenceable"/> </xsd:complextype> <xsd:complextype name="tasktype"> <xsd:sequence> <xsd:element name="todo" type="xsd:string"/> </xsd:sequence> <xsd:attributegroup ref="referenceable"/> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

23 Schema Includes e Imports Consideriamo lo scenario in cui SkatesTown intenda riutilizzare la definizione di del tipo address per un nuovi schema relativo ad un mailing-list. SkatesTown deve affrontare le seguenti problematiche: Spostare la definizione del tipo address in un apposito schema; Riferire questo nuovo schema dallo schema che definisce l ordine d acquisto; Riferire questo nuovo schema dallo schema che definisce la mailing list; Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

24 Il nuovo schema per il tipo address: <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" xmlns:xsd=" targetnamespace=" <xsd:annotation>... </xsd:annotation> <xsd:complextype name="addresstype"> <xsd:sequence> <xsd:element name="name" type="xsd:string" minoccurs="0"/> <xsd:element name="company" type="xsd:string" minoccurs="0"/> <xsd:element name="street" type="xsd:string" maxoccurs="unbounded" <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string" minoccurs="0"/> <xsd:element name="postalcode" type="xsd:string" minoccurs="0"/> <xsd:element name="country" type="xsd:string" minoccurs="0"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:id"/> <xsd:attribute name="href" type="xsd:idref"/> </xsd:complextype> </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

25 Schema aggiornato che definisce il PO: <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" xmlns:xsd=" targetnamespace=" <xsd:include schemalocation=" </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

26 Schema che definisce la mailing list: <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" xmlns:xsd=" targetnamespace=" <xsd:include schemalocation=" <xsd:annotation> <xsd:documentation xml:lang="en"> Mailing list schema for SkatesTown. </xsd:documentation> </xsd:annotation> <xsd:element name="mailinglist"> <xsd:sequence> <xsd:element name="contact" type="addresstype" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:element> </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

27 Vediamo un istanza dello schema precedente. <?xml version="1.0" encoding="utf-8"?> <list:mailinglist xmlns:list=" xmlns:addr=" xmlns:xsi=" xsi:schemalocation=" <contact> <addr:company>the Skateboard Warehouse</addr:company> <addr:street>one Warehouse Park</addr:street> <addr:street>building 17</addr:street> <addr:city>boston</addr:city> <addr:state>ma</addr:state> <addr:postalcode>01775</addr:postalcode> </contact> </list:mailinglist> Problema : questo documento fa riferimento a due namespace diversi. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

28 Si può rendere più leggibile l istanza XML appena presentata unificando i due due namespace nello schema che definisce la mailing list: <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" xmlns:xsd=" xmlns:addr=" xmlns:xsi=" xsi:schemalocation=" targetnamespace=" <xsd:import namespace=" <xsd:annotation>... </xsd:annotation> <xsd:element name="mailinglist"> <xsd:sequence> <xsd:element name="contact" type="addr:addresstype" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:element> </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

29 Ora l istanza XML di mailing list risulta più leggibile: <?xml version="1.0" encoding="utf-8"?> <list:mailinglist xmlns:list=" xmlns:xsi=" xsi:schemalocation=" <contact> <company>the Skateboard Warehouse</company> <street>one Warehouse Park</street> <street>building 17</street> <city>boston</city> <state>ma</state> <postalcode>01775</postalcode> </contact> </list:mailinglist> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

30 Tecniche avanzate per la riusabilità degli schemi Consideriamo il formato della fattura (basata su PO) che SkatesTown invierà a Skateboard Warehouse. <?xml version="1.0" encoding="utf-8"?> <invoice:invoice xmlns:invoice=" xmlns:xsi=" xsi:schemalocation=" id="43871" submitted=" "> <billto id="addr-1">...</billto> <shipto href="addr-1"/> <order> <item sku="318-bp" quantity="5" unitprice="49.95"> <description>skateboard backpack; five pockets</description> </item> </order> <tax>89.89</tax> <shippingandhandling>200</shippingandhandling> <totalcost> </totalcost> </invoice:invoice> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

31 Il documento invoice è molto simile a OP, con poche ma importanti differenze: Invoice usa un namespace differente ( L elemento root del documento è invoice e non po. L elemento invoice ha tre sottolementi addizionali: tax, shippingandhandling, e totalcost. L elemento item ha un attributo addizionale: unitprice. Come è possibile riutilizzare lo schema di PO per definire lo schema di invoice? Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

32 Principi di progettazione Immaginando che PO, Address e Item siano classi Java: class Address {... } class Item {String sku; int quantity;} class InvoiceItem extends Item {float unitprice;} class PO { int id; Date submitted; Address billto; Address shipto; Item order[]; } class Invoice extends PO { float tax; float shippingandhandling; float totalcost; } Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

33 Al fine di utilizzare un array di InvoiceItem ed evitare continui downcasting: class Invoice { int id; Date submitted; Address billto; Address shipto; InvoiceItem order[]; float tax; float shippingandhandling; float totalcost; } Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

34 Estendere uno schema <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns=" targetnamespace=" xmlns:xsd=" xmlns:po=" <xsd:import namespace=" schemalocation=" <xsd:annotation>...</xsd:annotation> <xsd:element name="invoice" type="invoicetype"/> <xsd:complextype name="invoicetype"> <xsd:sequence> <xsd:element name="billto" type="po:addresstype"/> <xsd:element name="shipto" type="po:addresstype"/> <xsd:element name="order"> <xsd:complextype> <xsd:sequence> <xsd:element name="item" type="itemtype" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </xsd:element> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

35 <xsd:element name="tax" type="pricetype"/> <xsd:element name="shippingandhandling" type="pricetype"/> <xsd:element name="totalcost" type="pricetype"/> </xsd:sequence> <xsd:attribute name="id" use="required" type="xsd:positiveinteger"/> <xsd:attribute name="submitted" use="required" type="xsd:date"/> </xsd:complextype> <xsd:complextype name="itemtype"> <xsd:complexcontent> <xsd:extension base="po:itemtype"> <xsd:attribute name="unitprice" use="required" type="pricetype" </xsd:extension> </xsd:complexcontent> </xsd:complextype> <xsd:simpletype name="pricetype"> <xsd:restriction base="xsd:decimal"> <xsd:mininclusive value="0"/> </xsd:restriction> </xsd:simpletype> </xsd:schema> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

36 Sintassi per l estensione e la restrizione <xsd:complextype name="..."> <xsd:complexcontent> <xsd:extension base="..."> <!-- Optional extension content model --> <!-- Optional extension attributes --> </xsd:extension> </xsd:complexcontent> </xsd:complextype> <xsd:complextype name="..."> <xsd:complexcontent> <xsd:restriction base="..."> <!-- Content model and attributes --> </xsd:restriction> </xsd:complexcontent> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

37 Esempio di restrizione <xsd:complextype name="corporateaddresstype"> <xsd:complexcontent> <xsd:restriction base="addresstype"> <xsd:sequence> <!-- Add maxoccurs="0" to delete optional name element --> <xsd:element name="name" type="xsd:string" minoccurs="0" maxoccurs="0"/> <!-- The rest is the same as in addresstype --> <xsd:element name="company" type="xsd:string" minoccurs="0"/> <xsd:element name="street" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string" minoccurs="0"/> <xsd:element name="postalcode" type="xsd:string" minoccurs="0"/> <xsd:element name="country" type="xsd:string" minoccurs="0"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:id"/> <xsd:attribute name="href" type="xsd:idref"/> </xsd:restriction> </xsd:complexcontent> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

38 L importanza di xsi:type Per identificare il reale schema di un tipo utilizzato in un istanza XML si utilizza xsi:type. Ad esempio: <?xml version="1.0" encoding="utf-8"?> <po:po xmlns:po=" xmlns:xsi=" xsi:schemalocation=" id="43871" submitted=" "> <billto xsi:type="po:corporateaddresstype"> <company>the Skateboard Warehouse</company> <street>one Warehouse Park</street> <street>building 17</street> <city>boston</city> <state>ma</state> <postalcode>01775</postalcode> </billto>... </po:po> A volte e utile ricorrere all utilizzo di xsi:type per aggirare problemi dovuti a una cattiva progettazione degli schemi. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

39 Supponiamo di aver definito il tipo invoice attraverso l estensione del tipo PO. <xsd:complextype name="invoicetype"> <xsd:complexcontent> <xsd:extension base="po:potype"> <xsd:element name="tax" type="pricetype"/> <xsd:element name="shippingandhandling" type="pricety <xsd:element name="totalcost" type="pricetype"/> </xsd:extension> </xsd:complexcontent> </xsd:complextype> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

40 Utilizzando xsi:type possiamo specificare il tipo itemtype di invoice. <order> <item sku="318-bp" quantity="5" unitprice="49.95" xsi:type="invoice:itemtype"> <description>skateboard backpack; five pockets</description> </item> <item sku="947-ti" quantity="12" unitprice="129.00" xsi:type="invoice:itemtype"> <description>street-style titanium skateboard.</description> </item> <item sku="008-pr" quantity="1000" unitprice="0.00" xsi:type="invoice:itemtype"> <description>promotional: SkatesTown stickers</description> </item> </order> Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

41 A volte l utilizzo di xsi:type può risultare conveniente. Immaginiamo di voler specializzare ulteriormente gli indirizzi di intestazione e consegna. Address- Nessuna modifica. USAddress- Country non è permesso e il CAP deve seguire il pattern 5. (- 4. )?. UKAddress- Country è fissato e il CAP deve seguire il pattern [0-9A-Z] 3 [0-9A-Z] 3. Per avere la miglior validazione possibile le applicazioni di SkatesTown devono conoscere l esatto tipo degli indirizzi usati nel documento. Senza xsi:type sia lo schema po che invoice devono definire 9 possibili combinazioni di elementi billto e shipto: billto/shipto, billto/shiptous, billto/shiptouk, billtous/shipto, and così via. In casi del genere è meglio utilizzare xsi:type per indicare l esatto tipo di indirizzo direttamente nell istanza XML. Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

42 Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, / 73

La struttura: XML Schema

La struttura: XML Schema La struttura: XML Schema Laura Farinetti, Fulvio Corno Dip. Automatica e Informatica Politecnico di Torino L. Farinetti, F. Corno - Politecnico di Torino 1 XML Schema Inizialmente proposto da Microsoft,

Dettagli

2 Reti di Calcolatori XML

2 Reti di Calcolatori XML 2 3 4 5 6 7 8 root element Risultati Basi di dati 10 Dicembre 2003 Mario Rossi Corso Data List a_st

Dettagli

Definire linguaggi XML XSchema

Definire linguaggi XML XSchema Definire linguaggi XML XSchema 1 XMLSchema: cos'è e a cosa serve Scambio di informazioni/dati deve essere trattato in modo automatico I documenti XML usati da più partner devono avere la stessa struttura

Dettagli

DTD ed XML Schema - Esercizi

DTD ed XML Schema - Esercizi Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 DTD ed XML Schema - Esercizi Eufemia TINELLI Contenuti Esercizi: DTD XML e XSD XML Design Pattern

Dettagli

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language a.a. 2004/05 Tecnologie Web 1 XML - I XML (exstensible Markup Language): XML è un formato standard,

Dettagli

ASSEGNAZIONE FABBISOGNO

ASSEGNAZIONE FABBISOGNO 2.0 1 8 Sommario SOMMARIO... 2 1 INTRODUZIONE... 3 2 DETTAGLIO DEL DOCUMENTO... 4 3 SCHEMA XML (STANDARD W3C)... 6 4 ESEMPIO DOCUMENTO XML... 8 2.0 2 8 1 Introduzione In queste pagine è descritta la struttura

Dettagli

XML extensible Markup Language

XML extensible Markup Language XML extensible Markup Language Schemi parte b XMLSchema versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata

Dettagli

ScanDoc presentazione ed uso

ScanDoc presentazione ed uso ScanDoc presentazione ed uso - documentazione ufficiale - Sommario Premessa... 2 Descrizione ScanDoc... 2 Panoramica... 2 Funzioni disponibili... 2 Invio di documenti letti da scanner tramite mail... 2

Dettagli

XML Schema WWW. Fabio Vitali

XML Schema WWW. Fabio Vitali XML Schema Fabio Vitali Sommario Oggi esaminiamo in breve XML Schema u Perché non bastano i DTD u Tipi ed elementi u Definizione di elementi ed attributi u Altri aspetti rilevanti di XML Schema A seguire:

Dettagli

XML Schema Definition (XSD)

XML Schema Definition (XSD) Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XML Schema Definition (XSD) Eufemia TINELLI Contenuti XML Schema e DTD Formato XML Schema Tipi

Dettagli

Basi di Dati Esercitazione per la II prova intermedia 2013

Basi di Dati Esercitazione per la II prova intermedia 2013 DOMANDE di Teoria sui sistemi DBMS Basi di Dati Esercitazione per la II prova intermedia 2013 a) (3) Lo studente illustri la politica di concessione dei lock adottata dalla tecnica di locking a due fase

Dettagli

Sistema di Tracciabilità del Farmaco

Sistema di Tracciabilità del Farmaco SPECIFICHE TECNICHE DEI TRACCIATI XML TRACCIATO PER LE VALORIZZAZIONI DELLA FORNITURA A SSN Sistema di Tracciabilità del Farmaco Fase 1 Fase di prima attuazione 1 gennaio 2006 Versione 1.1 Pag. 1 di 16

Dettagli

XML Schema WWW. Fabio Vitali

XML Schema WWW. Fabio Vitali XML Schema Sommario Oggi esaminiamo in breve XML Schema Perché non bastano i DTD Tipi ed elementi Definizione di elementi ed attributi Altri aspetti rilevanti di XML Schema 2 Motivazione (1) Inizialmente

Dettagli

Specifiche struttura del file dei rilievi Descrizione e XML Schema

Specifiche struttura del file dei rilievi Descrizione e XML Schema Specifiche struttura del file dei rilievi Descrizione e XML Schema Contenuti CONTENUTI...2 1 INTRODUZIONE...3 2 MODELLO INFORMATIVO...4 3 APPENDICE...7 3.1 APPENDICE A XSD...7 3.1.1 Remark.xsd...7 2 1

Dettagli

Referti on-line e CRM ReView Service Monitor Specifiche tecniche

Referti on-line e CRM ReView Service Monitor Specifiche tecniche Referti on-line e CRM ReView Service Monitor Specifiche tecniche Versione 1.3 Sommario 1- Introduzione... 3 2 - Modalità di interazione con il servizio... 3 3 - Formato dell output... 3 4 - Modello dei

Dettagli

AVVISO DI PAGAMENTO. Descrizione del documento e schema XML. WebEDI Scambio elettronico documenti. AVVISO DI PAGAMENTO.doc

AVVISO DI PAGAMENTO. Descrizione del documento e schema XML. WebEDI Scambio elettronico documenti. AVVISO DI PAGAMENTO.doc Compilare il profilo:non scrivere qui! 1 10 Sommario SOMMARIO... 2 1 INTRODUZIONE... 3 2 DETTAGLIO DEL DOCUMENTO... 4 3 SCHEMA XML (STANDARD W3C)... 6 4 ESEMPIO DOCUMENTO XML... 9 Compilare il profilo:non

Dettagli

Esercitazione XML. Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A.

Esercitazione XML. Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it

Dettagli

Tecnologie Web T XML Schema

Tecnologie Web T XML Schema Tecnologie Web T Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione elettronica: 2.03.XMLSchema.pdf Versione elettronica: 2.03.XMLSchema-2p.pdf 1 Che cos è? È un alternativa ai DTD basata

Dettagli

Laboratorio di Sistemi Distribuiti

Laboratorio di Sistemi Distribuiti Laboratorio di Sistemi Distribuiti Bianchi Marco Univ. Roma Tor Vergata December 6, 2006 Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti December 6, 2006 1 / 29 SOAP (2/2) 1 Gestione

Dettagli

Capitolo 3. XML: extensible Markup Language. Introduzione Logical Structures Document Type Definition Namespace XML - Schema

Capitolo 3. XML: extensible Markup Language. Introduzione Logical Structures Document Type Definition Namespace XML - Schema Capitolo 3 XML: extensible Markup Language Introduzione Logical Structures Document Type Definition Namespace XML - Schema XML: extensible Markup Language Introduzione HTML: HyperText Markup Language HTML

Dettagli

EDIZIONE FEBBRAIO 2012

EDIZIONE FEBBRAIO 2012 MISADWEB SERVICE EDIZIONE FEBBRAIO 2012 Operazioni supportate GetAllVehicle Permette di ricevere la lista integrale delle vetture dell impianto. Accetta come parametro un xml contenente le informazioni

Dettagli

Specifiche tecniche di trasmissione per i Comuni

Specifiche tecniche di trasmissione per i Comuni Pag. 1 di 15 Specifiche tecniche di trasmissione per i Comuni versione data Modifiche principali Autore/i 0.1 Redazione specifiche tecniche Dario Piermarini 1/15 Pag. 2 di 15 1 INTRODUZIONE Un Comune che

Dettagli

WebEDI Tracciato XML del messaggio FATTURA

WebEDI Tracciato XML del messaggio FATTURA WebEDI Tracciato XML del messaggio FATTURA Specifica Redatto da: Verificato da: Approvato da: Scopo del documento Il presente documento descrive la struttura XML della fattura gestita dal sistema WebEDI.

Dettagli

Progetto di Gestione Documenti in Ambiente Web

Progetto di Gestione Documenti in Ambiente Web Progetto di Gestione Documenti in Ambiente Web Sessione Febbraio 2013 Marco Taddei 726523 Federico Valentini 726584 Il progetto SharesShop simula un portale web di una banca che mette a disposizione dei

Dettagli

Document Type Definition (DTD)

Document Type Definition (DTD) Laboratorio di Programmazione Distribuita Document Type Definition () Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Relazione tra classi e oggetti

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

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

OSSERVATORIO RIFIUTI SOVRAREGIONALE ~ ~ ~ IMPORTAZIONE AUTOMATICA DELLE IMFORMAZIONI SUI RIFIUTI RITIRATI E PRODOTTI DAGLI IMPIANTI. OSSERVATORIO RIFIUTI SOVRAREGIONALE ~ ~ ~ IMPORTAZIONE AUTOMATICA DELLE IMFORMAZIONI SUI RIFIUTI RITIRATI E PRODOTTI DAGLI IMPIANTI Revisione 106 Omnigate srl Bergamo, luglio 2009 1. Introduzione Il servizio

Dettagli

Direzione Centrale Entrate Direzione Centrale Sistemi Informativi e Tecnologici. Roma, 03-04-2012. Messaggio n. 5880

Direzione Centrale Entrate Direzione Centrale Sistemi Informativi e Tecnologici. Roma, 03-04-2012. Messaggio n. 5880 Direzione Centrale Entrate Direzione Centrale Sistemi Informativi e Tecnologici Roma, 03-04-2012 Messaggio n. 5880 Allegati n.3 OGGETTO: Legge 24 dicembre 2007, n. 247. Art. 1, c. 67. Sgravio contributivo

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

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

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it La struttura: DTD Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Modello di struttura I tag annidati danno origine

Dettagli

Documentazione API web v 1.0

Documentazione API web v 1.0 Documentazione API web v 1.0 Web: www.kalliopepbx.it Supporto tecnico: kalliope-pbx@netresults.it Documentazione API web v1.0-1 - Rev.: 16-11-2012 Documentazione API web v1.0-2 - Rev.: 16-11-2012 Changelog

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

XML e Sistemi per la Gestione di Basi di Dati Relazionali

XML e Sistemi per la Gestione di Basi di Dati Relazionali Basi di Dati Distribuite a.a. 2004/2005 XML e Sistemi per la Gestione di Basi di Dati Relazionali Luca Noce - luxnox2000@yahoo.it Elisa Marino - marino_elisa@hotmail.com Obiettivi Necessità di conciliare

Dettagli

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2)

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2) MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2) Questo documento contiene le informazioni necessarie per l interfacciamento con il gateway SMS di SMSSmart. Il suo utilizzo è riservato ai clienti che abbiano

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web Array in PHP Lezione 7 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Overview Introduzione Array Numerici Array Associativi Array Multidimensionali Funzioni

Dettagli

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002 Tricks & Tips [Access] - Michele de Nittis - Tutorial - ActiveX - Controllo Tree View Versione: 1 Data Versione: venerdì 30 agosto 2002 1 SOMMARIO PREMESSA...3 INSERIMENTO DEL CONTROLLO...3 AGGIUNTA DELLE

Dettagli

QUALIFICAZIONE DELLA PORTA DI DOMINIO

QUALIFICAZIONE DELLA PORTA DI DOMINIO QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA Versione 1.0 Qualificazione della Porta di INDICE 1. PROCESSO DI QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA 3 2. DESCRIZIONE

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

AVVISO DI MERCE PRONTA

AVVISO DI MERCE PRONTA AVVISO DI MERCE 2.0 1 8 Sommario SOMMARIO... 2 1 INTRODUZIONE... 3 2 DETTAGLIO DEL DOCUMENTO... 4 3 SCHEMA XML (STANDARD W3C)... 5 4 ESEMPIO DOCUMENTO XML... 7 AVVISO DI MERCE 2.0 2 8 1 Introduzione In

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Dati relazionali e XML

Dati relazionali e XML Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione

Dettagli

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

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

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 1.0 Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML Versione 1.0 1 Sommario Sommario... 2 1. Istruzioni operative... 3 2. Struttura del file XML...

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni: XML: DTD Da un punto di vista cronologico, il primo approccio per la definizione di grammatiche per documenti XML è rappresentato dai Document Type Definition (DTD). Un DTD è un documento che descrive

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

Working Draft 0.5 (Telefonia)

Working Draft 0.5 (Telefonia) Working Draft 0.5 (Telefonia) Abstract Lo scopo del progetto è lo sviluppo di un SCP (Semantic Collaborative Portal), cioè un sistema di visualizzazione di una banca dati documentaria di grandi dimensioni

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Sviluppo moduli OpenERP v7.0

Sviluppo moduli OpenERP v7.0 Sviluppo moduli OpenERP v7.0 by Dott.ssa Eliumara López 24 Ottobre 2013 01 Dicembre 2012 Indice.- Cos' è un modulo?.- Files.- Viste, Azioni, Menu e altre interfacce.- Ereditarietà.- Introduzione al modulo

Dettagli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015 Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle

Dettagli

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML Capitolo 3 Il linguaggio XML 3.1 Introduzione al linguaggio XML Il linguaggio XML (extensible Markup Language) è stato sviluppato nel 1996 da XML Working Group, gruppo di lavoro organizzato dal World Wide

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

XML (extensible Markup Language)

XML (extensible Markup Language) Supporto On Line Allegato FAQ FAQ n.ro MAN-8HVCNU5634 Data ultima modifica 16/06/2011 Prodotto Dichiarazioni fiscali 2011 Modulo Generica DF Oggetto: Modello IRAP 2011 XML - XMLNotepad: Guida all uso e

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

Groups vs Organizational Units. A cura di Roberto Morleo

Groups vs Organizational Units. A cura di Roberto Morleo Groups vs Organizational Units A cura di Roberto Morleo Gruppo Windows 2 Groups vs Organizational Units Organizational Units Groups OU Design Using OUs to Delegate Administration Group Policies and OU

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

IL MIO PRIMO SITO: NEWS

IL MIO PRIMO SITO: NEWS Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Lezione 4. Modello EER

Lezione 4. Modello EER Lezione 4 Modello EER 1 Concetti del modello EER Include tutti i concetti di modellazione del modello ER Concetti addizionali: sottoclassi/superclassi, specializzazione, categorie, propagazione (inheritance)

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 11 WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 11 Pag. 2 di 11 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO ESTERNO...

Dettagli

Versioni x.7.9 Note Operative

Versioni x.7.9 Note Operative Versioni x.7.9 Note Operative Le versioni x.7.9 sono state rilasciate per poter predisporre i dati per il cosiddetto spesometro 2013 o per la comunicazione delle operazioni IVA rilevanti utilizzando il

Dettagli

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO 1)d ALLEGATO 14 RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO TRA IL SISTEMA INFORMATICO DEL COMUNE ED IL SISTEMA INFORMATICO DELLA SOCIETA PREPOSTA AL SERVIZIO DI REFEZIONE vers. 2.2 Indice 1. SCOPO

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Gestione ex Inpdap SISTEMA INFORMATIVO DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE

Gestione ex Inpdap SISTEMA INFORMATIVO DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE Allegato_Tecnico Gestione ex Inpdap SISTEMA INFORMATIVO COOPERAZIONE CON GLI ENTI DI PATRONATO PER LA ISTRUTTORIA RELATIVA ALLE DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE NOTA TECNICA:

Dettagli

Il linguaggio di specifica formale Z

Il linguaggio di specifica formale Z Il linguaggio Z (Spivey, 1992) Il linguaggio di specifica formale Z Sviluppato presso l Università di Oxford (UK) Basato su FSM Applicato in ambito industriale Dotato di numerose estensioni (Object Z,

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche

Dettagli

Guida all uso del web service SDMX

Guida all uso del web service SDMX Guida all uso del web service SDMX Introduzione L obiettivo di questo documento è l illustrazione sintetica degli step che tecnicamente bisogna compiere affinché un generico client sia in grado di interagire

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

INPS. Area CRM & Contact Center. Sgravi Contrattazione di II livello 2012

INPS. Area CRM & Contact Center. Sgravi Contrattazione di II livello 2012 Istituto Nazionale Previdenza Sociale INPS Direzione Centrale Sistemi Informativi e Tecnologici Area CRM & Contact Center Sgravi Contrattazione di II livello 2012 Documento: Specifiche Tecniche per la

Dettagli

OPC XML Data Access Specification. http://www.opcfoundation.org/

OPC XML Data Access Specification. http://www.opcfoundation.org/ OPC XML Data Access Specification http://www.opcfoundation.org/ Perché OPC si è mosso verso i WS? OPC DCOM-based era legato ad una piattaforma e ad una tecnologia specifica Ci sono applicazioni in cui

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli