XML. Concetti principali. Risultato possibile. Differenze tra XML e HTML

Похожие документы
extensible Markup Language

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

Creare documenti XML. La natura epistemologica della codifica. Perché comprare XML? La struttura gerarchica ordinata. Riassumendo le componenti

a cura di Maria Finazzi

XML: extensible Markup Language

Alcune regole di base per scrivere un programma in linguaggio C

XML: La nascita del linguaggio

Linguaggi per il web oltre HTML: XML

Funzioni in C. Violetta Lonati

2.3 Cenni sui fogli di stile CSS per XML

Laboratorio Matematico Informatico 2

Introduzione alla programmazione in C

XML (extensible Markup Language)

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Document Type Definition (DTD)

HTML+XML= XHTML. Che cos è l XHTML

Corso di Informatica di base per le discipline umanistiche - XPATH

Modellazione dei dati in UML

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

XML e PHP. Gestire XML con PHP. Appendice

Istruzioni per il programma ANDI

Client - Server. Client Web: il BROWSER

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

XSL: extensible Stylesheet Language

Dispensa YACC: generalità

HTML: i link ipertestuali. La sintassi di qualunque link in HTML è la seguente: <A HREF= indirizzo > parolacalda </A>

Informatica A per Ingegneria Gestionale ( ) Il linguaggio HTML. Elisa Quintarelli-Laura Mandelli. HyperText Markup Language

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Uso di base delle funzioni in Microsoft Excel

Raggruppamenti Conti Movimenti

Guida all uso di Java Diagrammi ER

EXPLOit Content Management Data Base per documenti SGML/XML

BDCC : Guida rapida all utilizzo

PIATTAFORMA DOCUMENTALE CRG

Presidenza del Consiglio dei Ministri

Programmi e Oggetti Software

Strutturazione logica dei dati: i file

Progettazione di un Database

Introduzione a XML. Language

Progettazione di Basi di Dati

Laboratorio di Informatica

Database. Si ringrazia Marco Bertini per le slides

Appunti sulla Macchina di Turing. Macchina di Turing

Capitolo 4 Pianificazione e Sviluppo di Web Part

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A Language) Stylesheet.

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

XML. XML è contemporaneamente: XML non è:

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Bookenberg non è un softwere ma una piattaforma online, quindi:

Tecniche Multimediali

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Allegato tecnico. Per l invio di documenti elettronici al Comune di Prato

7.4 Estrazione di materiale dal web

Definire gli attributi dei blocchi

Anno 1. Definizione di Logica e operazioni logiche

RISOLUTORE AUTOMATICO PER SUDOKU

APPUNTI DI HTML (SECONDA LEZIONE)

CitySoftware PROTOCOLLO. Info-Mark srl

Tecnologie Web T Introduzione a XML

Alfabeto ed elementi lessicali del linguaggio C

Organizzazione degli archivi

I sistemi di numerazione

Capitolo 13. Interrogare una base di dati

Corso html 5. Di Roberto Abutzu. *********** Quarta parte: Body ed elementi strutturali. ********** Cos'è il Body e gli elementi strutturali?

Cos è un word processor

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

Corso di Informatica

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

ISTRUZIONI PER LA GESTIONE BUDGET

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

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

Leggere un messaggio. Copyright 2009 Apogeo

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1

STAMPA UNIONE DI WORD

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

Informatica per la comunicazione" - lezione 13 -

Descrizione attività

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Il file seme o file modello del disegno

Paghe Scaglioni. Fascia di reddito. Fascia di reddito

2.1 Introduzione ai linguaggi di marcatura

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Fondamenti di Programmazione

Rappresentazione grafica di entità e attributi

SISTEMA TS AUTENTICAZIONE A SISTEMATS MODALITÀ OPERATIVE PER GLI UTENTI DEL SSN

Identificare le classi in un sistema

Транскрипт:

