Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi."

Transcript

1 XML: XPath XPath, acronimo di XML Path Language è un linguaggio il cui scopo è quello di identificare particolari nodi o set di nodi all'interno di un documento XML. Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi. La sintassi di XPath NON è una sintassi XML. Il concetto (e la sintassi in forma abbreviata) è simile a quello di navigazione su un file system (Unix) con l'ausilio di implementazioni che ne aumentano le potenzialità.

2 XML: XPath XPath 1.0: W3C Recommendation del 16 novembre XPath 2.0: W3C Recommendation del 23 gennaio 2007.

3 XML: Xpath - Data Type ANALIZZIAMO I TIPI DI NODI PRESENTI IN UN DOCUMENTO XML La quasi totalità di un documento XML è formato da tre tipologie di nodi: Root Node E' la radice che contiene tutti gli altri nodi Element Node Sono gli elementi del documento Attribute Node Sono gli attributi di ciascun elemento

4 XML: Xpath - Data Type Poi ci sono altri quattro nodi meno frequenti: Namespace Node Sono rappresentati dai namespace Processing Instruction Node Sono le istruzioni di elaborazione esclusa la dichiarazione di documento Comment Node Sono i commenti del documento Text Node E' il testo presente all'interno di un elemento

5 XML: Xpath Data Type Tutti i risultati delle espressioni XPath hanno uno dei seguenti tipi di dato come risultato: node set Un insieme di nodi di un documento XML boolean Un tipo di dato binario che puo' assumere il valore true o false generalmente prodotto mediante operatori di confronto o logici. number Un tipo di dato floating point. In più sono compresi i valori speciali, Inf, -Inf e Nan string Una sequenza di caratteri Unicode racchiusi tra apici singoli o doppi

6 XML: Xpath La Location Path è quell'insieme di regole principali per formare le espressioni che individueranno la porzione di un documento XML che vogliamo estrarre/identificare. Ci sono due forme per scrivere le espressioni XPath, la forma abbreviata e quella estesa. La forma abbreviata ricorda molto la sintassi della shell Unix con simboli come /... La forma estesa ha una sintassi particolare, e divide il suo costrutto in 3 parti, un axis (asse), un node test (test di nodo) e un'altra parte ozpionale che è il predicate (predicato).

7 XML: Xpath Forma estesa LocationPath = LocationStep/LocationStep/.../LocationStep axis::node-test[predicate1][predicate2][...] I location step consistono di un identificatore di asse, un test di nodo e zero o più predicati. Un location step identifica un nuovo node-set relativo al contesto node-set. Il location step viene valutato per ogni nodo all'interno del contesto node-set, e l'unione dei risultanti node-set diventano il nuovo contesto node-set per il passo successivo di elaborazione.

8 XML: Xpath Location Step Un location step ha tre parti: Un axis (asse), che individua la direzione di specifica del location step nell albero e rispetto al contesto. Un node test (test di nodo), che individua il tipo e il nome completo del nodo identificato dal location step. Zero o più predicates (predicati) che raffinano ulteriormente l insieme di nodi selezionati dal location step

9 XML: Xpath Forma estesa L'asse di una espressione XPath indica, partendo dal test node, la direzione da seguire per la ricerca. TIPI DI AXIS (13) self - il nodo stesso child - tutti i nodi figli del set di nodi (è il nodo di default quindi puo' anche essere omesso) descendant - tutti i nodi contenuti nel set di nodi (quindi figli, figli dei figli e così via) descendant-or-self - tutti i descendant oltre al nodo stesso parent - il nodo che contiene il set dei nodi

10 XML: Xpath Forma estesa TIPI DI AXIS - CONTINUAZIONE ancestor - tutti gli elementi e il nodo radice che contengono il set dei nodi ancestor-or-self - tutti gli ancestor oltre al nodo stesso preceding - tutti i nodi prercedenti del set dei nodi, ossia i nodi che terminano prima del set di nodi in esame preceding-sibling - tutti i fratelli precedenti del set dei nodi, ossia i fratelli che terminano prima dell'inizio del set di nodi in esame following - tutti i nodi successivi del set dei nodi, ossia i nodi che iniziano dopo il set di nodi in esame following-sibling - tutti i fratelli successivi del set dei nodi, ossia i fratelli che iniziano dopo l'inizio del set di nodi in esame attribute - gli attributi del set dei nodi namespace - i namespace del set dei nodi

