Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'XML: Marcatori, Struttura e Regole, Appunti di Elementi di Informatica

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

2020/2021

Caricato il 01/04/2021

merymerra17
merymerra17 🇮🇹

4

(5)

8 documenti

1 / 15

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
LINGUAGGIO A MARCATORI
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)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Introduzione all'XML: Marcatori, Struttura e Regole e più Appunti in PDF di Elementi di Informatica solo su Docsity!

LINGUAGGIO A MARCATORI

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)

PRIMO ESEMPIO DI CODICE XML

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:

  • Un documento XML che rispetta le regole sintattiche si dice WELL-FORMED (BEN FORMATO)
  • Un documento XML che rispetta le regole sintattiche ED ANCHE le regole semantiche si dice VALIDO.
  • Un documento ben formato può NON essere valido. (perché le regole semantiche non sono obbligatorie a differenza di quelle sintattiche-grammaticali), mentre un documento valido è per forza ben formato. Le regole sintattiche : come dobbiamo scrivere le fino dentro i documenti. Le regole semantiche : ci dicono cosa possiamo scrivere dentro un docu xml.

STRUTTURA LOGICA DEL DOCUMENTO XML

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

DUE SOTTO ELEMENTI: CHILD
UN CHILD HA UN SOTTO ELEMENTO: SUBCHILD
ESERCIZIO:

< DISPAC>

INDENTAZIONE: SPOSTARE LO SPAZIO. STRUTTURA FORMALE DI UN DOCUMENTO XML Un documento XML è sempre costituito da due componenti fondamentali.

Prologo : dove abbiamo delle dichiarazioni XML ed eventualmente riferimenti ad altri documenti che vanno

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).

Corpo : abbiamo il documento XML vero e proprio.

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.

  • Un elemento è sempre estendibile o in termini di contenuto o di avere al suo interno degli attributi.
  • L’attributo non è estendibili, non esistono sotto attributi, può solo modellare una proprietà di un elemento in termini di valore.
  • L’elemento è un entità a se stante, che può avere sotto di se o sotto elementi o può essere caratterizzato da un attributo che è strettamente legato all’elemento.
  • Un attributo inoltre può contenere al suo interno solo un valore atomico, NON PUO AVERE TANTI VALORI MA SOLO UNO! Il problema è che tutto ciò non può essere codificato attraverso regole precise ma dipende sempre dalla problematica che stiamo andando ad affrontare. ESEMPIO: ci sono tre pezzi di un documento che si definisce attraverso 3 approcci diversi semanticamente uguali ma espressi in modalità sintattiche diversi. Il primo è un tag vuoto con 2 attributi. Il secondo è un elemento con un sotto elemento con un valore di testo. Nel terzo ci sono due sotto elementi con due valori di testo. CONFLITTI SUI NOMI Capita abbastanza comunemente, soprattutto in documenti complessi, di dare nomi uguali ad elementi (o attributi) con significati diversi. -Polisemia. ESEMPIO :
Sir William Shakespeare Romeo and Juliet

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.

DOCUMENT TYPE DEFINITION (DTD)

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.

TECNOLOGIE WEB T

DTD (DOCUMENT TYPE DEFINITION)

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:

  • un elemento TO contenente testo.
  • un elemento FROM contenente testo.
  • un elemento HEADING contenente testo.
  • un elemento BODY contenente testo.

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.

  • Si può specificare una SEQUENZA , ovvero gli elementi figli che devono comparire nell’ordine specificato: Nella pratica l’elemento E1, E2, E3 si possono prendere tutti nell’ordine previsto.

TIPI DI CDATA ed ENUMERATI

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.

ATTRIBUTI DI TIPO ID: valore di tipo identificativo.

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.

ATTRIBUTO DI TIPO DEFAULT

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”

ATTRIBUTO DI TIPO IMPLIED

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)