XML. Stefano Marchetti (stefano[at]redturtle.net)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "XML. Stefano Marchetti (stefano[at]redturtle.net)"

Transcript

1 XML Stefano Marchetti (stefano[at]redturtle.net)

2 Introduzione Introduzione a XML Creare documenti XML ben formati Creare documenti XML validi: scrivere una DTD Cascading Style Sheets Extensible Style Sheet Language - XSL XML e Java

3 Definizione di XML XML è un linguaggio di markup per documenti che contengono informazioni strutturate. XML è definito dal World Wide Web Consortium (W3C). Un linguaggio di markup è un meccanismo per identificare strutture in un documento. Le informazioni strutturate possono contenere testo, immagini e indicazioni sul ruolo che ha il contenuto. XML è un linguaggio di meta-markup perché consente la definizione di propri markup.

4 Cosa non è XML XML non è come SGML e non è un HTML avanzato. XML è un sottoinsieme di SGML. HTML è un applicazione SGML che definisce, con un insieme ben definito di tag, meccanismi per descrivere la struttura e la visualizzazione di un documento strutturato. SGML (Standard Generalized Markup Language) è uno standard internazionale (ISO 8879) per la definizione di metodi per la rappresentazione di documenti testuali strutturati in forma elettronica.

5 Cosa non è XML SGML viene largamente usato dalle grandi industrie di tecnologia come strumento di immagazzinamento e scambio di informazioni di qualsiasi tipo. SGML non è adatto a descrivere documenti per il web. In altre parole XML è una forma condensata di SGML. Un sistema conforme a SGML è in grado di leggere documenti XML.

6 Perché usare XML? XML è semplice e standard (è W3C Recommendation) Separazione netta tra il contenuto di un documento e la sua presentazione. Si definiscono non solo i dati ma la struttura dei dati. E possibile fare ricerche sulla struttura del documento perché XML aggiunge informazioni semantiche al testo dei documenti. Si definiscono propri tag. I documenti XML sono leggibili. Lo scambio di documenti XML è semplice (è testo!). XML si presta nell uso di una grande varietà di applicazioni eterogenee. XML usa una Document Type Definition (DTD) o uno Schema XML per descrivere i dati

7 Alcune differenze tra XML e HTML In XML i tag non sono predefiniti. In XML si definiscono i propri elementi. XML è stato pensato per distribuire dati XML non è un rimpiazzo di HTML XML e HTML sono stati pensati per differenti scopi: XML è stato progettato per descrivere dati e per focalizzarsi sulla forma dei dati stessi HTML è stato progettato anche per visualizzare dati e si occupa anche di come di dati vengono appaiono

8 Linguaggi di Markup I linguaggi di markup definiscono, attraverso appunto marcatori di testo (markup), il modo in cui il contenuto di un documento deve essere interpretato. HTML è un linguaggio di markup (descrittivo). <HTML> <HEAD> <TITLE>XML</TITLE> </HEAD> <BODY> <CENTER> <H1>Ciao da XML</H1> </CENTER> Benvenuti nel mondo di XML </BODY> </HTML>

9 Linguaggi di Markup I tag <HEAD>, <CENTER> ecc. danno direttive al browser su come interpretare il documento. HTML 4.01 ha oltre 100 tag e considerando i tag aggiunti dai principali browser il numero di tag sale. Considerando l eterogeneità dei tipi di documenti che si possono voler scrivere serve la possibilità di definire nuovi tag.

10 Scrivere un documento XML <?xml version= 1.0 encoding= UTF 8?> <DOCUMENTO> <TITOLO> Ciao Mondo!</TITOLO> <CORPO> Vorrei salutare tutti </CORPO> </DOCUMENTO> <? e?> sono rispettivamente il delimitatore di apertura e chiusura delle processing instructions version è l attributo che indica la versione encoding è l attributo che indica il character encoding; in questo caso una versione condensata a 8 bit di Unicode

11 Scrivere un documento XML Un elemento XML (p.e. <DOCUMENTO> ) deve iniziare con una lettera o un _ ; i caratteri successivi possono essere lettere, numeri, _, punti, -. I documenti XML sono formati da elementi. Ogni elemento XML è caratterizzato da un tag di apertura (p.e. <DOCUMENTO>), seguito da testo o altri tag e dal corrispondente tag di chiusura che inizia con </ (nell esempio </DOCUMENTO>). L elemento radice DOCUMENTO contiene due elementi TITOLO e CORPO; i due elementi contengono entrambi del testo.

12 Scrivere un documento XML XML è case-sensitive quindi il tag <TITOLO> è diverso da <Titolo>.

13 XML nei browser I browser visualizzano i documenti XML senza apportare nessun tipo di formattazione. Esistono due modi per definire una formattazione per un documento XML: con l uso Cascading Style Sheet (CSS) con l uso di Extensible Style Sheet Language (XSL)

14 XML e CSS Per applicare un foglio di stile al documento XML si utilizza la processing instruction: <?xml stylesheet type=text/css href= saluti.css?> Ad esempio: <?xml version= 1.0 encoding= UTF 8?> <?xml stylesheet type=text/css href= saluti.css?> <DOCUMENTO> <TITOLO> Ciao Mondo! </TITOLO> <CORPO> Vorrei salutare tutti </CORPO> </DOCUMENTO>

15 Documenti XML ben formati Un documento XML è ben formato se segue determinate regole di sintassi definite da W3C. Si può dire che un documento XML ben formato deve contenere uno o più elementi e che l elemento radice deve contenere tutti gli atri; inoltre ogni elemento deve essere compreso all interno degli elementi che lo racchiudono in maniera corretta.

16 Documenti XML ben formati Il seguente esempio mostra un documento XML non ben formato in quanto il tag di chiusura </TITOLO> segue il tag di apertura <CORPO>. <?xml version= 1.0 encoding= UTF-8?> <DOCUMENTO> <TITOLO> Ciao Mondo! <CORPO> </TITOLO> Vorrei salutare tutti </CORPO> </DOCUMENTO>

17 Documenti XML Validi Un documento XML è valido se esiste una document type definition (DTD) e se il documento è conforme a quella determinata DTD. La DTD può essere definita in un file separato dal documento XML oppure definita all interno del documento stesso usando l elemento <!DOCTYPE>.

