









Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una introduzione all'XML (Extensible Markup Language), un linguaggio di markup utilizzato per rappresentare documenti e dati strutturati su supporto digitale. Scoprirete come l'XML utilizza marcatori o tag per identificare elementi di un documento, come definire la struttura gerarchica di un documento XML e come separare dati dal loro formato. Il documento include esempi di tag e attributi, nonché una spiegazione su come definire la struttura di un documento XML utilizzando DTD (Document Type Definition).
Tipologia: Appunti
1 / 15
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










Da adesso tratteremo di un linguaggio che ha avuto fortuna grazie alle reti di calcolatori. Lavoreremo sul linguaggio XML. Importante è capire a cosa serve questo linguaggio, e perché l’esigenza di questo linguaggio? Il linguaggio XML (EXTENSIBLE MARKUP LANGUAGE) nasce da queste tre parole, già nel nome vi è in qualche modo scritto cosa è questo linguaggio ovvero UN LINGUAGGIO A MARCATORI : attraverso l’utilizzo di appositi marcatori o tag questo linguaggio permette di rappresentare documenti e dati strutturati su supporto digitale. In pratica attraverso il linguaggio XML si può descrivere in modo compiuto dei documenti ma anche artefatti digitali. E’ possibile andare a descrivere in dettaglio, in modo standardizzato e modulare, a descrivere documenti o artefatti di tipo digitale. XML è uno strumento potente, versatile per la creazione di documenti digitali da poter distribuire nella rete di calcolatori. Un'altra caratteristica che ne fa un linguaggio forte e diffuso è che abbina una sintassi rigorosa ad una sensibilità di fondo (si usa in modo facile per affrontare qualsiasi problema di descrizione dovessimo avere) L’XML è legato al WORLD WIBE WEB CONSORTIUM, questo linguaggio nasce dall’azione congiunta da questo WWWC detto anche W3C. Ha l’obbiettivo di creare un consorzio che lavora alla introduzione e standardizzazione di linguaggi, protocolli per il mondo delle reti con riferimento al web. Il web è uno dei servizi più utilizzati nel mondo delle reti ed è il servizio che ha cambiato molti aspetti sociali. (permette di tenerci in contatto) XML è un linguaggio che è una schematizzazione di un altro linguaggio + potente e + complesso che prende il nome di SGML. XML nasce da quest’altro linguaggio complesso, e nasce come obbiettivo di specializzarsi nell’obbiettivo del WORLD WIDE WEB. La ISO (che abbiamo incontrato anche nel modello protocollare ISO-OSI) lavora anche su questo linguaggio SGML che era uno dei linguaggi di punta per i siti web. SGML è un linguaggio potente ed è il padre anche di altri due linguaggi HTML e XML. HTML: è il linguaggio con cui vengono a scriversi le pagine web. STA COME ACRONIMO AIPERTEXT MARCAP LANGUEGE (linguaggio a marcatori per la produzione delle pagine web, degli iper testi) XML è un exstensible langueges. SGML (STANDARD GENERALIZED MARKUP LANGUAGE) è un potente linguaggio, molto flessibile però molto complesso nell’utilizzo, molto difficile nella creazione. DTD e STYLESHEET: difetti di questo linguaggio. XML è un linguaggio a marcatori: è composto da istruzioni che vengono chiamati “marcatori” in italiano, mentre in inglese “tag”. I marcatori sono quegli strumenti che ci permettono di definire la struttura e la forma di un documento. Ci permette anche di descrivere un artefatto digitale che non sia per forza un documento, ma anche un immagine. (quando tagghi una persona nell’immagine)
PROCESSO DI META DATAZIONE: I meta-data sono il processo di descrizione di dati con altri dati. OVVERO DATI SU DATI. (E’ LA DESCRIZIONE DI UN DATO) Quando descriviamo qualcosa stiamo utilizzando un processo di meta datazione. (all’interno dell’immagine c’è questo ecce cc, tipo una persona taggandola -marcatura- nell’immagine) ES. bottiglietta d’acqua con etichetta. Il linguaggio migliore per descrivere il meta-dato è XML. HASHTAG (riassunto di un contenuto) E’ un modo per arricchire con altri dati dei dati già presenti. Il linguaggio XML è un linguaggio a marcatori. Ogni coppia di marcatore identifica un elemento o un componente del documento. I marcatori vanno a caratterizzare, ad identificare degli elementi di un documento. QUESTO E’ IL LORO OBBIETTIVO. Quando diciamo documento, si parla di documento digitale o anche di una risorsa digitale. I marcatori sono inseriti all’interno del documento, il formato di riferimenti è il formato ASCI. (è uno standard unico per decodificare in bit tutti i caratteri tramite almeno 8 bit ovvero 1 byte) Talvolta possiamo anche utilizzare dei caratteri UNICOD (è un modo di decodificare i caratteri che utilizza più BIT (16 bit); lo adottiamo nel momento in cui non basta Asci per andare a definire il tutto)
Il documento xml è leggibile anche a noi esseri umani dunque chiaro ed intuibile. Tutto ciò che è racchiuso tra il simbolo di minore e maggiore prende il nome di marcatore Il marcatore inizia con minore, poi il nome del marcatore e poi maggiore. Termina sempre con slash e poi nome del marcatore. MARCATORE DI INIZIO testo del mio primo documento E’ IL CONTENUTO MARCATORE DI FINE All’interno ci sono le caratteristiche XML è un case sensitive, NEI NOMI DEI TAG distingue maiuscole e minuscole.
PA321 PP2305 22-10-2001 prezzo valuta= “Euro”> 245
ABBIAMO 5 ELEMENTI DI TAG, 4 sono i sotto elementi di PRENOTAZIONE. Il tag prezzo, accanto ad esso “valuta=”Euro” è l’ ATTRIBUTO DELL’ELEMENTO e va inserito solo nell’apertura.
Possono essere interpretate “come dobbiamo scrivere le informazioni all’interno dei documenti”. Devono esserci PER FORZA. Un po' diverso è che possano essere presenti o meno delle regole semantiche (che sono le regole che indicano COSA dobbiamo\possiamo scrivere nelle informazioni), la grammatica – sintattica è che ci dice COME DOBBIAMO SCRIVERE LE INFORMAZIONI. LE REGOLE SONO QUESTE:
E’ un documento strutturato in modo gerarchico ed è composto da ELEMENTI (definiti dai marcatori-tag) L’elemento è un componente logico del documento. A suo interno un elemento può contenere o altri elementi definiti SOTTO ELEMENTI o dei FRAMMENTI DI TESTO. Ad altri elementi possono essere associati ad attributi : informazioni descrittivi associate agli elementi e NON SONO OBBLIGATORIE. Può essere rappresentato come albero (struttura gerarchica), ovvero una radice con un insieme di rami che possono chiudersi con delle foglie. Il documento è un file di testo. La struttura del documento viene rappresentata mediante marcatori (markup). Gli attributi sono rappresentati come coppie di nomi-valori presenti all’interno del tag. (ES: valuta=”euro”) La radice è il tag che racchiude tutto il documento. Un documento può avere spazi campi ecc. ASPETTI SINTASSI GENERALE. In alcuni casi possiamo utilizzare anche dei caratteri speciali. (è un trucco in modo di andare a rappresentare <> in modo differente così da non sbagliare) Nomi di elementi sono case-sensetive: fa distinzione tra maiuscole e minuscole. ESISTE UNA CORRISPONDENZA DIRETTA TRA STRUTTURA FISICA E LOGICA. FRA QUELLA CHE è LA VISUALIZZAZIONE LOGICA DEL PROBLEMA E LA SUA RAPPRESENTAZIONE FISICA OVVERO COME DOCUMENTO XML. Nella pratica XML va a definire delle strutture gerarchiche, ad albero, nel disegno vediamo che ad ogni nodo corrisponde un elemento, questo però essere tradotto nel documento XML. STRUTTURA GERARCHICA AD ALBERO. ABBIAMO 4 ELEMENTI. ELEMENTO RADICE: ROOT
< DISPAC>
INDENTAZIONE: SPOSTARE LO SPAZIO. STRUTTURA FORMALE DI UN DOCUMENTO XML Un documento XML è sempre costituito da due componenti fondamentali.
a definire la struttura del documento xml stesso. (possiamo avere riferimento opzionali ad altri documenti che ci danno informazioni su come elaborare il nostro documento stesso. CSS: foglio di stile, è un documento che ci dice come è possibile realizzare in diversi modi quel dato grezzo).
XML DECLARATION fa parte del prologo ed è una parte standardizzata che ci dice come riferimento quello che è sostanzialmente la versione xml che stiamo considerando ed il modo in cui stiamo codificando gli elementi. L’ALTRA PARTE appartenente sempre al prologo è la parte che ci da riferimenti agli altri file dicendomi come trattare il documento. Uno dei vantaggi e caratteristiche fondamentale del documento xml è che è in grado di SEPARARE CHIARAMENTE I DATI DALLA LORO RAPPRESENTAZIONE. Il linguaggio XML ha avuto una grande fortuna proprio perché sa dare una separazione dal dato e dal come voglio rappresentare il dato stesso.
L’attributo si presenta sempre mediante una coppia “nome=valore”. ATTENZIONE : i tag non possono avere nomi che iniziano per XML, XMI, Xml, xml. ELEMENTI O ATTRIBUTI? Sono delle regole dettate dal buon senso, dipendono dalla tipologia di problema che dobbiamo affrontare e risolvere.
E’ UN ERRORE SOPRA. NAMESPACE : ovvero spazio dei nomi, è un approccio che abbiamo per capire quale sia il vocabolario in cui dobbiamo andare a contestualizzare una determinata parola. Nella pratica è una sorta di “spazio” dei nomi che ci aiuta a comprendere il significato di quella parola che andiamo a considerare. Noi introduciamo un PREFISSO che ci dice quale sia il vocabolario di appartenenza di questi elemento o attributi. Ogni prefisso è associato ad URI (uniform resource identific) e definisce quello chiamato URL ovvero UNIFORM RETE LOCAL, ci dice in che posizione di rete troviamo quella informazione..
L’immagine di Carla Bruni è una risorsa in rete. l’URL è l’indirizzo completo della risorsa. Nella pratica quindi il comprensivo di tutto si chiama URL. La URI comprende l’URL e URN. Qui abbiamo davanti ad autore c’è AU (prefisso) che vuol dire “guarda la parola autore si deve considerare nello spazio dei nomi che chiamiamo AU che si trova a questo indirizzo seguente” Titolo quindi ha anche AU quindi bisogna capire in questo vocabolario la parola a cosa serve. Nell’altro titolo c’è LB (nuovo prefisso) che non ha significato nello spazio precedente ma nell’altro. TI SPIEGA COSA VUOL DIRE TITOLO PER UN AUTORE E L’ALTRO TI DICE TITOLO PER I LIBRI. Scriverlo come l’esempio prima è UN ERRORE! I prefissi ci indicano i vocaboli a cui facciamo riferimento. VINCOLI DI BUONA FORMAZIONE. Affinchè un documento xml sia ben formato deve sottostare ad alcune regole: 1) un documento xml è ben formato (well formed) se ha delle dichiarazioni corrette. 2) Deve avere un unico ELEMENTO RADICE. (non possono essercene due per essere ben formato) 3) Per essere ben formato inoltre deve avere un tag di apertura e chiusura. Fa eccezione il tag vuoto perchè utilizziamo la forma abbreviata. (un solo marcatore) 4) Gli elementi devono essere NIDIFCATI (i tag di chiusura devono seguire l’ordine inverso dei rispettivi tag di apertura) – può essere chiamata anche indentazione. 5) I nomi dei tag di apertura e chiusura devono COINCIDERE. 6) gli attributi devono avere sempre valori racchiusi tra singoli o doppi apici. QUESTE SONO REGOLE SINTATTICHE.
La grammatica viene definita in un file chiamato DTD. Un DTD è un elenco di dichiarazioni (MARKUP DECLARATION) che vanno a descrivere gli ingredienti che vanno a comporre un documento XML. (dunque noi andiamo a dichiarare tutti gli elementi ed attributi da inserire all’interno del docu xml) In particolare va a definire tutti gli elementi veri e propri, quindi I TAG, il MODELLO di contenuto di ogni elemento (ovvero cosa ha dentro ognuno di questi elementi), le relazioni che intercorro tra loro ed infine gli ATTRIBUTI di ogni elemento. La DTD ci dice cosa posso trovare all’interno di un file xml. All’interno di un file xml troviamo elementi ed attributi quindi la DTD va a definire gli elementi, gli attributi associati agli elementi e ci permette di andare a definire il contenuto di ogni elemento.
La DTD è un acronimo che sta per document type definition ed è il modo che adottiamo per definire la grammatica di riferimento del file XML. La DTD serve dunque a definire gli elementi del file XML, gli attributi degli elementi ed il modello di contenuto dei vari elementi. (tipologia di dati ecc) Nella pratica la DTD è uno strumento di cui ci dotiamo per validare i documenti xml. La DTD non si scrive in LINGUAGGIO XML. Viene scritta in un altro linguaggio che ripeto, va a definire elementi, attributi e modelli di contenuti di elementi. Viene utilizzato per standardizzare quello che si scrive nel xml. (ci permette di verificare se ciò che scritto nel documento xml è VALIDO ) La DTD ci da delle regole contrattuali attraverso cui andiamo a definire i vari documenti xml. Nella pratica la DTD non è altro che un documento che adottiamo per andare a definire una volta per tutte quale è la regola da seguire per scrivere un file xml corretto. La DTD ha come al solito uno schema di descrizione ed anche lei ha bisogno di un punto del file xml dove deve essere richiamata. Lo schema di validazione viene chiamato nel suo PROLOGO. Nel prologo noi abbiamo la definizione di dove andiamo a recuperare la DTD. Nel file xml la dichiarazione verrà scritta:
Dove: root-element: è il nome dell’elemento radice SYSTEM : definisce documenti di utilizzo locale Filename : è il file che contiene il DTD In alternativa a SYSTEM si può usare la parola PUBLIC che serve a definire i documenti di utilizzo pubblico.
(vedi pagina successiva)
Bob >/to> Janet
Reminder frammento di testo
Le prime due righe sono IL PROLOGO. Cosa deve specificare la DTD?? Tutti i singoli elementi. L’elemento message quindi è composto da:
Il contenuto (content-model) può essere di 4 tipi: EMPTY : la parola chiave indica che l’elemento che sto dichiarando è un TAG VUOTO ANY: indica che al suo interno può contenere sotto di se qualsiasi tipo di elemento o testo. Stiamo dichiarando un elemento che si chiama ELEMENTI di TIPO ANY ovvero al suo interno può contenere qualsiasi elemento che viene definito nella DTD o frammenti di testo. CHILDREN : elenco di elementi figli specifici con un ordine determinato. MIXED : elementi figli senza ordine specifico. L’ELEMENTO PUO’ ESSERE INDICATO UNA SOLA VOLTA. Il CONTENT-MODEL di tipo CHILDREN ci permette di specificare la sequenza di sotto elementi, che posso avere quindi sotto di essi un elemento ma che devono comparire in un ordine specificato.
I valori ammessi per il tipo sono:
- CDATA: valore di tipo testo. - (en1 | en2 | enn) : valore scelto da una lista DTD:
XML: OK! OK! ERRORE! L’attributo è MODE creditcard è errore perché non è dichiarato nella DTD.
Il valore dell’attributo deve essere univoco al livello di documento. L’ID viene sempre associato alla clausola REQUIRED. DTD:
XML:
Viene dichiarato l’elemento ORDERS. Una volta definito l’elemento orders vediamo che è composto da elementi di tipo ORDER+, che è un elemento di tipo EMPTY ovvero vuoto. ATTLIST: dichiara l’attributo. ORDERS HA DUE SOTTO ELMENTI ENTRAMBI HANNO DUE ATTRIBUTI NEL PRIMO CASO VALE A101 NEL SECONDO CASO A102. Abbiamo il nome dell’attributo, definiamo che è di tipo ID e lo definiamo REQUIRED.
Nel caso del valore di DEFAULT si stabilisce che l’attributo abbia sempre un valore al suo interno. DTD :
Abbiamo un elemento SQUARE di tipo EMPTY. L’attributo è width CDATA ed il valore è 0. XML:
Se all’attributo non viene assegnato un valore esplicito, il suo valore di default è 0. L’autore del documento non è obbligato a specificare un valore per un attributo cui è stato associato un valore di default QUINDI se scriviamo:
il valore di width non è nullo ma “0”
Implied significa quando un attributo non è obbligatorio (c’è o non c’è). DTD:
XML: < contact fax=”555-667788” /> Element contact empty è definito un elemento che chiamiamo CONTACT vuoto (empty) L’attributo è FAX che è un attributo dell’elemento contact, è CDATA ma è IMPLIED quindi posso o non inserirlo. quando scriviamo fax non ha nessun tipo di valore dell’attributo. La differenza con il precedente dove se il valore viene esplicitato è quello se non viene esplicitato c’è ma è pari a 0 (al valore di default)