Concetti principali Un documento XML contiente delle istruzioni particolari chiamate tag scritte in forma di coppia di parentesi (metalinguaggio con parentesi) Daniele Marini XML <warning> <para>questa sostanza è pericolosa rischiosa per la salute</para> <para>rispettate le procedure indicate nelle istruzioni e indossate indumenti protettivi.</para> <logo /> </warning> In questo esempio i tag identificano porzioni di testo che dovranno venire stampate in modo differente, ma non dice nulla su come effettivamente vanno stampate Risultato possibile Differenze tra XML e HTML WARNING Questa sostanza è pericolosa Rispettate le procedure indicate nelle istruzioni e indossate indumenti protettivi. HTML è il metalinguaggio che permette di definire come deve essere visualizzato il testo nella pagina WEB XML viceversa descrive il testo, associa al testo una semantica XML non fa nulla di particolare si limita appunto a definire la struttura XML può essere anche considerato come un metalinguaggio per definire una semantica dei dati XML è un complemento di HTML, non lo rimpiazza XML è uno strumento per registrare informazioni indipendenti da software e hardware

Dove si usa Un esempio di documento Dipartimento di Informatica e Comunicazione XML può essere usato non soltanto per applicazioni web ma anche per semplificare lo sviluppo di programmi applicativi <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/dtds/propertylist-1.0.dtd"> <plist version="1.0"> <dict> <key>buildversion</key> <string>2</string> <key>cfbundleshortversionstring</key> <string>4.1.1</string> <key>cfbundleversion</key> <string>703</string> <key>projectname</key> <string>browserkit</string> <key>sourceversion</key> <string>703000000000000</string> </dict> </plist> La prima riga definisce la versione di XML e la codifica utilizzata per i caratteri <?xml version="1.0" encoding="iso-8859-1"?> <note> <to>pippo</to> <from>topolino</from> <heading>da ricordare</heading> <body>non dimenticarti di questo weekend!</body> </note> Un documento XML definisce una struttura ad albero: <note> individua la radice, <to>, <from>, <heading>, <body> sono rami discendenti dalla radice; la radice ha 4 figli Il contenuto del documento è autodescrittivo!! Un esempio di documento Un esempio di documento <?xml version="1.0" encoding="iso-8859-1"?> <note> <to>pippo</to> <from>topolino</from> <heading>da ricordare</heading> <body>non dimenticarti di questo weekend!</body> </note> <?xml version="1.0" encoding="iso-8859-1"?> <appunto> <oggetto>da ricordare</oggetto> Notare che la radice e ogni figlio è definita da una coppia che ha la forma <start_tag> </end_tag> In questo modo abbiamo definito una semantica della entità note, una semantica operazionale, che dice che una nota è costituita da un mittente, un destinatario, una intestazione, un contenuto Abbiamo la liberta di chiamare questa cosa anche con altri nomi: Abbiamo usato denominazioni diverse (lingua italiana) per i componenti della nota

Una struttura ad albero Una struttura ad albero Vediamo un esempio E la sua descrizione XML <bookstore> <book category="cooking"> <title lang="en">everyday Italian</title> <author>giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">harry Potter</title> <author>j K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">learning XML</title> <author>erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> Regole sintattiche Regole sintattiche I tag si suddividono in start-tag ed end-tag, costituiscono cioè una coppia di parentesi. Il testo contenuto all interno della coppia start/end-tag è un elemento Gli elementi possono essere organizzati in due forme: Sequenza Gerarchia Elemento base è il documento Il primo elemento di un documento XML è la XML Declaration È in effetti una istruzione indirizzata al processore che esaminerà il documento Il formato della XML Declaration è ad esempio: I tag sono case-sensitive ovvero maiuscole e minuscole devono essere rispettate, <note> è diverso da <Note> e da <NOTE> <Message>Questo è giusto</message> <Message<Questo è sbagliato!</message> Gli elementi devono essere correttamente innestati (nested) <note><i>questo è giusto</i></note> <<note><i>questo è sbagliato</note></i> <?XML version= 1.0 encoding= UTF-8 standalone= YES?>