18 La DTD indica che l elemento <DOCUMENTO> contiene un elemento <TITOLO> e un elemento <CORPO> ognuno dei quali contiene testo. Documenti XML Validi <?xml version= 1.0 encoding= UTF 8?> <?xml stylesheet type=text/css href= saluti.css?> <!DOCTYPE DOCUMENTO [ <!ELEMENT DOCUMENTO (TITOLO, CORPO)> <!ELEMENT TITOLO (#PCDATA)> <!ELEMENT CORPO (#PCDATA)> ]> <DOCUMENTO> <TITOLO> Ciao Mondo! </TITOLO> <CORPO> Vorrei salutare tutti </CORPO> </DOCUMENTO>

19 Creare documenti XML ben formati Un documento XML è ben formato se rispetta le specifiche definite da W3C. ( Perché è così importante che un documento XML sia ben formato? W3C specifica che il meccanismo che processa un documento XML non deve tentare la correzione di un documento non ben formato per evitare che si ripeta quanto accaduto con HTML; i browser tentando di correggere gli errori di documenti HTML hanno portato ad una specie di nuova definizione di HTML, definizione su cui i programmatori si basano.

20 Creare documenti XML ben formati Markup e Character Data Tag ed elementi Attributi Struttura logica Regole sintattiche Entità ben formate

21 Creare documenti XML ben formati - markup e Character Data I documenti XML sono formati da markup e da character data. I markup definiscono la struttura di un documento e includono i tag di apertura, i tag di chiusura, i tag di elementi vuoti, le processing instruction, i commenti, entità, sezioni CDATA. I tag iniziano con < e finiscono con >; i markup possono anche iniziare con & e finire con ; nel caso delle entità. Tutto il testo che non è markup è character data.

22 Creare documenti XML ben formati - markup e Character Data <?xml version= 1.0 encoding= UTF-8?> <DOCUMENTO> <!-- inizio del documento --> <TITOLO> Ciao Mondo! </TITOLO> <CORPO> Vorrei salutare tutti </CORPO> </DOCUMENTO>

23 Creare documenti XML ben formati - tag ed elementi Gli elementi sono formati da un tag di apertura e da un tag di chiusura. Un tag di apertura inizia con < e finisce con > e un tag di chiusura inizia con </ e finisce con >. Il nome di un elemento può iniziare con una lettera, :, _ I caratteri successivi possono essere lettere, numeri, -, :,., _ Esistono inoltre elementi vuoti cioè che sono caratterizzati da un solo tag. <?xml version= 1.0 encoding= UTF-8?> <DOCUMENTO> <CORPO CONTENUTO= Vorrei salutare tutti /> </DOCUMENTO>

24 Creare documenti XML ben formati - attributi Analogamente ad HTML in XML è possibile specificare con coppie nome-valore informazioni aggiuntive all interno di un tag di apertura o di un tag vuoto. Ad esempio: <?xml version= 1.0 encoding= UTF-8?> <DOCUMENTO> <CORPO IMPORTANZA= ALTA > Vorrei salutare tutti </CORPO> </DOCUMENTO> Si assegna il valore ALTA all attributo IMPORTANZA. I nomi degli attributi seguono le stesse regole per i nomi degli elementi. I valori degli attributi vanno racchiusi tra.

25 Creare documenti XML ben formati - attributi I valori degli attributi sono testo e quindi anche i processori XML li considerano come semplice testo; è compito del linguaggio di programmazione occuparsi della eventuale conversione per esempio in un formato numerico. Se per specificare un valore di un attributo si deve usare il carattere si può usare l entità " In genere si consiglia di non usare troppi attributi per i tag per non compromettere la leggibilità del documento. Si deve inoltre tenere conto che gli attributi non consentono di specificare la struttura del documento.

26 Documenti XML ben formati struttura logica Un documento XML ben formato deve: Avere una struttura logica formata da: Un prologo Un solo elemento radice (root) Eventuali altre informazioni opzionali Seguire determinate regole sintattiche Ogni entità deve essere ben formata

27 Documenti XML ben formati - struttura logica - prologo In generale il prologo può contenere dichiarazioni XML processing instruction DTD e commenti.

28 Documenti XML ben formati struttura logica - prologo: dichiarazione XML Un prologo deve contenere una dichiarazione del tipo: <?xml version= 1.0?> La dichiarazione <?xml?> indica che il documento è scritto in XML; il valore dell attributo version specifica la versione del documento e cioè 1.0. È possibile specificare un valore per l attributo opzionale encoding; esso specifica il character set usato.

29 Documenti XML ben formati struttura logica - prologo: processing Instruction Le processing instruction forniscono istruzioni al processore XML; tali istruzioni dipendono dal processore. Esistono istruzioni accettate comunemente come per esempio l istruzione per specificare un foglio di stile: <?xml version= 1.0 encoding= UTF 8?> <?xml stylesheet type= text/css href= saluti.css?> <DOCUMENTO> <TITOLO> Ciao Mondo!</TITOLO> <CORPO>Vorrei salutare tutti</corpo> </DOCUMENTO>

30 Documenti XML ben formati struttura logica - elemento radice E l elemento che contiene tutti gli altri. Nel documento <?xml version= 1.0 encoding= UTF 8?> <DOCUMENTO> </DOCUMENTO> la radice è l elemento DOCUMENTO. In ogni documento XML ben formato tutti gli elementi sono racchiusi dall elemento radice. L elemento radice è molto importante nei documenti XML soprattutto dal punto di vista della programmazione perché il parsing dei documenti parte appunto dall elemento radice.

31 Documenti XML ben formati strttura logica - parti opzionali La parte opzionale di un documento è rappresentata da commenti, processing instruction, spazi vuoti.

32 Documenti XML ben formati struttura logica - parti opzionali. I commenti I commenti in XML, analogamente a HTML, hanno la sintassi <!-- il commento va qua -- > I commenti non possono andare prima della dichiarazione XML e non possono essere inseriti all interno di un tag. È possibile usare i commenti per rimuovere intere parti di un documento, per esempio: <?xml version= 1.0 encoding= UTF 8?> <DOCUMENTO> <TITOLO> Ciao Mondo! </TITOLO> <! <CORPO> Vorrei salutare tutti </CORPO> > </DOCUMENTO>

33 Documenti XML ben formati regole sintattiche Affinchè un documento XML sia ben formato deve rispettare regole relative alla struttura del documento. Dichiarazione XML Elementi del documento Tag di apertura e tag di chiusura Tag per gli elementi vuoti Elemento radice Annidamento corretto degli elementi Nomi degli attributi Valori degli attributi Sezioni CDATA

34 Regole sintattiche - dichiarazione XML La prima regola relativa alla struttura di un documento XML dice che il documento deve iniziare con una dichiarazione

35 Regole sintattiche - elementi del documento Un documento XML ben formato include uno o più elementi. <?xml version= 1.0 encoding= UTF 8?> <DOCUMENTO> <! inizio del documento > <TITOLO> Ciao Mondo! </TITOLO> <CORPO> Vorrei salutare tutti </CORPO> </DOCUMENTO>

36 Regole sintattiche - tag di apertura e tag di chiusura In un documento XML ben formato ogni elemento non vuoto ha un tag di apertura e un tag di chiusura.

37 Regole sintattiche - tag per gli elementi vuoti Gli elementi vuoti non hanno un tag di chiusura e non racchiudono testo o altri markup. Hanno un solo tag che termina con />.

38 Regole sintattiche elemento radice In un documento XML ben formato l elemento radice contiene tutti gli altri elementi.

39 Regole sintattiche annidamento corretto degli elementi In un documento XML ben formato gli elementi devono essere annidati in maniera corretta; questo significa che se un elemento contiene un tag di apertura di un elemento non vuoto allora deve contenere anche il tag di chiusura di quel determinato elemento.

40 Regole sintattiche nomi degli attributi In un documento XML ben formato il nome di un attributo non può essere presente più di una volta all interno di uno stesso elemento. Il documento seguente non è ben formato: <?xml version= 1.0 encoding= UTF 8?> <DOCUMENTO> <CORPO IMPORTANZA= ALTA IMPORTANZA= MEDIA > Vorrei salutare tutti </CORPO> </DOCUMENTO>

41 Regole sintattiche valori degli attributi In un documento XML ben formato i valori degli attributi devono essere racchiusi da o da nel caso il valore contenga. Nel caso il valore contenga caratteri quali e è possibile usare le entità predefinite.

42 Regole sintattiche sezioni CDATA All interno di un elemento i caratteri < e & possono creare difficoltà in quanto indicano rispettivamente l inizio di un tag o di una entità. Anche se comunque è possibile usare le entità < e " nel caso in cui si debbano scrivere molti caratteri speciali conviene utilizzare le sezioni CDATA che consentono di definire sezioni di testo non sottoposte all analisi del parser.

43 Si definisce l elemento MARKUP che contiene testo che si vuole venga mantenuto e che non venga sottoposto a parsing. Regole sintattiche sezioni CDATA La sezione CDATA inizia con <![CDATA[ e termina con ]]>. Nell esempio seguente si usano sezioni CDATA: <?xml version= 1.0 encoding= UTF 8?> <DOCUMENTO> <MARKUP> <![CDATA[ <CORPO>Vorrei salutare tutti</corpo> ]]> </MARKUP> </DOCUMENTO>

44 Documenti XML ben formati - entità ben formate Un entità è una parte di un documento che può contenere testo o dati binari (non contemporaneamente). Un entità indica una unità di memorizzazione in un documento XML. Poiché un entità può fare riferimento per esempio a file esterni al documento occorre, affinchè il documento sia ben formato, che anche l entità stessa sia ben formata.

45 Documenti XML validi definizione di una DTD Lo scopo di questa sezione è quello di fornire le nozioni che consentono di scrivere una Document Type Definition e scrivere un documento XML conforme a tale DTD. Al termine di questa lezione si dovrebbe essere in grado di: Definire un elemento Definire una entità Definire un attributo Definire una DTD e scrivere un documento conforme a tale DTD

46 Documenti XML validi DTD e Schema Un documento XML è valido se esiste una document type definition (DTD) o un XML schema associato ad essa ed il documento è conforme alla DTD o allo schema. La DTD definisce la struttura e la sintassi di un documento XML.

47 Creare una Document Type Declaration Per inserire una DTD in un documento XML occorre dichiarare la definizione di tale DTD. Per dichiarare una DTD si usa l elemento <!DOCTYPE> che assume diverse forme a seconda che si faccia riferimento a una DTD interna o esterna: <!DOCTYPE nomeelementoradice [DTD]> <!DOCTYPE nomeelementoradice SYSTEM URL> <!DOCTYPE nomeelementoradice SYSTEM URL [DTD]> <!DOCTYPE nomeelementoradice PUBLIC identificatore URL> <!DOCTYPE nomeelementoradice PUBLIC ident. URL [DTD]>

48 Dichiarazione di una DTD interna Aggiungendo la dichiarazione di una DTD interna al documento si ottiene: <?xml version= 1.0 encoding= UTF 8?> <!DOCTYPE DOCUMENTO [ ]> <DOCUMENTO> </DOCUMENTO>

49 Creare una DTD interna Per creare una DTD interna al documento si usa la forma: <!DOCTYPE nomeelementoradice [DTD]>

50 Creare una DTD interna - esempio Quindi volessimo definire una DTD per gestire documenti relativi alle informazioni di clienti potremmo avere, per esempio: <?xml version= 1.0 standalone= yes?> <!DOCTYPE DOCUMENTO [ <!ELEMENT DOCUMENTO (CLIENTE)*> <!ELEMENT CLIENTE (NOME, DATA, ORDINI)> <!ELEMENT NOME (#PCDATA)> <!ELEMENT DATA (#PCDATA)> <!ELEMENT ORDINI (OGGETTO)*> <!ELEMENT OGGETTO (PRODOTTO,QUANTITA, PREZZO)> <!ELEMENT PRODOTTO (#PCDATA)> <!ELEMENT QUANTITA (#PCDATA)> <!ELEMENT PREZZO (#PCDATA)> ]> <DOCUMENTO> <CLIENTE> </CLIENTE> </DOCUMENTO>

51 Definizione di una DTD La scrittura di una DTD prevede la definizione degli elementi e la sintassi con cui tali elementi sono strutturati. I paragrafi successivi definiscono: Dichiararazione un elemento Lista di elementi figli Contenuto testuale Sequenze di elementi Scelte Modello misto Elementi vuoti Commenti

52 Definizione di una DTD dichiarazione di un elemento Un elemento si definisce con la sintassi: <!ELEMENT NOME MODELLO DEL CONTENUTO> dove NOME è il nome dell elemento e MODELLO DEL CONTENUTO può essere: EMPTY ANY altri elementi figli testo (PCDATA) contenuto misto Nota: L ordine con cui vengono dichiarati gli elementi non è importante

53 Definizione di una DTD dichiarazione di un elemento Esempi: <!ELEMENT HR EMPTY> <!ELEMENT DOCUMENTO ANY> <!ELEMENT CAPITOLO (INTRODUZIONE, (PARAGRAFO NOTA)*)>

54 Definizione di una DTD lista di elementi figli E possibile dichiarare che un elemento contiene altri elementi usando il nome dell elemento figlio : <!ELEMENT DOCUMENTO (CLIENTE)*> Per dichiarare un elemento che può contenere dei figli esistono diverse possibilità: e+ indica una o più occorrenze di e e* indica zero o più occorrenze di e e? indica una occorrenza di e o niente e,f indica una occorrenza di e seguita da una occorrenza di f e f indica una occorrenza di e o una occorrenza di f ma non entrambe (espressione) indica che espressione è considerata una unità, che può quindi avere gli operatori +, *,?. Nota: Nella DTD non è possibile specificare un determinato numero di occorrenze di un elemento

55 Definizione di una DTD #PCDATA Tutto il testo che non è markup è definito come parser character data; nella definizione di un elemento in una DTD si usa l abbreviazione #PCDATA. I parser character data memorizzano il contenuto del documento e sono il solo modo di specificare il contenuto di un documento XML e non consentono di specificare in nessun modo il tipo di dati (è solo testo). <!ELEMENT NOME (#PCDATA)>

56 Definizione di una DTD sequenze Una sequenza è una lista di elementi separati da virgole che indica al processore XML quali figli un elemento deve avere e in quale ordine tali figli devono apparire. <!ELEMENT CLIENTE (NOME, DATA, ORDINI)> All interno delle sequenze è possibile utilizzare gli operatori?, +, *, per esempio: <!ELEMENT CLIENTE (NOME+, DATA?, ORDINE*)> All interno delle sequenze è possibile definire delle sottosequenze utilizzando le parentesi e utilizzare con tali sotto-sequenze gli operatori?, +, *. Per esempio è possibile definire la sotto-sequenza (NOME,COGNOME): <!ELEMENT CLIENTE ((NOME,COGNOME)+, DATA?, ORDINE*))>

57 Definizione di una DTD esempio Un documento conforme alla DTD: <?xml version= 1.0 standalone= yes?> <!DOCTYPE DOCUMENTO [ <!ELEMENT DOCUMENTO (CLIENTE)*> <!ELEMENT CLIENTE (NOME, DATA, ORDINI)> <!ELEMENT NOME (#PCDATA)> <!ELEMENT DATA (#PCDATA)> <!ELEMENT ORDINI (OGGETTO)*> <!ELEMENT OGGETTO (PRODOTTO,QUANTITA, PREZZO)> <!ELEMENT PRODOTTO (#PCDATA)> <!ELEMENT QUANTITA (#PCDATA)> <!ELEMENT PREZZO (#PCDATA)> ]>...

58 Definizione di una DTD esempio <DOCUMENTO> <CLIENTE> <NOME>Mario Rossi</NOME> <DATA>16 MAGGIO 2001</DATA> <ORDINI> <OGGETTO> <PRODOTTO>Lettore CDROM</PRODOTTO> <QUANTITA>1</QUANTITA> <PREZZO> </PREZZO> </OGGETTO> <OGGETTO> <PRODOTTO>Floppy Disk</PRODOTTO> <QUANTITA>10</QUANTITA> <PREZZO>10.000</PREZZO> </OGGETTO> </ORDINI> </CLIENTE> <CLIENTE> <NOME>Vittorio Verdi</NOME> <DATA>17 MAGGIO 2001</DATA> <ORDINI> <OGGETTO> <PRODOTTO>Mouse cordless</prodotto> <QUANTITA>2</QUANTITA> <PREZZO> </PREZZO> </OGGETTO> </ORDINI> </CLIENTE> </DOCUMENTO>

59 Definizione di una DTD scelte Oltre alle sequenze è possibile utilizzare le scelte (choice) nelle DTD. Le scelte consentono di specificare che uno solo degli elementi può essere presente. Definendo una scelta con gli elementi a,b,c (a b c) significa che solo uno degli elementi può apparire. Con le scelte è possibile utilizzare gli operatori?, +, *. <!ELEMENT RELAZIONE (INTRODUZIONE, (PARAGRAFO+ CITAZIONE))>

60 Definizione di una DTD modello misto Come visto in precedenza un elemento può contenere testo e altri elementi. E possibile definire un elemento che può contenere sia PCDATA che altri elementi. Per esempio: <!ELEMENT PRODOTTO (#PCDATA INFOPRODOTTO)> Il modello misto è sconsigliato in quanto non consente l uso degli operatori?, +, * quindi è preferibile definire un elemento di tipo PCDATA e utilizzare tale elemento in un modello di contenuto standard.

61 Definizione di una DTD elementi vuoti e commenti Elementi vuoti Un elemento vuoto è un elemento che non può contenere PCDATA o altri elementi. Per dichiarare un elemento vuoto: <!ELEMENT ELVUOTO EMPTY> Nel documento XML si può utilizzare in maniera abbreviata nel seguente modo: <ELVUOTO /> Gli elementi vuoti possono avere attributi. Commenti <! commento >

62 Definire una DTD e un documento XML conforme alla DTD Java rappresenta il modo più diffuso di gestire documenti XML. Uno tra i più diffusi pacchetti per gestire XML con Java è XML Parser for Java (XML4J) di IBM alphaworks. Per eseguire l esercizio successivo si deve: Installare un interprete Java Impostare la variabile di ambiente CLASSPATH Definire una DTD che modella un libro e scrivere un documento XML valido rispetto a tale DTD.

63 Definire una DTD e un documento XML conforme alla DTD Per validare il documento XML si utilizzi la classe DOMWriter compresa nel file JAR xercessamples.jar. C:\>java classpath xerces.jar;xercessamples.jar dom.domwriter v libro.xml

64 Creare una DTD esterna In precedenza sono state trattata DTD interne al documento; lo svantaggio è che ogni documento XML incorpora la definizione della DTD. Per condividere la stessa DTD e non dover riscrivere la DTD per ogni documento è possibile creare e usare DTD esterne memorizzate in un file a parte. Esistono due modi per specificare una DTD esterna: come DTD esterne private come DTD esterne pubbliche

65 <!DOCTYPE NOME ELEMENTO RADICE SYSTEM URL > DTD esterne private Le DTD private si utilizzano per un utilizzo privato e non per una distribuzione pubblica. La sintassi è: <!DOCTYPE NOME ELEMENTO RADICE SYSTEM nomedtd.dtd > Il contenuto del file che contiene la DTD è la parte che nelle DTD interne è racchiuso da [ e ]. Se il file che definisce la DTD non è nella stessa cartella sullo stesso server del documento è possibile referenziare la DTD usando un URL (Uniform Resource Locator). La sintassi è:

66 DTD esterne pubbliche La sintassi di una DTD intesa per un uso pubblico è: <!DOCTYPE NOME ELEMENTO RADICE PUBLIC FPI URL> Dove per FPI (formal public identifier) esistono delle regole di sintassi: il primo campo indica il tipo di DTD. - indica DTD definiti di persona e + significa che si riferisce a standard particolari (per esempio ISO) il secondo campo indica il nome del gruppo o della persona che si occupa della definizione del DTD (per W3C il secondo campo vale W3C) il terzo campo indica il tipo di documento e tipicamente contiene anche il numero di versione della DTD il quarto campo indica il linguaggio usato dal DTD (per l italiano IT) I campi nel FPI devono essere separati da // DTD per HTML Strict <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "

67 Nota E possibile utilizzare contemporaneamente DTD interne e DTD esterne. Per le DTD private la sintassi è,: <!DOCTYPE NOME ELEMENTO RADICE SYSTEM URL [DTD]> Per le DTD pubbliche la sintassi è: <!DOCTYPE NOME ELEMENTO RADICE PUBLIC FPI URL [DTD]> È da notare che la differenza tra le due dichiarazioni è nell attributo SYSTEM e nell attributo PUBLIC.

68 Definizione di entità e attributi nella DTD Abbiamo visto in precedenza come definire DTD interne e DTD esterne. Esaminiamo ora come definire una sintassi più ricca con l uso di: Entità INCLUDE e IGNORE Attributi

69 Entità Un entità è un modo per realizzare un riferimento ad un oggetto dati. Le entità sono tipicamente testo ma possono essere anche dati binari. Le entità si dichiarano nella DTD e si utilizzano per riferimento. Si distingue tra: Entità generali Entità di parametro

70 Entità generali Le entità generali vengono utilizzate all interno dei documenti XML. Le entità possono essere: interne esterne Esistono cinque entità predefinite: &amp che corrisponde a & &gt che corrisponde a > &lt che corrisponde a < &apos che corrisponde a &quot che corrisponde a

71 Entità generali E possibile definire entità per singoli caratteri e per farlo occorre specificare il codice carattere in accordo con il tipo di codifica che si sta utilizzando. Per esempio se volessimo definire un entità per il carattere > con la codifica UTF-8 basterebbe: <!ENTITY NUOVOGT > > Dove # indica che il valore è in esadecimale.

72 Entità generali interne La sintassi è: <!ENTITY NOME DEFINIZIONE> Per esempio <!ENTITY SALUTO Salve a tutti. > Nel documento XML si fa riferimento all entità con la sintassi &NOMEENTITA;

73 Entità generali interne Per esempio, all interno di un documento XML: <PARAGRAFO> &SALUTO; Sono lieto di incontrarvi ancora. </PARAGRAFO> E possibile definire le entità in modo annidato per esempio: <!ENTITY SALUTO Salve a tutti. > <!ENTITY INTRODUZIONE &SALUTO; Vorrei ringraziarvi per la presenza >

74 Entità generali esterne Con le entità generali esterne è possibile inserire entità esterne al documento e includerle nel documento stesso. Le entità esterne possono essere testo ma anche interi documenti. Si distingue, analogamente a questo visto per le DTD, tra entità generali esterne private e pubbliche. La sintassi è: <!ENTITY NOME SYSTEM URI> <!ENTITY NOME PUBLIC FPI URI>

75 Entità generali esterne - esempio Supponiamo di avere memorizzato la data 16 Maggio 2001 in un file chiamato data.xml. Per definire un entità collegato a tale file: <!ENTITY OGGI SYSTEM data.xml > Con questo meccanismo è possibile creare documenti costituiti da pezzi e ogni pezzo è a sua volta un documento.

76 Entità di parametro Le entità di parametro consentono la definizione di entità utilizzabili nelle dichiarazioni all interno della DTD. Si distingue tra: entità di parametro interne entità di parametro esterne

77 Entità di parametro interne La sintassi per la definizione di una entità di parametro interna è: <!ENTITY % NOME DEFINIZIONE> Esempio:... <!DOCTYPE DOCUMENTO [... <!ELEMENT % info (NOME, DATA, ORDINI) > <!ELEMENT CLIENTE %info;>... ]> In realtà le entità di parametro interne non sono molto usate perché non è possibile utilizzarle all interno di altre dichiarazioni all interno della DTD. Prima di utilizzare una entità occorre definirla!

78 Entità di parametro esterne Con le entità di parametro esterne è possibile creare riferimenti a tali entità ovunque nella DTD. Si distingue, analogamente a questo visto per le entità generali, tra entità di parametro esterne private e entità di parametro esterne pubbliche. La sintassi è: <!ENTITY % name SYSTEM "URI"> %name; <!ENTITY % name PUBLIC "public_id" "URI"> %name;

79 INCLUDE e IGNORE Le direttive INCLUDE e IGNORE sono usate spesso con entità di parametro. La sintassi è: <![INCLUDE [sezione DTD]]> <![IGNORE [sezione DTD]]> L uso delle direttive INCLUDE e IGNORE consente di creare delle DTD parametrizzate in cui è possibile includere o ignorare sezioni della DTD stessa.

80 INCLUDE e IGNORE Ad esempio parte di una DTD potrebbe essere: <!ENTITY % flag INCLUDE > <![ %flag; [ sezione da includere ]]> In questo modo assegnando semplicemente il valore IGNORE all entità di parametro si esclude la sezione; con questo meccanismo è quindi possibile creare delle DTD modulari.

81 Attributi Gli attributi sono coppie del tipo nome-valore utilizzabili nei tag di apertura o nei tag vuoti. La dichiarazione degli attributi avviene nella DTD. La sintassi per la dichiarazione di un attributo è: <!ATTLIST NOME ELEMENTO NOME ATTRIBUTO TIPO VALORE DI DEFAULT NOME ATTRIBUTO TIPO VALORE DI DEFAULT NOME ATTRIBUTO TIPO VALORE DI DEFAULT > dove NOME-ELEMENTO è il nome dell elemento di cui si devono dichiarare gli attributi, NOME- ATTRIBUTO è il nome dell attributo che si intende definire e TIPO è il tipo dell attributo.

82 Attributi - esempio <!ATTLIST CLIENTE TIPO CDATA #IMPLIED> <DOCUMENTO> <CLIENTE TIPO= OTTIMO > <CLIENTE> CDATA indica che l attributo è di tipo testo e #IMPLIED indica che non c è un valore di default e che l attributo non è obbligatorio.

83 Tipi degli attributi I tipo degli attributi può essere: CDATA Enumerated NMTOKEN NMTOKENS ID IDREF ENTITY ENTITIES NOTATION

84 Tipi degli attributi CDATA ed Enumerated CDATA Indica che il tipo dell attributo è testo (Character Data). E il tipo più semplice. Enumerated Il tipo Enumerated non utilizza una parola chiave come gli altri tipi ma fornisce una lista di possibili valori. Ad esempio: <!ATTLIST CLIENTE AFFIDABILE (VERO FALSO) VERO >

85 Tipi degli attributi NMTOKEN ed NMTOKENS NMTOKEN Il tipo NMTOKEN indica che il valore dell attributo segue le regole dei nomi XML e quindi deve iniziare con una lettera o un _ ; i caratteri successivi possono essere lettere, numeri, _, punti, - ; in particolare i valori di tipo NMTOKEN non possono avere spazi e questo significa che sono formati da una sola parola. Ad esempio: <!ATTLIST CLIENTE AFFIDABILITA NMTOKEN #IMPLIED >

86 Tipi degli attributi NMTOKEN ed NMTOKENS NMTOKENS Il tipo NMTOKENS indica che il valore dell attributo è formato di NMTOKEN separati da spazi. Ad esempio: <!ATTLIST A b NMTOKENS #IMPLIED>

87 Tipi degli attributi ID e IDREF Il tipo ID indica che il valore dell attributo è un identificativo univoco che segue le regole dei nomi XML. L analizzatore XML controlla che non ci siano due elementi con lo stesso valore dell attributo di tipo ID (indipendentemente dal nome dell attributo e dell elemento ai cui appartiene l attributo). E da notare che per ogni elemento è possibile assegnare solo un attributo di tipo ID.

88 Tipi degli attributi ID e IDREF Il tipo IDREF consente la definizione di relazioni tra elementi, in particolare i valori di tipo IDREF di un attributo contengono il valore di tipo ID dell attributo di un altro elemento.

89 Tipi degli attributi ID e IDREF Esempio <!ATTLIST CLIENTE CODICE ID #REQUIRED CAPO IDREF #IMPLIED> <DOCUMENTO> <CLIENTE CODICE= W3451 > <CLIENTE> <CLIENTE CODICE= W3452 CAPO= W3451 > <CLIENTE> Un analizzatore XML può trasmettere la struttura basata su ID e IDREF ad una applicazione sottostante per ricostruire la relazione tra gli elementi.

90 Tipi degli attributi ENTITY, ENTITIES e NOTATION ENTITY Il tipo ENTITY indica che il valore dell attributo può assumere il nome di una entità precedentemente definita. ENTITIES Il tipo ENTITIES indica che il valore dell attributo è formato da ENTITY separati da spazi. NOTATION Il tipo NOTATION è utilizzato per indicare un formato dati non XML.

91 Impostazione dei valori di default nella definizione degli attributi Il valore di default può essere: Un valore testuale racchiuso da #IMPLIED #REQUIRED #FIXED valore Valore testuale Viene utilizzato per impostare un valore direttamente nella dichiarazione dell attributo. # REQUIRED L impostazione #REQUIRED indica che non viene specificato un valore di default ma che un valore per l attributo è obbligatorio.

92 Impostazione dei valori di default nella definizione degli attributi # IMPLIED L impostazione #IMPLIED indica che non viene specificato un valore di default e che l uso dell attributo non è obbligatorio ma comunque possibile. #FIXED valore L impostazione #FIXED valore viene utilizzata per fare in modo che il valore dell attributo abbia un valore costante.

93 XML e CSS (Cascading Style Sheets ) A differenza di HTML, che è un linguaggio di markup specifico per strutturare e presentare documenti, XML è più generale e non ha una semantica di presentazione. Analogamente a quanto avviene con SGML non è previsto alcun meccanismo predefinito per visualizzare i vari elementi di un documento. Ad esempio, un documento XML visualizzato in un browser appare generalmente così com'è, al massimo con una colorazione e una indentazione dei tag impostata dal browser.

94 XML e CSS (Cascading Style Sheets ) Un metodo per gestire la presentazione del contenuto di un documento XML consiste nell'utilizzare i Cascading Style Sheets (CSS). È possibile utilizzare i CSS in modo analogo a come si utilizzano con HTML. Per ciascun elemento del documento XML che vogliamo formattare occorre definire una regola.

95 Associare un foglio di stile ad un documento XML Per applicare un foglio di stile al documento XML si utilizza la processing instruction: <?xml stylesheet type=text/css href= fogliodistile.css?>

96 Esempio: documento XML <?xml version="1.0" encoding="utf 8"?> <?xml stylesheet type="text/css" href="clienticss.css"?> <DOCUMENTO> <CLIENTE> <NOME>Mario Rossi</NOME> <DATA>16 MAGGIO 2006</DATA> <ORDINI> <OGGETTO> <PRODOTTO>Lettore CDROM</PRODOTTO> <QUANTITA>1</QUANTITA> <PREZZO> </PREZZO> </OGGETTO> <OGGETTO> <PRODOTTO>Floppy Disk</PRODOTTO> <QUANTITA>10</QUANTITA> <PREZZO>10.000</PREZZO> </OGGETTO> </ORDINI> </CLIENTE>...

97 Esempio: documento XML... <CLIENTE> <NOME>Vittorio Verdi</NOME> <DATA>17 MAGGIO 2006</DATA> <ORDINI> <OGGETTO> <PRODOTTO>Mouse cordless</prodotto> <QUANTITA>2</QUANTITA> <PREZZO> </PREZZO> </OGGETTO> </ORDINI> </CLIENTE> </DOCUMENTO>

98 Esempio: foglio di stile DOCUMENTO { font family:verdana,arial,sans serif; font size:medium; } NOME { } display:block; font size:large; font weight:bold; border width:1pt; border style:solid; width:450px; text transform:uppercase; background color:#808080; color:#ffffff; text align:center;

99 Esempio: DATA { foglio di stile display:block; text transform:lowercase; position:relative; left:50px; border width:1pt; border style:solid; color:#000000; background color:gray; width:150px; } OGGETTO { display:block; position:relative; width:250px; left:50px; border width:1pt; border style:solid; } PRODOTTO { width:150px; background color:#ff8c00; color:#000000; }

100 Esempio: foglio di stile QUANTITA { font weight:bold; width:50px; text align:right; } PREZZO { text align:right; color:white; background color:black; }

101 Il documento XML senza CSS

102 Il documento XML con CSS

103 Gli RSS (Really Simple Syndication) L'RSS rappresenta un formato studiato per la diffusione di contenuti sul web da parte di portali e siti internet. E' generalmente indicato per siti con aggiornamenti frequenti e regolari o per qualsiasi fonte che desideri diffondere in modo capillare ed immediato le proprie informazioni. Per la distribuzione dei contenuti è necessario realizzare un apposito file XML contenente le informazioni relative ai rispettivi aggiornamenti. Questo file prende il nome di feed o eventualmente newsfeed, proprio per la sua caratteristica di fornitore di notizie. Nota: to Syndicate, indica l'azione di un sito di mettere a disposizione sezioni o interi contenuti attraverso feed.

104 RSS - introduzione Con gli RSS è possibile controllare velocemente gli aggiornamenti di un sito Gli RSS rappresentano un ulteriore modo di diffusione di contenuti oltre all' , PDF, fax, ecc. Con gli RSS è possibile definire dei canali informativi del proprio sito Poichè i dati di un feed sono piccoli è possibile veicolarli in dispositivi particolari come ad esempio cellulari e PDA. Per accedere ai feed serve un apposito programma detto RSS aggregator RSS è un'applicazione di XML 1.0 quindi un documento RSS deve essere ben formato

105 RSS le versioni RSS esiste in differenti versioni RSS 0.90 (Netscape 1999), RSS 0.91, RSS 0.92 RSS 1.0 (Netscape RDF + namespace): Le specifiche 1.0 rappresentano il primo vero e proprio standard sia come diffusione sia come maturità della struttura. L'unico concorrente in grado di fronteggiarlo (e secondo recenti studi sconfiggerlo) è l'rss 2.0. RSS 2.0: Secondo il risultato di diverse ricerche (non solo sui motori), il 2.0 è attualmente il formato RSS più diffuso. La semplicità, unita all'elasticità della sintassi, ha certamente contribuito al raggiungimento di questo obiettivo.

106 Una parentesi su RDF (Resource Description Framework) RDF è un framework per descrivere risorse sul Web RDF (Resource Description Framework) è lo strumento proposto dal W3C per descrivere i metadati relativi ad una risorsa, mettendo a disposizione un linguaggio per esprimere la semantica di una risorsa.

107 Una parentesi su RDF (Resource Description Framework) Definendo una sintassi ed una struttura per rappresentare i Metadati abbiamo a disposizione un modo per descrivere le informazioni, relative ad una risorsa sul Web, che possono essere comprese da una macchina. Si potrebbero sviluppare motori di ricerca più efficienti in grado di basare la loro ricerca non solo sull'occorrenza di una determinata parola all'interno di un documento ma anche in base alla caratterizzazione semantica del documento stesso; oppure si potrebbe realizzare un agente software per il filtraggio dei contenuti di una risorsa in funzione di determinati criteri impostati dall'utente.

108 RSS quale formato (versione) usare Non c'e' uno standard ufficiale per gli RSS. La tendenza attuale è quella di usare la versione 2.0 che è più semplice della 1.0 che invece usa RDF.

109 RSS esempio sito con feed RSS Dal sito dell'ansa (

110 RSS esempio visualizzazione dell' XML Se apro un file RSS con il browser

111 RSS uso di un aggregator (Sage)

112 <item> <title> Pina Martini Salvi espone</title> <link> venti.nsf/rssall/6aa59d057b6a5191c e2188? opendocument</link> <description>dal 03/03/2006 al 19/03/2006</description> </item> </channel> </rss> RSS - sintassi Un esempio di un documento RSS: <?xml version="1.0" encoding="iso "?> <rss version="2.0"> <channel> <title>l@retina > Eventi</title> <link> <description>gli Eventi del Comune di Arezzo</description>

113 RSS - sintassi La prima linea del documento la dichiarazione XML definisce la versione XML e il character encoding. In questo caso la specifica 1.0 di XML e ISO (Latin- 1/West European) character set. (si veda g) La seconda riga indica l'elemento RSS del documento che equivale a dire Questo è un documento RSS versione 2.0 La terza riga definisce l'elemento <channel>

114 RSS - sintassi Successivamente vengono definiti 3 elementi figli di <channel> e cioè <title>, <link> e <description> Segue poi un elemento <item>. L'elemento <item> contiene l'informazione che si vuole mostrare E' possibile avere piuù <item> Gli ultimi tag (</channel> e </rss>) chiudono i tag aperti all'inizio del documento.

115 RSS - sintassi Poichè RSS è XML occorre ricordare che: tutti gli elementi devono avere il tag di chiusura i tag sono case-sensitive gli elementi devono essere opportunamente annidati i valori degli attributi devono usare Commenti nei RSS <! This is a comment >

116 RSS sintassi <channel> All'interno di <channel> gli elementti <title>, <link> e <description> sono obbligatori. Elementi opzionali: <category> Defines one or more categories the channel belongs to <cloud> Allows notification of updates. <copyright> Notifies about copyrighted material <docs> An URL to documentation on the RSS version the channel is using <generator> If the channel is created using an automatic generator, this is defined here <image> Inserts a picture to the channel. <language> Describes what language the channel uses. By using this tag it is possible for RSS aggregators to group sites based on language....

117 RSS sintassi <channel>... <lastbuilddate> Defines the last date the channel was modified <managingeditor> Defines an address for the editor of the site <pubdate> Defines the last publication date for the channel <rating> Parental control rating of the page <skipdays> Defines days where it is unnecessary for RSS aggregators to update the feed <skiphours> Defines hours where it is unnecessary for RSS aggregators to update the feed <textinput> Creates a text input for the channel <ttl> (ttl = time to live) Defines how many minutes the channel can stay cached before refreshing <webmaster> Defines an address for the webmaster of the site

118 RSS sintassi - <item> <title> o <description> sono obbligatori Elementi opzionali: <author> Defines the author of the item. <category> Places the item in one or more of the channel categories. <comments> An URL to a comment's page for the item. <enclosure> Describes a media object related to the item <guid> GUID = Globally Unique Identifier. Defines a unique identifier to the item. <pubdate> The publication date for the item. <source> Is used to define a third party source.

119 RSS altro esempio

120 RSS il risultato

121 RSS validazione dei feed This is a validator for syndicated feeds. It works with RSS 0.90, 0.91, 0.92, 0.93, 0.94, 1.0, 1.1, and 2.0. It also validates Atom feeds.

122 RSS aggregator Sage plug-in FireFox/ThunderBird (RSS (2.0, 1.0, 0.9x) e Atom feeds) Akregator Linux Feedreader Windows Sharpreader Windows Urss plug-in Mozilla Straw Linux Netnewswire Lite Mac OS X

123 Alternative a RSS: Atom Atom is the name of an XML-based Web content and metadata syndication format, and an application-level protocol for publishing and editing Web resources belonging to periodically updated websites. The Atom Syndication Format is produced by the IETF AtomPub Working Group Atom è una alternativa più recente agli RSS e utilizza una diversa sintassi rispetto a RSS Nota: IETF (Internet Engineering Task Force) è una grande Comunità internazionale aperta ai progettisti di reti, agli operatori, ai fornitori e ai ricercatori interessati allo sviluppo dell'architettura di Internet e al regolare funzionamento di Internet. È aperto a tutte le persone interessate.

124 XHTML (Extensible HyperText Markup Language) XHTML è la riformulazione di HTML come applicazione XML. Ciò significa essenzialmente una cosa: un documento XHTML deve essere valido e ben formato.

125 What is XHTML? The Extensible HyperText Markup Language (XHTML ) is a family of current and future document types and modules that reproduce, subset, and extend HTML, reformulated in XML. XHTML Family document types are all XMLbased, and ultimately are designed to work in conjunction with XML-based user agents. XHTML is the successor of HTML, and a series of specifications has been developed for XHTML.

126 Why the need for XHTML? The benefits of migrating to XHTML 1.0 are described above. Some of the benefits of migrating to XHTML in general are: Document developers and user agent designers are constantly discovering new ways to express their ideas through new markup. In XML, it is relatively easy to introduce new elements or additional element attributes. The XHTML family is designed to accommodate these extensions through XHTML modules and techniques for developing new XHTML-conforming modules (described in the XHTML Modularization specification). These modules will permit the combination of existing and new feature sets when developing content and when designing new user agents....

127 Why the need for XHTML?.. Alternate ways of accessing the Internet are constantly being introduced. The XHTML family is designed with general user agent interoperability in mind. Through a new user agent and document profiling mechanism, servers, proxies, and user agents will be able to perform best effort content transformation. Ultimately, it will be possible to develop XHTML-conforming content that is usable by any XHTML-conforming user agent.

128 Differences with HTML 4 Due to the fact that XHTML is an XML application, certain practices that were perfectly legal in SGML-based HTML 4 must be changed.

129 Differences with HTML 4 - Documents must be well-formed Well-formedness is a new concept introduced by XML. Essentially this means that all elements must either have closing tags or be written in a special form (as described below), and that all the elements must nest properly. Although overlapping is illegal in SGML, it is widely tolerated in existing browsers. CORRECT: nested elements. <p>here is an emphasized <em>paragraph</em>.</p> INCORRECT: overlapping elements <p>here is an emphasized <em>paragraph.</p></em>

130 Differences with HTML 4 - Element and attribute names must be in lower case XHTML documents must use lower case for all HTML element and attribute names. This difference is necessary because XML is casesensitive e.g. <li> and <LI> are different tags.

131 Differences with HTML 4 - For non-empty elements, end tags are required In SGML-based HTML 4 certain elements were permitted to omit the end tag; with the elements that followed implying closure. XML does not allow end tags to be omitted. All elements other than those declared in the DTD as EMPTY must have an end tag. Elements that are declared in the DTD as EMPTY can have an end tag or can use empty element shorthand. CORRECT: terminated elements <p>here is a paragraph.</p><p>here is another paragraph.</p> INCORRECT: unterminated elements <p>here is a paragraph.<p>here is another paragraph.

132 Differences with HTML 4 - Attribute values must always be quoted All attribute values must be quoted, even those which appear to be numeric. CORRECT: quoted attribute values <td rowspan="3"> INCORRECT: unquoted attribute values <td rowspan=3>

133 Differences with HTML 4 - Attribute Minimization XML does not support attribute minimization. Attribute-value pairs must be written in full. Attribute names such as compact and checked cannot occur in elements without their value being specified. CORRECT: unminimized attributes <dl compact="compact"> INCORRECT: minimized attributes <dl compact>

134 Differences with HTML 4 - Empty Elements Empty elements must either have an end tag or the start tag must end with />. For instance, <br/> or <hr></hr>. See HTML Compatibility Guidelines for information on ways to ensure this is backward compatible with HTML 4 user agents. CORRECT: terminated empty elements <br/><hr/> INCORRECT: unterminated empty elements <br><hr>

135 An alternative is to use external script and style documents. Differences with HTML 4 - Script and Style elements In XHTML, the script and style elements are declared as having #PCDATA content. As a result, < and & will be treated as the start of markup, and entities such as < and & will be recognized as entity references by the XML processor to < and & respectively. Wrapping the content of the script or style element within a CDATA marked section avoids the expansion of these entities. <script type="text/javascript"> <![CDATA[... unescaped script content... ]]> </script>

136 Differences with HTML 4 - SGML exclusions SGML gives the writer of a DTD the ability to exclude specific elements from being contained within an element. Such prohibitions (called "exclusions") are not possible in XML. For example, the HTML 4 Strict DTD forbids the nesting of an 'a' element within another 'a' element to any descendant depth. It is not possible to spell out such prohibitions in XML. Even though these prohibitions cannot be defined in the DTD, certain elements should not be nested.

137 Differences with HTML 4 - The elements with 'id' and 'name' attributes HTML 4 defined the name attribute for the elements a, applet, form, frame, iframe, img, and map. HTML 4 also introduced the id attribute. Both of these attributes are designed to be used as fragment identifiers. In XML, fragment identifiers are of type ID, and there can only be a single attribute of type ID per element. Therefore, in XHTML 1.0 the id attribute is defined to be of type ID. In order to ensure that XHTML 1.0 documents are well-structured XML documents, XHTML 1.0 documents MUST use the id attribute when defining fragment identifiers on the elements listed above. Note that in XHTML 1.0, the name attribute of these elements is formally deprecated, and will be removed in a subsequent version of XHTML.

138 Differences with HTML 4 - Attributes with pre-defined value sets HTML 4 and XHTML both have some attributes that have pre-defined and limited sets of values (e.g. the type attribute of the input element). In SGML and XML, these are called enumerated attributes. Under HTML 4, the interpretation of these values was case-insensitive, so a value of TEXT was equivalent to a value of text. Under XML, the interpretation of these values is case-sensitive, and in XHTML 1 all of these values are defined in lower-case.

139 XHTML - FAQ What are the advantages of using XHTML rather than HTML? If your document is just pure XHTML 1.0 (not including other markup languages) then you will not yet notice much difference. However as more and more XML tools become available, such as XSLT for tranforming documents, you will start noticing the advantages of using XHTML. If your document is more than XHTML 1.0, for instance including MathML, SMIL, or SVG, then the advantages are immediate: you can't do that sort of thing with HTML. MathML = Mathematical Markup Language (MathML) is an application of XML for describing mathematical notation and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web documents SMIL = The Synchronized Multimedia Integration Language (SMIL, pronounced "smile") enables simple authoring of interactive audiovisual presentations. SVG = Scalable Vector Graphics is a markup language for graphics proposed by the W3C that can support rich, graphical user interface for web and mobile applications.

extensible Markup Language

extensible Markup Language XML a.s. 2010-2011 extensible Markup Language XML è un meta-linguaggio per definire la struttura di documenti e dati non è un linguaggio di programmazione un documento XML è un file di testo che contiene

Dettagli

APPENDICE C extensible Markup Language

APPENDICE C extensible Markup Language APPENDICE C extensible Markup Language C.1 extensible Markup Language, concetti di base XML è un dialetto di SGML progettato per essere facilmente implementabile ed interoperabile con i suoi due predecessori

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

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

Tecniche Multimediali

Tecniche Multimediali Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare Edsger Dijkstra (The threats to computing science) Tecniche Multimediali Corso di Laurea in «Informatica»

Dettagli

/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML

/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML XML 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML XML è un linguaggio di marcatura proposto dal W3C XML definisce una sintassi generica per contrassegnare i dati di un documento elettronico con marcatori

Dettagli

XML: extensible Markup Language

XML: extensible Markup Language XML: extensible Markup Language Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Introduzione XML: extensible Markup

Dettagli

XML. XML è contemporaneamente: XML non è:

XML. XML è contemporaneamente: XML non è: XML XML è contemporaneamente: Linguaggio di annotazione (Markup) che permette di creare gruppi di marcatori (tag set) personalizzati (MathML, XHTML, chemicalml, ecc..) Formato standard per lo scambio dei

Dettagli

Linguaggi per il web oltre HTML: XML

Linguaggi per il web oltre HTML: XML Linguaggi per il web oltre HTML: XML Luca Console Con XML si arriva alla separazione completa tra il contenuto e gli aspetti concernenti la presentazione (visualizzazione). XML è in realtà un meta-formalismo

Dettagli

Tecnologie Web T Introduzione a XML

Tecnologie Web T Introduzione a XML Tecnologie Web T Introduzione a Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione elettronica: 2.01..pdf Versione elettronica: 2.01.-2p.pdf 1 Che cos è? : Extensible Markup Language:

Dettagli

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013 Corso di HTML Modulo L3 1-Concetti generali 1 Prerequisiti Browser Rete Internet Client e server 2 1 Introduzione In questa Unità introduciamo alcuni semplici elementi del linguaggio HTML, con il quale

Dettagli

Introduzione a XML. Language

Introduzione a XML. Language Introduzione a XML 1 Che cos è XML? XML: Extensible Markup Language anguage: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto digitale è uno strumento potente

Dettagli

a cura di Maria Finazzi

a cura di Maria Finazzi Esercitazioni di XML a cura di Maria Finazzi (11-19 gennaio 2007) e-mail: maria.finazzi@unipv.it pagine web: Il trattamento dell'informazione Testo a stampa: Come

Dettagli

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language:

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language: XML Parte VI - Introduzione e nozioni fondamentali di sintassi XML: cosa è XML: Extensible Markup Language: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto

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

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

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 Introduzione ad XML 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 XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

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

Creare documenti XML. La natura epistemologica della codifica. Perché comprare XML? La struttura gerarchica ordinata. Riassumendo le componenti Lez. 7 Creare documenti XML La codifica deve raggiungere 2 traguardi: Accessibilità tecnica Permanenza a lungo termine 05/03/12 Perché comprare XML La natura epistemologica della codifica HTML Descrive

Dettagli

XML: sintassi. Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1

XML: sintassi. Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1 XML: sintassi Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1 Cosa è XML 1 XML (Extensible Markup Language ) è un linguaggio di markup È stato progettato per lo scambio e la interusabilità di documenti

Dettagli

XML: La nascita del linguaggio

XML: La nascita del linguaggio XML: introduzione alla codifica dei testi Con la codifica dei testi si intende la rappresentazione dei testi stessi su un supporto digitale in un formato utilizzabile dall'elaboratore (Machine Readable

Dettagli

Comandi principali del linguaggio HTML (Hyper Text Markup Language)

Comandi principali del linguaggio HTML (Hyper Text Markup Language) Comandi principali del linguaggio HTML (Hyper Text Markup Language) Caratteristiche di HTML HTML è un linguaggio di formattazione (markup) di documenti ed è il linguaggio base per produrre documenti per

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Informatica per la comunicazione" - lezione 10 -

Informatica per la comunicazione - lezione 10 - Informatica per la comunicazione" - lezione 10 - Evoluzione del Web" Nell evoluzione del Web si distinguono oggi diverse fasi:" Web 1.0: la fase iniziale, dal 1991 ai primi anni del 2000" Web 2.0: dai

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

Creare un Ipertesto. www.vincenzocalabro.it 1

Creare un Ipertesto. www.vincenzocalabro.it 1 Creare un Ipertesto www.vincenzocalabro.it 1 Obiettivi Il corso si prefigge di fornire: Le nozioni tecniche di base per creare un Ipertesto I consigli utili per predisporre il layout dei documenti L illustrazione

Dettagli

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte I: elementi di base World Wide Web Si basa sul protocollo HTTP ed è la vera novità degli anni 90 Sviluppato presso il CERN di Ginevra è il più potente

Dettagli

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice Indice 4. XML Extensible Markup Language...2 4.1 Usi di XML...3 4.2 Caratteristiche di XML...3 4.3 Elementi...5 4.4 Attributi...5 4.4.1 Documento XML ben formato...6 4.5 Informazioni di controllo...6 4.5.1

Dettagli

HTML INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

HTML INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO HTML INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Introduzione 2 HTML è l'acronimo di Hypertext Markup Language ("Linguaggio di contrassegno per gli Ipertesti") e non è un linguaggio

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Modellazione e Gestione di Informazioni non Strutturate

Modellazione e Gestione di Informazioni non Strutturate Università della Calabria, Corso di Laurea Specialistica in Ingegneria Gestionale Progettazione di Sistemi Informativi Docente: Alfredo Cuzzocrea Modellazione e Gestione di Informazioni non Strutturate

Dettagli

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

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione HTML e Linguaggi Politecnico di Facoltà del Design Bovisa Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://home.dei.polimi.it/cugola Indice Il linguaggio del

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

XML e TEI: introduzione alla codifica dei testi letterari. La nascita del linguaggio. Il concetto di metalinguaggio di codifica SGML

XML e TEI: introduzione alla codifica dei testi letterari. La nascita del linguaggio. Il concetto di metalinguaggio di codifica SGML XML e TEI: introduzione alla codifica dei testi letterari Con la codifica dei testi si intende la rappresentazione dei testi stessi su un supporto digitale in un formato utilizzabile dall'elaboratore (Machine

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Prefazione. Piersalvo Ortu 1

Prefazione. Piersalvo Ortu 1 Prefazione Questa tesi ha come obiettivo principale descrivere in che modo i documenti XML possano essere utilizzati per essere visualizzati su diversi apparati, dai browser Web ai dispositivi cellulari,

Dettagli

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML Reti Linguaggio HTML 1 HTML = Hypertext Markup Language E il linguaggio usato per descrivere documenti ipertestuali Ipertesto = Testo + elementi di collegamento ad altri testi (link) Linguaggio di markup:

Dettagli

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

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE. Cos'è l'html HTML è una sigla che viene da una frase inglese che vuol dire: " Linguaggio di contrassegno di ipertesti" (Hyper Text Markup Language) L'Html non è un vero e proprio linguaggio di programmazione,

Dettagli

Manuali.net. Nevio Martini

Manuali.net. Nevio Martini Manuali.net Corso base per la gestione di Siti Web Nevio Martini 2009 Il Linguaggio HTML 1 parte Introduzione Internet è un fenomeno in continua espansione e non accenna a rallentare, anzi è in permanente

Dettagli

Introduzione a LyX. Creazione di un documento... 1608 Struttura e stile... 1610 Modelli di documento...1613 Automatismi... 1613 Riferimenti...

Introduzione a LyX. Creazione di un documento... 1608 Struttura e stile... 1610 Modelli di documento...1613 Automatismi... 1613 Riferimenti... Introduzione a LyX Creazione di un documento.............................. 1608 Struttura e stile......................................... 1610 Modelli di documento...................................1613

Dettagli

EUROPEAN COMPUTER DRIVING LICENCE WEB EDITING - Versione 2.0

EUROPEAN COMPUTER DRIVING LICENCE WEB EDITING - Versione 2.0 EUROPEAN COMPUTER DRIVING LICENCE WEB EDITING - Versione 2.0 Copyright 2010 The European Computer Driving Licence Foundation Ltd. Tutti I diritti riservati. Questa pubblicazione non può essere riprodotta

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

ma l XML va ben al di là dell HTML: serve per descrivere

ma l XML va ben al di là dell HTML: serve per descrivere Il metalinguaggio XML 1 Introduzione all'xml Il futuro dei linguaggi di markup: XML = EXtensible Markup Language è una versione semplificata dell SGML Nasce con l'intento di superare alcune limitazioni

Dettagli

XML Master di II livello "Sistemi informativi geografici per il monitoraggio e la gestione del territorio"

XML Master di II livello Sistemi informativi geografici per il monitoraggio e la gestione del territorio XML Master di II livello "Sistemi informativi geografici per il monitoraggio e la gestione del territorio" Claudio Rocchini claudio@rockini.name Istituto Geografico Militare 2013 Introduzione a XML extensible

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO 1 Installazione e requisiti per il corretto funzionamento del sito: L istallazione è possibile sui più diffusi sistemi operativi. Il pacchetto

Dettagli

REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ

REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ Pag. 1 di 13 REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ PUBBLICA AMMINISTRAZIONE Comune di Pella (NO) http://www.comune.pella.no.it/ DATA DELLA VALUTAZIONE 09/07/2008 AUTORE DELLA VALUTAZIONE Alessio Mantegna

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

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

XML. Concetti principali. Risultato possibile. Differenze tra XML e HTML Concetti principali Un documento XML contiente delle istruzioni particolari chiamate tag scritte in forma di coppia di parentesi (metalinguaggio con parentesi) Daniele Marini XML questa

Dettagli

HTML HyperText Markup Language:

HTML HyperText Markup Language: HTML HyperText Markup Language: Linguaggio utilizzato per creare pagine Web 421 Introduzione HTML è l'acronimo di HyperText Markup Language HTML e il linguaggio standard per descrivere e definire il contenuto

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

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Librerie digitali. Introduzione. Cos è una libreria digitale?

Librerie digitali. Introduzione. Cos è una libreria digitale? Librerie digitali Introduzione Cos è una libreria digitale? William Arms "An informal definition of a digital library is a managed collection of information, with associated services, where the information

Dettagli

Linguaggi per la descrizione dei documenti

Linguaggi per la descrizione dei documenti SGML (Standard General Markup Language) Linguaggi per la descrizione dei documenti SGML,HTML,XML Molteplicità di documenti di tipo diverso (es. web): articoli, cataloghi, rubriche, tabelle di dati etc..

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Dettagli

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

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)

Dettagli

Breve introduzione al Javadoc

Breve introduzione al Javadoc Premessa Javadoc è uno strumento che permette di documentare i sorgenti di un programma all interno dei sorgenti stessi. Anziché scrivere la documentazione di un programma in un file separato, il programmatore

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Modulo 8. Sviluppo di pagine e siti Creare pagine Web

Modulo 8. Sviluppo di pagine e siti Creare pagine Web Pagina 1 di 6 Sviluppo di pagine e siti Creare pagine Web HTML è l'acronimo di HyperText Markup Language; si tratta di un linguaggio utilizzato per la marcatura ipertestuale. A differenza dei comuni linguaggi

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato

Dettagli

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>... HTML HyperText Markup Language Struttura di un documento HTML Gli elementi essenziali di un documento HTML sono i seguenti TAG: ... ... ... Struttura di un documento

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

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2014 2015 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti DTD Creazione

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal Portale Materiali Grafiche Tamburini Documentazione utente italiano pag. 2 Grafiche Tamburini Materials Portal English user guide page 6 pag. 1 Introduzione Il Portale Materiali è il Sistema Web di Grafiche

Dettagli

Esercizi. Introduzione all HTML. Il WWW

Esercizi. Introduzione all HTML. Il WWW Politecnico di Milano Esercizi Introduzione all HTML Il WWW Il World Wide Web: una rete di pagine connesse tra loro e distribuite su diverse macchine Il server Web contiene le pagine Web da visualizzare

Dettagli

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page» Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti

Dettagli

HTML+XML= XHTML. Che cos è l XHTML

HTML+XML= XHTML. Che cos è l XHTML HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti Che cos è l XHTML Nel gennaio del 2000 il W3C ha rilasciato, anziché una nuova versione, una riformulazione dell HTML come applicazione

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

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

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Chi può riuscire a creare pagine HTML? La realizzazione di pagine web non eccessivamente sofisticate è alla portata di tutti, basta

Dettagli

Tecniche Multimediali

Tecniche Multimediali Un programma di computer fa quello che gli dici, non quello che vuoi. Legge di Greer (Leggi di Murphy applicate all informatica) Tecniche Multimediali Corso di Laurea in «Informatica» - aa 2010-2011 Prof.

Dettagli

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE ALLEGATO 4 SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE 37 Indice 1 2 3 INTRODUZIONE... STRUTTURA DELL INDICE DEL PACCHETTO DI ARCHIVIAZIONE... VOCABOLARIO... 38 1 INTRODUZIONE Il presente allegato

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri. Il Servizio World Wide Web () Corso di Informatica Generale (Roberto BASILI) Teramo, 20 Gennaio, 2000 Il World Wide Web Storia : obbiettivi : tecnologie Le Applicazioni Scenari Futuri La Storia (1990)

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 8 Il linguaggio XML extensible Markup Language XML è un linguaggio di

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci I motori di ricerca in internet: cosa sono e come funzionano Roberto Ricci, Servizio Sistema

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat

Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat www.dimi.uniud.it/burigat File HTML e tag Un file HTML non è nient'altro che un puro file di testo al cui interno sono presenti delle

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

PORTALE CLIENTI Manuale utente

PORTALE CLIENTI Manuale utente PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo

Dettagli

2.3 Cenni sui fogli di stile CSS per XML

2.3 Cenni sui fogli di stile CSS per XML Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata 2.3 Cenni sui fogli di stile CSS per XML Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

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

HTML 1. HyperText Markup Language

HTML 1. HyperText Markup Language HTML 1 HyperText Markup Language Introduzione ad HTML Documenti HTML Tag di markup Formattazione del testo Collegamenti ipertestuali Immagini Tabelle Form in linea (moduli) Tecnologie di Sviluppo per il

Dettagli

RSS. Si sente parlare, anzi si vedono spuntare sempre più spesso siti che offrono i cosiddetti feed RSS.

RSS. Si sente parlare, anzi si vedono spuntare sempre più spesso siti che offrono i cosiddetti feed RSS. Si sente parlare, anzi si vedono spuntare sempre più spesso siti che offrono i cosiddetti feed RSS. ANSA Il Sole 24 Ore CNN Beppe Grillo sono solo alcuni esempi. I CMS ed i blog più diffusi incorporano

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

HTML 6. I frame. Sintassi di base. I frame e DOCTYPE FRAME. ...head... <FRAMESET lista_attributi> <FRAME SRC= URL lista_attributi>

HTML 6. I frame. Sintassi di base. I frame e DOCTYPE FRAME. ...head... <FRAMESET lista_attributi> <FRAME SRC= URL lista_attributi> FRAME HTML 6 I frame Danno la possibilità di creare finestre multiple all'interno della finestra del browser Si riesce a suddividere la pagina in più sezioni indipendenti, ma che si possono influenzare

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza I riferimenti riguardano quanto indicato nelle Recommendation del World Wide Web Consortium (W3C) ed in particolare in quelle

Dettagli

Indice PARTE PRIMA L INIZIO 1

Indice PARTE PRIMA L INIZIO 1 Indice Introduzione XIII PARTE PRIMA L INIZIO 1 Capitolo 1 Esplorare il World Wide Web 3 1.1 Come funziona il World Wide Web 3 1.2 Browser Web 10 1.3 Server Web 14 1.4 Uniform Resource Locators 15 1.5

Dettagli