11 XML: Xpath Forma estesa ESEMPI DI ASSI E NODI

12 XML: Xpath Forma estesa Il node test indica quali nodi includere lungo l'axis specificato prima dei :: TIPI DI NODE TEST name - ogni elemento o attributo con quel nome lungo l'asse specificato * - ogni elemento lungo l'asse specificato prefix:* - ogni elemento o attributo con il namespace 'prefix' lungo l'asse specificato comment() - ogni commento lungo l'asse specificato text() - ogni nodo di testo lungo l'asse specificato node() - ogni nodo lungo l'asse specificato processing-instruction() - ogni istruzione di elaborazione lungo l'asse specificato processing-instruction('target') - ogni istruzione di elaborazione che si riferisce al relativo 'target' lungo l'asse specificato

13 XML: Xpath Forma estesa I predicate sono racchiusi da [...] alla fine di un location step. Un predicate filtra un node-set per produrre un nuovo node-set, anlizzando ogni nodo nel node-set in base al predicate. Sulla base del risutato (boolean) o della posizione il nodo viene o meno lasciato all'interno del node-set. In poche parole, una volta ritrovato un set di nodi grazie ad axis::nodetest, possiamo grazie ai predicati, selezionare una parte di questi nodi.

14 XML: Xpath Forma breve Abbreviata Estesa name attribute::name / descendent::name // descendent-or-self::name. self::node().. parent::node() La forma abbreviata per la sua semplicità, è la più utilizzata. Tuttavia nella forma abbreviata mancano alcuni tipi di axis.

15 XML: Xpath Forma breve ASSI MANCANTI NELLA FORMA ABBREVIATA ancestor following-sibling preceding-sibling following preceding namespace ancestor-or-self

16 XML: Xpath Operatori ARITMETICI: +, -, *, div, mod BOOLEANI: -, <, <=, >, >=, =,!=, and, or,

17 XML: Xpath Funzioni XPath non definisce un elenco completo di funzioni, ma un elenco fondamentale di funzioni. Funzioni sul node-set: last(), position(), count(),id(), local-name(), namespace-uri(), name() child::pippo[position()=3] individua il terzo nodo di nome pippo nel contesto di elaborazione. child::pippo[last()] individua l ultimo nodo pippo nel contesto di elaborazione. child::pippo[3] è equivalente a child::pippo[position()=3]

18 XML: Xpath Funzioni Funzioni sulle stringhe: string(), concat(), starts-with(), contains(), substring-before(), substring-after(), substring(), string-length(), normalizespace(), translate() Funzioni booleane e numeriche: boolean(), not(), true(), false(), lang() Funzioni numeriche: number(), sum(), floor(), ceiling(), round()

19 XML: Xpath Esempi pluto ] tutti i figli pippo nel contesto che abbiano l attributo type uguale a pluto. pippo[@type= pluto ][3] il terzo figlio pippo nel contesto che abbia l attributo type uguale a pluto. pippo[7][@type= pluto ] il settimo figlio pippo nel contsto, ma solo se ha l attributo type uguale a pluto. articolo[titolo] il figlio articolo nel contesto che contenga uno o più elementi titolo

20 XML: Xpath Esempi string-length('xml') 3 substring('ciaomondo',4,2) 'mo' round(1.5) 2 number('xml') NaN number(price) normalize-space( ' ciao mondo ') 'ciao mondo'