Attributi Caratteri speciali ed elementi Un attributo fornisce informazioni aggiuntive a un elemento; gli attributi sono definiti all interno dello start-tag dell elemento Un attributo è costituito da un nome e da un valore in quest ordine <appunto data = 9/02/2012 > <oggetto>da ricordare</oggetto> I simboli <, >,?,!, / sono caratteri speciali La coppia < > delimita un tag <nome_tag> Lo start_tag è denotato come: L end-tag è denotato come: </nome_tag> In generale la struttura gerarchica di un documento corrisponde alla organizzazione in capitoli, sezioni e paragrafi di un libro Il tag di paragrafo è <p> testo del paragrafo </p> L attributo data ha il valore 9/02/2012 Notare gli apici. Se non mettete gli apici è sbagliato Riferimenti a entità Commenti e spazi bianchi Se inserite il carattere < in un testo fate un errore, il simbolo < viene interpretato come inizio di un tag Per evitare l errore fate rimpiazzate il carattere < con un riferimento alla entità < che è codificata come < Le entità predefinite sono: < < > > & & &apos; " Racchiusi tra le parentesi: <!--.. --> Hanno quindi la forma: <! - Questo è un commento --> Gli spazi bianchi sono conservati: <note> Questo è un commento </note> Con HTML il risultato è: Questo è un commento Con XML il risultato è: Questo è un commento

Cosa sono gli Elementi? Un documento XML contiene elementi Un elemento è qualunque cosa compresa tra start_tag e end_tag (incluse le parentesi) Un elemento può contenere: Altri elementi Del testo Attributi Una miscela di essi Regole sull uso dei nomi In XML i nomi usati per i tag sono costituiti con le regole: Possono contenere lettere, numeri o altri caratteri Non possono incominciare con un numero o un segno di interpunzione Non possono incominciare con le lettere XML Xml xml Non possono contenere spazi bianchi Buone pratiche sui nomi Evitare il segno tra due stringhe, che alcuni programmi possono interpretare come operazione di sottrazione, meglio usare il segno _ (sottolineatura, underscore) Evitare il segno. tra due stringhe, che alcuni programmi possono interpretare come riferimento a un attributo di una variabile Evitare il segno : che è riservato al namespace di XML Scegliere nomi significativi e brevi Si possono usare lettere accentate èéòà øü ecc. Estensibilità La X di XML sta per estensibilità. Vediamo un esempio <appunto> Supponiamo sia stato fatto un programma che interpreta XML e genera: Messaggio Da: Pippo A: Topolino Non dimenticarti di questo weekend Estensibilità L autore del file XML lo modifica <appunto data= 9/02/2012 > <oggetto>da ricordare</oggetto> Il programma esistente continuerà a generare: Ma potremo anche scrivere un nuovo programma: Messaggio 9 febbraio 2012 Da: Pippo A: Topolino Oggetto: Da ricordare Non dimenticarti di questo weekend Messaggio Da: Pippo A: Topolino Non dimenticarti di questo weekend

Ancora sugli Attributi Ancora sugli Attributi Gli attributi forniscono informazioni addizionali agli elementi Le informazioni possono servire al programma applicativo, ad esempio: <file type= gif >immagine.gif</file> Facilita il compito al programma applicativa ad interpretare il formato del file Gli attributi devono essere quotati: valore_attributo Se il valore_attributo è una stringa che contiene i caratteri o la quotazione si fa con i simboli : <gangster name= Henry Billy the Kid MacCarthy > Oppure: <gangster name= Henry "Billy the Kid" MacCarthy > Attenzione alla differenza tra attributi ed elementi. Qui è un atttributo: Qui è un elemento: <person sex= female > <first_name>anna</first_name> <family_name>bolena</family_name> </person> <person> <sex>female</sex> <first_name>anna</first_name> <family_name>bolena</family_name> </person> Buone pratiche Ancora sugli Attributi <appunto data= 9/02/2012 > <appunto> <data>9/02/2012</data> Altri attributi che si possono definire riguardano i metadati (ricordate il concetto di paratesto) XML consente di definire liberamente i metadati oltre a quelli tipici come autore, data di pubblicazione. Ad esempio si possono definire privilegi di lettura o altro <appunto> <data> <giorno>9</giorno> <mese>02</mese> <anno>2012</anno> </data>

Attributi riservati Integrare HTML in XML Gli attributi riservati sono relativi a attributi non definiti dall utente e specifici dello standard XML e sono: la lingua da adottare e lo spazio che circonda il testo Gli attributi riservati vengono denotati come: xml:lang e xml:space Nell esempio un ascensore viene chiamato lift in inglese e elevator in americano, è così possibile modificare il testo in funzione della configurazione del browser utilizzato: <para xml:lang= en > <instruction xml:lang= en-gb > Take the lift to floor 3. </instruction> <instruction xml:lang= en-us > Take the elevator to floor 3. </instruction> Il documento XML può contenere comandi di marcatura come quelli di HTML, che permettono di selezionare il font (dimensioni, modalità italic, bold, normal, ), definire liste anche innestate tra di loro, tabelle, immagini e altro. <p>questo paragrafo contiene una frase <em>enfatizzata</em></p> Questo paragrafo contiene una frase enfatizzata <p>questo paragrafo contiene una figura <fig warn.jpg/> qui</p> Questo paragrafo contiene una figura qui Parsing Sezioni CDATA Un documento che rispetta la sintassi di XML è ben formato La verifica di correttezza di un file XML è fatta con una procedura di parsing Il parsing analizza l intero testo, anche parti di testo comprese entro le parentesi start_tag end_tag La stringa all interno della coppia <message>..</message> può infatti contenere altri tag: <Author><first_name>Daniele </first_name><second_name>marini</second_name></author> Produce infatti la struttura: <Author> <first_name<daniele </first_name> <second_name>marini</second_name> </author> CDATA (character data) sono sezioni di testo che non vengono analizzate dal parser, permettono quindi di inserire stringhe che fanno uso dei caratteri speciali in modo che la stringa venga riprodotto com è Esempio: <![CDATA[Premere il tasto <<<ENTER>>>]]> La sezione CDATA deve terminare con i simboli ]]>

Encoding Esempio di tabella ISO-8859-1 Abbiamo visto nella prima riga di un documento XML encoding: <?xml version="1.0" encoding="iso-8859-1"?>. Con questa espressione si indica al programma che elabora il documento qual è il codice da adottare per la codifica e decodifica dei caratteri del testo Esistono numerosi standard, di cui ISO-8859-1 riguarda la codifica dei caratteri cosiddetti latini, ovvero che usano il caratteri degli alfabeti delle lingue europee Altri standard permettono la codifica di altri caratteri. Lo standard che definisce i codici per tutte le lingue è UNICODE Per dettagli consultare WIKIPEDIA Unicode Esempio di tabella ISO-8859-1 Dichiarazioni Sono istruzioni al processore che elabora il documento XML Una declaration è delimitata dai caratteri: <! > Le declaration possono essere innestate gerarchicamente La prima declaration (se vengono usate) all inizio del documento deve essere (nella forma più semplice): <!DOCTYPE MyBook>

Istruzioni di elaborazione Concetto di struttura fisica Chiamate processing instruction contengono informazioni necessarie a una specifica applicazione che deve elaborare il documento XML Son racchiuse tra le parentesi: Ad esempio l istruzione: <?.?> Viene interpretata dallo specifico programma ACME-WP che sa come gestire una funzione nuova pagina <p> Interrompiamo la pagina <?ACME-WP (NEW PAGE)?> <?BigDTPSystem DO:page-break?> <pagebreak/> qui</p> XML permette di organizzare un documento complesso in singoli documenti separati (ad esempio ogni capitolo di un libro) Ciascuna unità di informazione viene chiamata entità Alle entità si assegna un nome, l unica entità priva di nome è la document entity che è il file che rappresenta l intero documento e viene pubblicato o passato al parser per essere esaminato La document entity può essere o l intero documento o una sorta di quadro all interno del quale sono definite le altre entità fisicamente separate Esamineremo meglio questi concetti dopo aver introdotto DTD Entità Entity declaration Le entità sono utili quando la stessa informazione è usata in più punti e la duplicazione è inutile L informazione può essere rappresentata in forma diversa da sistemi diversi Per suddividere un documento troppo grande L informazione richiama dati coerenti con formati diversi da XML Una entità viene richiamata da diversi punti nel documento principale Per dichiarare una entità: <!ENTITY.> Ad esempio: <!ENTITY UniMi Università degli Studi di Milano > Per riferirsi a una entity: <!title> &UniMi </title>

Riferimenti Neil Bradley, The XML Companion, Addison Wesley, 1998 http://www.w3schools.com/xml/xml_whatis.asp http://en.wikipedia.org/wiki/markup_language