21 XML: Xpath Attenzione 1 Root node e document node Gli XPath assoluti iniziano sempre con /root (dove root è il nome dell'elemento radice). Il nodo radice è più generale, e contiene l'elemento radice (corrispondente al tag radice), ma non coincide con lui. Il nodo radice contiene la dichiarazione XML, la dichiarazione di tipo di documento, eventuali altre processing instruction (es. per indicare il foglio di stile XSLT), oltre al nodo dell'elemento radice, chiamato, per evitare confusioni, document element. Assi in ordine rovesciato La maggior parte degli assi idntifica la posizione seguendo l'ordine degli elementi nel documento. Gli assi che indicano elementi precedenti al nodo (ad esempio ancestor, preceding e precedingsibling) vanno in ordine rovesciato, quindi si ha che: preceding[1] viene dopo di preceding[2] ancestor[1] è il padre, non la radice

22 XML: Xpath Attenzione 2 Caratteri proibiti XPath viene usato in contesti con sintassi particolari (es. attributi XML o URI). In questi casi i caratteri leciti in XPath ma proibiti nel contesto vanno adeguatamente riscritti. Es. <xsl:template match="doc[position() < 3]"> Da notare che - è sia un carattere lecito nei nomi XML sia un operatore matematico in XPath. Quindi è necessario precedere l'operatore matematico con uno spazio /doc/pippo[@foo-bar] è diverso da /doc/pippo[@foo - bar] ID in XPath La funzione id(foo) richiede di identificare quell'elemento con un attributo di tipo ID il cui valore sia foo. E' necessario avere il DTD per riconoscere che un attributo è di tipo ID. Poiché i DTD non sono necessari nei documenti XML, questa funzione può essere verificata solo da un parser validante, e quindi non è universale.

23 XML: Vincoli di Integrità Xpath si usa in XML Schema per la definizione di vincoli di unicità ed integrità referenziale: Unicità: <xs:unique name="codice"> <xs:selector xpath="/libreria/libro"/> <xs:field xpath="autore"/> <xs:field xpath="titolo"/> </xs:unique> Un vincolo di unicità NON implica che il nodo utilizzato come identificatore (field) sia obbligatorio. Eventuali nodi non presenti vengono ignorati. Per definire lo stesso vincolo quando il nodo è obbligatorio si utilizza key al posto di unique.

24 XML: Vincoli di Integrità Integrità referenziale <xs:key name="codice"> <xs:selector xpath="/libreria/libro"/> <xs:field xpath="autore"/> <xs:field xpath="titolo"/> </xs:key> xs:keyref si utilizza per definire un riferimento non solo a xs:key ma anche a xs:unique mettendo il nome della chiave nell'attributo refer : <xs:keyref name="lista" refer="codice"> <xs:selector xpath="/lista/oggetti/ > <xs:field xpath="@id"/> </xs:keyref>

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: XBase, XPath e XPointer 2 XBase, XPath, XPointer e XLink XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link ipertestuali

Dettagli

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: XBase, XPath e XPointer 2 XBase, XPath, XPointer e XLink 3 XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link ipertestuali

Dettagli

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: u XBase, XPath e XPointer 2 XML Base, XPath, XPointer e XLink XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link

Dettagli

XPath. XPath. Riferimenti. Alcuni esempi / 1

XPath. XPath. Riferimenti. Alcuni esempi / 1 XPath Moreno Marzolla INFN ezione di Padova moreno.marzolla@pd.infn.it http://www.dsi.unive.it/~marzolla Riferimenti Erik T. Ray, Learning XML, O'Reilly, First Edition, January 2001 IBN: 0-59600-046-4,

Dettagli

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

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale I Dati biblioteca: contiene piu libro e schede prestito libro: identificato da un codice univoco, presenta un titolo, un autore formato da nome e cognome, un editore ed alcune parole chiave. Inoltre mantiene

Dettagli

LEZIONE BASI DI DATI I 22/10/2008 XML

LEZIONE BASI DI DATI I 22/10/2008 XML LEZIONE BASI DI DATI I 22/10/2008 XML Il linguaggio XML (Extended Markup Language) è uno standard per la strutturazione dei dati sul web. A differenza di html, che è utilizzato per formattare documenti

Dettagli

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

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML... linguaggio xml A cura dell Ing. Buttolo Marco SOMMARIO: Contenuti INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...4 1 of 7 INTRODUZIONE: XML è l acronimo di extensible Markup

Dettagli

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

istituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation http://xml.html.it/guide/leggi/58/guida-xml-di-base/ INTRODUZIONE extensible Markup Language (XML) = metalinguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup non

Dettagli

XML: XQuery - XML Query Language

XML: XQuery - XML Query Language Xquery 1.0: W3C Recommendation del 23 gennaio 2007 XQuery è per XML come SQL per i database XQuery è costruito su espressioni XPath XQuery è supportato nei maggiori DBMS (IBM, Oracle, Microsoft, etc...)

Dettagli

XPATH XML Path Language

XPATH XML Path Language Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XPATH XML Path Language Eufemia TINELLI Contenuti Strumenti per navigare un albero XML Percorsi

Dettagli

Tecniche Multimediali

Tecniche Multimediali Le idee sono la cosa più importante, il resto è una conseguenza. Richard Feynman Tecniche Multimediali Corso di Laurea in «Informatica» - aa 2010-2011 Prof. Giorgio Poletti giorgio.poletti@unife.it XML

Dettagli

Linguaggi per il Web: XML

Linguaggi per il Web: XML Linguaggi per il Web: XML Piero Fraternali Sara Comai Politecnico di Milano XML http://w3c.org/xml/ -- http://www.microsoft.com/xml/ extended Markup Language Formato di file proposto dal W3C per distribuire

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

Foglio Elettronico Lezione 1

Foglio Elettronico Lezione 1 - Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in

Dettagli

Linguaggi ed Applicazioni mul1mediali

Linguaggi ed Applicazioni mul1mediali Linguaggi ed Applicazioni mul1mediali 06.05 XLST Maurizio Maffi ISTI Informa1on Science and Technology Ins1tute Da XSL a XSLT XSL o extensible Stylesheet Language, è un linguaggio XML creato inizialmente

Dettagli

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

I Formati per l'interscambio dei Dati XML, Json, YAML,... I Formati per l'interscambio dei Dati XML, Json, YAML,... Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide Title Il progenitore: XDR 2 Slide Il linguaggio Title XDR /* dir.x:

Dettagli

5.2. Il linguaggio XML

5.2. Il linguaggio XML 5.2. Il linguaggio XML Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Universitá di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Universitá) Insegnamento di Informatica

Dettagli

Programmazione Caratteri, stringhe, tipo unit ed ennuple

Programmazione Caratteri, stringhe, tipo unit ed ennuple Programmazione Caratteri, stringhe, tipo unit ed ennuple Samuel Rota Bulò DAIS Università Ca Foscari di Venezia. Outline Caratteri e stringhe Booleani Il tipo unit Ennuple I caratteri Il tipo char rappresenta

Dettagli

Breve Introduzione a XML

Breve Introduzione a XML Origini! XML (extensible Markup Language) deriva da SGML (Standard Generalized Markup Language).! Sia con XML che con SGML è possibile definire linguaggi di markup specifici per vari domini, come la finanza

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Università degli studi di Modena e Reggio Emilia. Interrogazione Efficiente di Documenti XML Temporali e una sua applicazione in Ambito Normativo

Università degli studi di Modena e Reggio Emilia. Interrogazione Efficiente di Documenti XML Temporali e una sua applicazione in Ambito Normativo Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Interrogazione Efficiente di Documenti XML Temporali e una sua applicazione in Ambito Normativo

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

JSON for Linked Data JSON-LD

JSON for Linked Data JSON-LD JSON for Linked Data JSON-LD Giuseppe Santaniello Giuseppe Pietravalle Web Semantico A.A. 2015/2016 Linked Data Insiemi di dati interconnessi sul Web Esempio: DBpedia DBpedia contiene i dati di Wikipedia

Dettagli

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

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la struttura di un documento XML disponibile prima che fosse introdotto XMLSchema

Dettagli

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking XML Docente: Vito Morreale(vito.morreale@eng.it) 1 Struttura ad albero persona radice nome cognome origine data

Dettagli

Nozioni di base per creare e visualizzare documenti XML

Nozioni di base per creare e visualizzare documenti XML Nozioni di base per creare e visualizzare documenti XML Il concetto di modello Prima della codifica di un qualsiasi documento è necessario studiarne la natura, le caratteristiche e le possibili funzionalità

Dettagli

Informatica teorica Lez. n 12 Introduzione al Lisp. Introduzione al Lisp. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 12 Introduzione al Lisp. Introduzione al Lisp. Prof. Giorgio Ausiello Università di Roma La Sapienza Introduzione al Lisp Argomenti della lezione Aspetti generali del Lisp S-espressioni Funzioni predefinite Definizione di funzioni e costrutti programmativi Lisp Ispirato da funzioni ricorsive e lambda

Dettagli

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

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato

Dettagli

XSL extensible Stylesheet Language

XSL extensible Stylesheet Language 1 XSL extensible Stylesheet Language Massimo Martinelli Massimo.Martinelli@isti.cnr.it Consiglio Nazionale delle Ricerche -CNR Istituto di Scienza e Tecnologie della Informazione - ISTI Le componenti di

Dettagli

Università degli Studi di L Aquila Facoltà di Scienze M.F.N. Corso di Laurea in Informatica. Modulo di Laboratorio di Algoritmi e Strutture Dati

Università degli Studi di L Aquila Facoltà di Scienze M.F.N. Corso di Laurea in Informatica. Modulo di Laboratorio di Algoritmi e Strutture Dati Università degli Studi di L Aquila Facoltà di Scienze M.F.N. Corso di Laurea in Informatica Modulo di Laboratorio di Algoritmi e Strutture Dati Alberi binari Giovanna Melideo melideo@di.univaq.it 1 Alberi

Dettagli

Di 1. Capitolo 1: Iniziare con xpath 2. Osservazioni 2. Versioni 2. Examples 2. XML di esempio (senza spazi dei nomi) 2. Seleziona il testo 2

Di 1. Capitolo 1: Iniziare con xpath 2. Osservazioni 2. Versioni 2. Examples 2. XML di esempio (senza spazi dei nomi) 2. Seleziona il testo 2 xpath #xpath Sommario Di 1 Capitolo 1: Iniziare con xpath 2 Osservazioni 2 Versioni 2 Examples 2 di esempio (senza spazi dei nomi) 2 Seleziona il testo 2 Seleziona un elemento 3 Operazioni HTML comuni

Dettagli

XML Pointer Language (XPointer)

XML Pointer Language (XPointer) Giorno 11 XML Pointer Language (XPointer) XML Pointer Language (XPointer) offre gli strumenti per indirizzare e localizzare informazioni che si trovano all interno di un altro documento XML. XPointer usa

Dettagli

Risoluzione efficiente di interrogazioni XPath su documenti XML con attributi e riferimenti

Risoluzione efficiente di interrogazioni XPath su documenti XML con attributi e riferimenti Risoluzione efficiente di interrogazioni XPath su documenti XML con attributi e riferimenti Enrico Zimuel enrico@zimuel.it Università degli Studi G.D Annunzio Chieti - Pescara XPath p. 1/56 Sommario Come

Dettagli

CSS 2. I selettori e le classi

CSS 2. I selettori e le classi CSS 2 I selettori e le classi Tipi di selettori Selettore generale Selettori tipo (quelli singoli) Selettori di gruppo (raggruppamento) Selettori contestuali Selettori figli Selettori fratelli adiacenti

Dettagli

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

(XML) Origini di XML. La Famiglia di XML HTML SGML XML XHTML WML SOAP. MathML extensible Markup Language (XML) Origini di XML XML è un metalinguaggio, cioè un linguaggio che permette di definire nuovi linguaggi. XML deriva da SGML, che è stato estremamente semplificato ed esteso

Dettagli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Struttura di un linguaggio

Struttura di un linguaggio Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Esempi di funzioni di Excel

Esempi di funzioni di Excel Esempi di funzioni di Excel Funzione SOMMA Categoria: Matematiche e trigonometriche Restituisce la somma aritmetica degli argomenti. SOMMA(num1;[num2]; ) num1, obbligatorio, è il primo argomento da valutare

Dettagli

Dati / Informazioni Strutturate

Dati / Informazioni Strutturate Le informazioni Il patrimonio più importante per il genere umano è la sua conoscenza. Conoscenza Informazione Dato L informatica nasce dall esigenza di gestire in maniera automatica le informazioni. Le

Dettagli

CSS 2. Tipi di selettori. Raggruppamento di selettori. Selettore generale. I selettori e le classi

CSS 2. Tipi di selettori. Raggruppamento di selettori. Selettore generale. I selettori e le classi CSS 2 I selettori e le classi Tipi di selettori Selettore generale Selettori tipo (quelli singoli) Selettori di gruppo (raggruppamento) Selettori contestuali Selettori figli Selettori fratelli adiacenti

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Lesson #4. Espressioni Regolari. Roberto De Virgilio

Lesson #4. Espressioni Regolari. Roberto De Virgilio Lesson #4 Espressioni Regolari Roberto De Virgilio Sistemi operativi - 9 Novembre 2015 Espressioni regolari in Unix Patterns (modelli) che individuano insiemi di stringhe (linguaggi) e rappresentano uno

Dettagli

Esercizi proposti Risolvere i problemi seguenti su espressioni rappresentate come alberi binari, mediante la dichiarazione di tipo

Esercizi proposti Risolvere i problemi seguenti su espressioni rappresentate come alberi binari, mediante la dichiarazione di tipo Esercizi proposti 8 INDICZIONI DI CRTTERE GENERLE: Quando scrivete una funzione che ne utilizza una ausiliaria, chiedetevi sempre se l ausiliaria è necessaria, ricordando che è utile quando: (a) servono

Dettagli

Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL

Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL DOCUMENT OBJECT MODEL (DOM) DOM fornisce una rappresentazione del documento HTML in composizione gerarchica di oggetti (DOM TREE). Questo albero di

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

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

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche Sintassi dei DTD : Entità generali : Entità parametriche La dichiarazione di tipo Il è la dichiarazione del tipo di documento. Essa

Dettagli

Espressioni aritmetiche

Espressioni aritmetiche Espressioni aritmetiche Consideriamo espressioni costruite a partire da variabili e costanti intere mediante applicazione delle operazioni di somma, sottrazione, prodotto e divisione (intera). Ad esempio:

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

Stringhe. Walter Didimo

Stringhe. Walter Didimo Stringhe Walter Didimo La classe String L uso di stringhe (sequenze di caratteri alfanumerici) nei programmi è molto frequente Per tale motivo, l API di Java offre una classe con molti metodi utili per

Dettagli

POLITECNICO DI TORINO. Laboratorio di Compilatori Corso di Linguaggi e Traduttori. Esercitazione 5. a.a 2010 / Controllo dei tipi

POLITECNICO DI TORINO. Laboratorio di Compilatori Corso di Linguaggi e Traduttori. Esercitazione 5. a.a 2010 / Controllo dei tipi POLITECNICO DI TORINO Laboratorio di Compilatori Corso di mail: stefano.scanzio@polito.it sito: a.a 2010 / 2011 Controllo dei tipi Type expressions Symbol tables Implementazione di un type-checker strutture

Dettagli

Esercizio 2 Scrivere un programma C che: Prende in input da linea di comando il nome di una directory ed il nome di un file. Se non e' possibile aprir

Esercizio 2 Scrivere un programma C che: Prende in input da linea di comando il nome di una directory ed il nome di un file. Se non e' possibile aprir Esercizio 1 Scrivere un programma in C che prende in input (su riga di comando) il nome di un file e visualizza: Il file uid=

Dettagli

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML Laboratorio di sistemi interattivi Lezione 12: Java & XML 1 Struttura di un applicazione Java-XML Parser analizza il contenuto di un file XML Produce eventi in corrispondenza delle diverse componenti Eventi

Dettagli

d. Cancellazione del valore 5 e. Inserimento del valore 1

d. Cancellazione del valore 5 e. Inserimento del valore 1 Esercizio1 Si consideri un albero binario non vuoto in cui a ciascun nodo v è associato un numero reale v.val. Scrivere un algoritmo che, dato in input l'albero T e un numero reale x, restituisce true

Dettagli

XML Programming: DOM e SAX

XML Programming: DOM e SAX Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XML Programming: DOM e SAX Eufemia TINELLI Contenuti Obiettivi delle API per XML DOM Modello

Dettagli

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico: Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

YAWL Workflow Management System

YAWL Workflow Management System YAWL Workflow Management System Gabriele Pozzani Barbara Oliboni Sistemi informativi aziendali Laurea magistrale in Ingegneria e scienze informatiche http://www.yawlfoundation.org/ Materiale prodotto da:

Dettagli

L utility Unix awk [Aho-Weinberger-Kernighan]

L utility Unix awk [Aho-Weinberger-Kernighan] L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più

Dettagli

Il linguaggio XQuery

Il linguaggio XQuery XQuery in breve! XQuery è un linguaggio di interrogazione per dati espressi in XML, e può essere dunque utilizzato per accedere a documenti strutturati e semi-strutturati.! E diventato una Recommendation

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement Ogni istruzione di uno script viene chiamata statement. La fine di uno statmenet e' indicata dal simbolo ;. Anche se in ActionScript il ; è opzionale, si consiglia di metterlo ugualmente per aumentare

Dettagli

Introduction to modern Fortran

Introduction to modern Fortran Sintassi di base Introduction to modern Fortran Maurizio Cremonesi, CINECA Maggio 2016 Documentazione e manualistica Può essere facilmente reperita on-line Language reference Descrizione e sintassi del

Dettagli

Il modello RDF. Pasquale Savino ISTI-CNR. Biblioteche Digitali Metadati

Il modello RDF. Pasquale Savino ISTI-CNR. Biblioteche Digitali Metadati Il modello RDF 1 Introduzione al modello RDF [1/6] RDF (Resource Description Framework) è un modello di riferimento per descrivere metadati a supporto del riuso e dello scambio tra applicazioni diverse

Dettagli

Primi passi con JFlex

Primi passi con JFlex Primi passi con JFlex Luca Chiodini Abstract Ci proponiamo di muovere i primi passi nel mondo dell analisi lessicale e della produzione automatica di un analizzatore lessicale. Verrà mostrato l uso di

Dettagli

SQL - Sottointerrogazioni correlate

SQL - Sottointerrogazioni correlate SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire

Dettagli

Analisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser

Analisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser Ruolo del parser Analisi 1 1 Dipartimento di Matematica e Informatica Universitá di Camerino mariarita.diberardini@unicam.it Ruolo del parser Ruolo dell analisi sintattica Ruolo del parser Metodologie

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

C: primi elementi. Lezione 4

C: primi elementi. Lezione 4 C: primi elementi Lezione 4 Evoluzione del BCPL (1967) e B (1970), entrambi typeless Sviluppato da Dennis Ritchie nel 1972 ed implementato per il PDP-11 Usato per lo sviluppo del sistema operativo UNIX

Dettagli

XML: XLink. Alessandro Sorato - Linguaggi per la rete: XML Dipartimento di Informatica Università di Venezia Ca' Foscari

XML: XLink. Alessandro Sorato - Linguaggi per la rete: XML Dipartimento di Informatica Università di Venezia Ca' Foscari XML: XLink XLink: XML Linking Language (1.0) W3C Recommendation del 27 Giugno 2001 Linguaggio basato su XML per definire dei link tra risorse esterne o interne ad un documento. XLink nasce con l'intento

Dettagli

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Dati e Istruzioni Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/28 Comunicazione dell algoritmo all

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza 1.1. Introduzione al linguaggio Pascal Struttura di programma Elementi lessicali: le parole riservate e gli

Dettagli

Sistemi Mobili e Wireless Android - Risorse

Sistemi Mobili e Wireless Android - Risorse Sistemi Mobili e Wireless Android - Risorse Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Risorse in Android In Android,

Dettagli

Laboratorio 3 (SmallC: Alberi Astratti con Tipi Algebrici in OCaml)

Laboratorio 3 (SmallC: Alberi Astratti con Tipi Algebrici in OCaml) Laboratorio 3 (SmallC: Alberi Astratti con Tipi Algebrici in OCaml) Sommario: 6 aprile, 2018 - Ocaml: Tipi Algebrici o Concreti. Sintassi Astratta: Esprimiamo Dcl con Tipi Algebrici OCaml. Programmare

Dettagli

Access. P a r t e t e r z a

Access. P a r t e t e r z a Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,

Dettagli

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione Alberi Strutture dati: Alberi Strutture gerarchiche di dati Esempi Il file system di un sistema operativo L organigramma di un azienda Alberi generali, alberi n-ari, alberi binari, Ogni nodo ha un unico

Dettagli

strutturati November 23, 2017

strutturati November 23, 2017 strutturati November 23, 2017 1 Documenti strutturati (cap 15) I documenti strutturati si possono rappresentare come alberi i cui nodi definiscono le differenti sezioni del documento, che a loro volta

Dettagli

Esercitazione n. 3. Dott. Salvatore Pontarelli

Esercitazione n. 3. Dott. Salvatore Pontarelli Esercitazione n. 3 Dott. Salvatore Pontarelli Struttura di un modulo Assembly Assembly è il linguaggio che l ARM assembler (armasm) legge per produrre il codice oggetto. può essere: ARM assembly language

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

Frames. Come organizzare le pagine web usando i frames. Definizione Frame = 1. struttura, armatura, telaio 2. inf. videata, schermata, cornice

Frames. Come organizzare le pagine web usando i frames. Definizione Frame = 1. struttura, armatura, telaio 2. inf. videata, schermata, cornice Frames Come organizzare le pagine web usando i frames Definizione Frame = 1. struttura, armatura, telaio 2. inf. videata, schermata, cornice Usare i frame Per poter usare i frame è necessario comunicare

Dettagli

Linguaggio di Riferimento: C

Linguaggio di Riferimento: C Programmazione procedurale Linguaggio di Riferimento: C 1 Linguaggio macchina Il linguaggio macchina costituisce la forma espressiva atta a descrivere programmi e ad essere direttamente interpretata dall

Dettagli

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.

Dettagli

Controllo di flusso negli script: if-then-else

Controllo di flusso negli script: if-then-else Controllo di flusso negli script: if--else Il coman condizionale if condition_command true_commands else false_commands esegue il coman condition command e utilizza il suo exit status per decidere se eseguire

Dettagli

Introduzione a JavaScript. Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani

Introduzione a JavaScript. Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani Introduzione a JavaScript Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani Principali caratteristiche di JavaScript È un linguaggio interpretato È un linguagio basato sugli

Dettagli

SAX e DOM. Analisi di un documento

SAX e DOM. Analisi di un documento SAX e DOM Programmazione in Ambienti Distribuiti A.A. 2003-04 Analisi di un documento Il parser è uno modulo software utilizzato per l analisi di un documento Eseguire il parsing di un documento significa

Dettagli

Web Design. Media Dream Academy. Stefano Gaborin

Web Design. Media Dream Academy. Stefano Gaborin Web Design Media Dream Academy Stefano Gaborin stefano.gaborin@above.company www.above.company I Fogli di stile: CSS CSS è l acronimo di Cascading Style Sheets, ovvero fogli di stile a cascata. Il CSS

Dettagli

direttive del preprocessore simboli speciali parole chiave identificatori costanti

direttive del preprocessore simboli speciali parole chiave identificatori costanti 5) Elementi di C #include #define TF2TC main() { double tc, tf, offset, conv; offset = 32.; direttive del preprocessore simboli speciali parole chiave identificatori costanti #ifdef TF2TC conv

Dettagli

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

Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico. Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico. In quanto documento XML, uno XML Schema ha un root element che contiene

Dettagli

Strutture di controllo condizionali in Matlab

Strutture di controllo condizionali in Matlab Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire

Dettagli

XSL: extensible Stylesheet Language

XSL: extensible Stylesheet Language XSL: extensible Stylesheet Language XSL è un insieme di tre linguaggi che forniscono gli strumenti per l elaborazione e la presentazione di documenti XML in maniera molto flessibile. I tre linguaggi devono

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli