Il 0% ha trovato utile questo documento (0 voti)
2 visualizzazioni136 pagine

Markup

Caricato da

xiyice1961
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
2 visualizzazioni136 pagine

Markup

Caricato da

xiyice1961
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 136

Codifica di

Testi -
Introduzione
XML Markup
a.a.
2020-2021
Codifica di Testi - Introduzione XML Markup
A.M. Del a.a. 2020-2021
Grosso

I linguaggi di
codifica Angelo Mario Del Grosso
Fondamenti
del linguaggio
XML [email protected]
Validare un
documento CNR-ILC
XML e
Definire uno
Schema
Document Type
Istituto di Linguistica Computazionale “A. Zampolli”,
Definition (DTD)
XML Schema 8th March 2021
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 1/ 140
Contenuto della lezione

Codifica di
Testi -
Introduzione 1 I linguaggi di codifica
XML Markup
a.a.
2020-2021

A.M. Del 2 Fondamenti del linguaggio XML


Grosso

I linguaggi di
codifica 3 Validare un documento XML e Definire uno Schema
Fondamenti
del linguaggio Document Type Definition (DTD)
XML

Validare un
documento
XML Schema Definition (XSD)
XML e
Definire uno
Schema RELAX NG
Document Type
Definition (DTD)
XML Schema
Definition (XSD) 4 Conclusioni
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 1/ 140
Progress status

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 1 I linguaggi di codifica
A.M. Del
Grosso

I linguaggi di
2 Fondamenti del linguaggio XML
codifica

Fondamenti
del linguaggio
XML
3 Validare un documento XML e Definire uno Schema
Validare un
documento
XML e 4 Conclusioni
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 2/ 140
I linguaggi di codifica
introduzione

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del Definizione di codifica digitale del testo


Grosso
Per codifica digitale dei testi intendiamo la rappresentazione
I linguaggi di
codifica formale di un testo ad un qualche livello descrittivo, su di un
Fondamenti supporto digitale, in un formato utilizzabile da un elaboratore
del linguaggio
XML (Machine Readable Form) mediante un opportuno linguaggio
Validare un
documento
informatico (F. Ciotti).
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 3/ 140
I linguaggi di codifica
Riassumendo

Codifica di
Testi -
Introduzione
XML Markup
a.a. Impostazione teorico-pratica
2020-2021

A.M. Del
un testo è molto di più della sequenza di caratteri che
Grosso
lo compongono
I linguaggi di per mezzo della codifica vogliamo rendere esplicite le
codifica
caratteristiche che vogliamo analizzare
Fondamenti
del linguaggio solo quello che è esplicito può essere interpretato ed
XML
elaborato dal computer
Validare un
documento vogliamo codificare il testo per quello che è, non per
XML e
Definire uno quello che sembra
Schema
Document Type codifica da effettuare mediante linguaggio di markup
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 4/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso Il markup
I linguaggi di Il termine markup è stato utilizzato in passato per denotare i
codifica
segni grafici che accompagnavano un testo apposti sul
Fondamenti
del linguaggio documento per indicare correzioni o modalità grafiche di
XML
stampa.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 5/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 6/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 7/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup Il markup
a.a.
2020-2021 La codifica con linguaggi di marcatura (markup) è in sostanza
A.M. Del
Grosso
un insieme di convenzioni, rese attraverso specifiche
sequenze di caratteri, etichette, codici, (detti tags)
I linguaggi di
codifica intercalati nel testo per permettere agli elaboratori elettronici
Fondamenti di distinguere le varie parti di un documento.
del linguaggio
XML

Validare un Il markup formale


documento
XML e
Definire uno Un linguaggio di markup è un sistema formale per scambiare
Schema
Document Type
e pubblicare informazioni in formato testo in modo
Definition (DTD)
XML Schema strutturato.
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 8/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
Il markup formale
I linguaggi di
codifica Markup formale: costituito da un sistema non ambiguo di
Fondamenti istruzioni, ognuna delle quali è dotata di una specifica
del linguaggio
XML semantica e sintassi.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 9/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso Diversi tipi di markup
I linguaggi di Esistono diversi linguaggi di markup, per rappresentare diversi
codifica
tipi di documenti.
Fondamenti
del linguaggio Linguaggi procedurali (specific markup languages)
XML
Linguaggi dichiarativi (generic markup languages)
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 10/ 140
I linguaggi di codifica
Linguaggi di marcatura procedurale

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Linguaggi procedurali
A.M. Del
Grosso
Orientati al documento, indicando come deve essere
elaborato e disposto il testo in resa grafica
I linguaggi di
codifica Istruzioni da inserire nel testo per connotarne specifiche
Fondamenti caratteristiche di visualizzazione
del linguaggio
XML Font, dimensione, spaziatura del carattere, posizionamento
Validare un nella pagina, colore, etc.
documento
XML e
Definire uno
Schema
Document Type
Esempi: TeX e LaTeX, RTF
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 11/ 140
I linguaggi di codifica
Linguaggi di marcatura procedurale

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Esempio RTF
A.M. Del
Grosso

{\rtf1\ansi\deff0\adeflang1025
I linguaggi di {\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}
codifica {\f1\froman\fprq2\fcharset0 Times New Roman;}
{\f2\fnil\fprq2\fcharset0 Lucida Sans Unicode;}
Fondamenti
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
del linguaggio
{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}
XML
\rtlch\af5\afs24\lang255\ltrch\dbch\af2\afs24\langfe255
Validare un \loch\f0\fs24\lang1040\snext1 Standard;}
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 12/ 140
I linguaggi di codifica
Linguaggi di marcatura procedurale

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Esempio LaTex
A.M. Del \documentclass [a4paper,10pt] {article} \usepackage[utf8] {inputenc}
Grosso \usepackage[T1] {fontenc}
\usepackage[italian] {babel}
\title {Il mio primo documento}
I linguaggi di \author {Angelo Mario Del Grosso}
codifica \begin {document}
\maketitle
Fondamenti \begin {abstract}
del linguaggio Primo tentativo di scrivere in \LaTeX .
XML \end {abstract}
\section {titolo della sezione}
Validare un
Questo documento è vuoto.
documento
\footnote {nota a piè di pagina.}
XML e
Definire uno
\end {document}
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 13/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
Il markup procedurale
I linguaggi di
codifica L’unico utilizzo di un testo codificato tramite un linguaggio
Fondamenti procedurale è la creazione di un output orientato alla
del linguaggio
XML visualizzazione.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 14/ 140
I linguaggi di codifica
Linguaggi di marcatura procedurale

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 15/ 140
I linguaggi di codifica
Linguaggi di marcatura dichiarativi

Codifica di
Testi -
Introduzione
XML Markup Linguaggi dichiarativi
a.a.
2020-2021
Orientati al testo, annotano la struttura, la funzione ed il
A.M. Del
Grosso significato degli elementi costitutivi del testo, tralasciandone
I linguaggi di
l’aspetto.
codifica La posizione che il brano in questione occupa all’interno
Fondamenti
del linguaggio
del documento (markup strutturale)
XML Peculiarità del testo stesso (markup semantico)
Validare un
documento
I fogli di stile definiscono la formattazione dell’output
XML e
Definire uno
Molteplici usi del medesimo testo
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
Esempio: famiglia SGML, XML
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 16/ 140
I linguaggi di codifica
Linguaggi di marcatura dichiarativi

Codifica di
Testi -
Introduzione
XML Markup
Markup dichiarativi: contenuto e presentazione
a.a.
2020-2021 La separazione tra contenuto e presentazione non solo è
A.M. Del
Grosso
intenzionale, ma è la caratteristica principale di questi sistemi
di marcatura: essa permette di concentrarsi sull’annotazione
I linguaggi di
codifica logica-semantica per funzioni di ricerca e di analisi, lasciando
Fondamenti ad altro (ai fogli di stile) la resa grafica.
del linguaggio
XML

Validare un Unico testo più usi


documento
XML e
Definire uno In questo modo si ha inoltre la possibilità di utilizzare uno
Schema
Document Type
stesso testo codificato con finalità o formattazioni
Definition (DTD)
XML Schema
differenti, a seconda delle varie esigenze.
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 17/ 140
I linguaggi di codifica
Markup dichiarativi: esempio SGML

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Standard Generalized Markup Language
A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 18/ 140
I linguaggi di codifica
Markup dichiarativi vs Markup procedurali

Codifica di
Testi -
Introduzione
XML Markup
resa a video della frase
a.a.
2020-2021 Le Guidelines for Electronic Text Encoding and Interchange
A.M. Del sono molto complete e descrivono uno standard di markup del
Grosso
testo basato su XML.
I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD) LaTex vs SGML
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 19/ 140
I linguaggi di codifica
Linguaggi di marcatura

Codifica di
Testi -
Introduzione
XML Markup
a.a.
linguaggi semi-dichiarativi e/o semi-procedurali
2020-2021

A.M. Del
Esistono anche linguaggi che possono essere definiti
Grosso semi-procedurali, o semi-dichiarativi, che come si intuisce
I linguaggi di utilizzano le istruzioni sia per una codifica di tipo procedurale,
codifica
sia per una codifica di tipo descrittivo o dichiarativo.
Fondamenti
del linguaggio
XML
HTML
Validare un
documento
XML e
HTML ha tra le sue etichette istruzioni di tipo procedurale per
Definire uno
Schema
indicare come devono essere rese determinate porzioni di testo,
Document Type
Definition (DTD)
e istruzioni di tipo dichiarativo che hanno una base semantica.
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 20/ 140
Progress status

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 1 I linguaggi di codifica
A.M. Del
Grosso

I linguaggi di
2 Fondamenti del linguaggio XML
codifica

Fondamenti
del linguaggio
XML
3 Validare un documento XML e Definire uno Schema
Validare un
documento
XML e 4 Conclusioni
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 21/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup XML origini
a.a.
2020-2021 XML affonda le proprie origini nel linguaggio Standard
A.M. Del
Grosso
Generalized Markup Language (SGML).
SGML è stato introdotto negli anni ottanta con il fine di
I linguaggi di
codifica descrivere la struttura e il contenuto di qualsiasi
Fondamenti informazione “machine readable”.
del linguaggio
XML

Validare un XML è una semplificazione di SGML


documento
XML e
Definire uno
XML può essere pensato come una versione semplificata di
Schema
Document Type
SGML. Infatti, come SGML, XML è un meta-linguaggio, usato
Definition (DTD)
XML Schema
per create linguaggi di marcatura (detti vocabolari).
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 22/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
XML come meta-linguaggio
a.a.
2020-2021 XML, eXtensible Markup Language, è un insieme di regole
A.M. Del
Grosso
per definire linguaggi di marcatura personalizzati e
personalizzabili (custom-built vocabolaries).
I linguaggi di
codifica

Fondamenti Applicazioni XML


del linguaggio
XML
Allo stesso modo di SGML, XML è nato per strutturare,
Validare un
documento conservare e trasportare informazioni.
XML e
Definire uno I linguaggi di marcatura derivati da XML per strutturare e
Schema
Document Type
descrivere specifiche informazioni vengono chiamati XML
Definition (DTD)
XML Schema
applications oltre che vocabolario XML.
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 23/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup XML: eXtensible
a.a.
2020-2021 XML è estensibile: è pensato per essere modificato ed esteso
A.M. Del
Grosso
al fine di soddisfare le varie necessità di rappresentazione
dell’informazione. XML non contempla un vocabolario
I linguaggi di
codifica predefinito!
Fondamenti
del linguaggio
XML XML: standard W3C
Validare un
documento
XML è sviluppato e manutenuto dal W3C (World Wide Web
XML e
Definire uno
Consortium), il quale sviluppa protocolli e standard riconosciuti
Schema
Document Type
dalla comunità scientifica e tecnica al fine di condividere
Definition (DTD)
XML Schema
informazioni sul Web.
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 24/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
XML: riassumendo
2020-2021
XML, eXtensible Markup Language, deriva da SGML ed è una
A.M. Del
Grosso specificazione, un formalismo, per strutturare, conservare e
I linguaggi di
scambiare informazioni in formato machine readable (digitale).
codifica

Fondamenti
del linguaggio XML: riassumendo
XML

Validare un
XML è anche una specificazione per descrivere la struttura
documento dell’informazione seguendo un modello dei dati gerarchico.
XML e
Definire uno XML è simile ad HTML, ma a differenza di questo non ha
Schema
Document Type
Definition (DTD)
etichette predefinite.
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 25/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni
immagine dal libro New Perspectives on XML, 3rd Edition
A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 26/ 140
Fondamenti XML
eXtensible Markup Language: regole sintattiche

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Ciascun elemento XML deve avere un tag di chiusura.
A.M. Del
Grosso I tag XML sono case sensitive.
I linguaggi di
codifica
Gli elementi XML devono essere annidati in modo rigoroso.
Fondamenti
del linguaggio Tutti i documenti XML deveno avere un elemento radice
XML
(root) che contiene tutti gli altri elementi opportunamente
Validare un
documento annidati.
XML e
Definire uno
Schema Gli elementi XML possono avere attributi con stile
Document Type
Definition (DTD)
XML Schema
nome-valore.
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 27/ 140
Fondamenti XML
eXtensible Markup Language: regole sintattiche cont.

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Un attributo all’interno dell’elemento può apparire una
A.M. Del sola volta
Grosso

I linguaggi di
Il valore degli attributi è una stringa e deve essere inserita
codifica
tra apici
Fondamenti
del linguaggio
XML Esistono alcuni caratteri speciali che non possono essere
Validare un usati.
documento
XML e
Definire uno
Schema
I commenti non possono essere inseriti prima della
Document Type
Definition (DTD)
dichiarazione XML e non possono essere annidati.
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 28/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso Manutenibilità
I linguaggi di Data la semplicità delle regole e della sintassi XML incentrata
codifica
sulla memorizzazione e scambio dei dati, la struttura generale
Fondamenti
del linguaggio di un documento XML è semplice sia dal punto di vista della
XML
progettazione sia dal punto di vista della manutenibilità.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 29/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso XML vista ad albero
I linguaggi di XML ha un modello dei dati gerarchico e può quindi essere
codifica
visto come un albero ordinato.
Fondamenti
del linguaggio Per questo motivo le informazioni sono rappresentate in modo
XML
ottimale se sono gerarchiche e sequenziali.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 30/ 140
Fondamenti XML
eXtensible Markup Language: vista ad albero

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni
immagine dal libro New Perspectives on XML, 3rd Edition
A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 31/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 TEI-XML vocabulary
A.M. Del
Grosso Al fine di soddisfare i requisiti degli studiosi del testo il
I linguaggi di vocabolario TEI-XML è stato sviluppato nel corso degli ultimi
codifica
decenni con lo scopo e l’obiettivo di permettere la codifica di
Fondamenti
del linguaggio qualsiasi informazione testuale.
XML

Validare un
documento
XML e
Un vocabolario XML è un insieme di tag XML sviluppato per
Definire uno
Schema
una particolare esigenza di codifica
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 32/ 140
Fondamenti XML
eXtensible Markup Language: Esempio TEI

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG
immagine dal sito TEI Guide Lines
Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 33/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Documento ben formato (well-formed)
Grosso
Un documento XML deve essere ben formato
I linguaggi di
codifica
(well-formed,cioè non deve contenere errori sintattici e deve
Fondamenti soddisfare le regole generali della specifica.
del linguaggio
XML

Validare un
documento
Un documento non ben formato non può essere letto dalle
XML e
Definire uno
applicazioni che elaborano codice XML.
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 34/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso Parti principali di un documento XML
I linguaggi di Un documento XML consiste di tre parti:
codifica
il prologo
Fondamenti
del linguaggio il corpo (body)
XML
l’epilogo
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 35/ 140
Fondamenti XML
eXtensible Markup Language: Esempio TEI

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 36/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso Documento XML: prologo
I linguaggi di XML declaration (obbligatorio)
codifica
Processing instructions (opzionale)
Fondamenti
del linguaggio Commenti (opzionale)
XML
Document type declaration (opzionale)
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 37/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Documento XML: corpo
A.M. Del
Grosso Il corpo del documento XML segue immediatamente il prologo.
I linguaggi di
Questa parte del documento contiene il contenuto vero e
codifica proprio in una struttura ad albero ordinata.
Fondamenti
del linguaggio
XML Documento XML: epilogo
Validare un
documento Opzionalmente, al corpo del documento XML segue un epilogo
XML e
Definire uno il quale può contenere commenti finali e processing instructions.
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 38/ 140
Fondamenti XML
eXtensible Markup Language: Prologo

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
XML declaration
I linguaggi di
codifica <?xml version="version number" encoding="encoding
Fondamenti type" standalone="yes|no" ?>
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 39/ 140
Fondamenti XML
eXtensible Markup Language: Prologo

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
XML declaration: ERRORI
Grosso
<?XML VERSION="1.0" ENCODING="ISO-8859-1"
I linguaggi di STANDALONE="YES" ?>
codifica

Fondamenti
<?xml version=1.0 encoding=ISO-8859-1
del linguaggio standalone=yes ?>
XML

Validare un
<?xml version="1.0" standalone="yes"
documento
XML e
encoding="ISO-8859-1" ?>
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 40/ 140
Fondamenti XML
eXtensible Markup Language: Prologo

Codifica di
Testi -
Introduzione
XML Markup
a.a. XML comments
2020-2021

A.M. Del
I commenti XML vengono ignorati dai programmi che
Grosso elaborano il documento.
I linguaggi di I commenti quindi non influenzano i contenuti e la struttura del
codifica
documento.
Fondamenti
del linguaggio
XML
XML comments: sintassi
Validare un
documento <!-- il parser XML qui non entra -->
XML e
Definire uno
Schema
Document Type
Definition (DTD) Un commento può occupare anche più righe
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 41/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema immagine dal libro New Perspectives on XML, 3rd Edition
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 42/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione Esercizio prologo
XML Markup
a.a.
2020-2021 Creare un file .xml ed inserire un prologo con la dichiarazione
A.M. Del XML e un commento con le vostre informazioni.
Grosso

I linguaggi di Esercizio prologo


codifica

Fondamenti <!-- This document contains data on Codifica di


del linguaggio
XML Testi.
Validare un Filename: project.xml
documento
XML e Author: your name
Definire uno
Schema Date: today’s date -->
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG
Salvare il file su github nel repository del progetto

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 43/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a. XML parser
2020-2021

A.M. Del Un programma che legge ed interpreta un documento XML è


Grosso
chiamato XML parser ( o processor).
I linguaggi di
codifica

Fondamenti
Cosa fa un XML parser
del linguaggio
XML Verifica che il documento rispetti la sintassi XML
Validare un
documento
Interpreta i dati con tipo PCDATA (Parsed)
XML e
Definire uno
Risolve character or entity references
Schema Gestisce le processing instructions per interpretare i dati
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 44/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup XMLlint
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 45/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup XML body
a.a.
2020-2021
Un documento XML è composto da elementi e attributi.
A.M. Del
Grosso Gli elementi sono la base, le unità fondamentali di qualsiasi
I linguaggi di
documento XML.
codifica

Fondamenti Elementi: Sintassi


del linguaggio
XML <element>content</element>
Validare un
documento
opening tag: <element>;
XML e
Definire uno
closing tag: </element>
Schema
Document Type
Definition (DTD)
XML Schema Un elemento può contenere testo e/o ulteriori elementi
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 46/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso XML Element
I linguaggi di Gli elementi XML possono avere diversi tipi di contenuto:
codifica
contenuto strutturale: solo altri elementi, non testo
Fondamenti
del linguaggio contenuto misto: testo e anche altri elementi
XML
contenuto testuale: solo testo, non altri elementi
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 47/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 XML Element: note importanti sul nome
A.M. Del
Grosso Gli elementi sono case sensitive.
I linguaggi di Gli elementi possono iniziare con una lettera o con un “ ”.
codifica
Un elemento non può iniziare con la stringa xml.
Fondamenti
del linguaggio Il tag di apertura e di chiusura devono avere lo stesso
XML
nome.
Validare un
documento Un tag può essere usato più di una volta.
XML e
Definire uno Un insieme di elementi costituiscono un vocabolario
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 48/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
XML Element: empty e nested
2020-2021

A.M. Del
Un elemento vuoto (empty ) è un elemento senza
Grosso contenuto.
I linguaggi di Un elemento può contenere altri elementi opportunamente
codifica
annidati (nested element).
Fondamenti
del linguaggio
XML
XML esempi: empty e nested element
Validare un
documento
XML e <element /> <element></element>
Definire uno
Schema
<choice><sic>testo con errore</sic><cor> testo
Document Type
Definition (DTD)
corretto</cor></choice>
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 49/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del XML Element: hierarchical relationship


Grosso
Un elemento annidato (nested) è un elemento figlio, cioè
I linguaggi di
codifica contenuto (annidato) in un ulteriore elemento detto
Fondamenti padre/genitore (parent).
del linguaggio
XML Gli elementi che sono presenti su uno stesso livello
Validare un
documento
gerarchico (side by side) sono detti sibling element.
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 50/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e immagine dal libro New Perspectives on XML, 3rd Edition
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 51/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
XML Element: hierarchical relationship
A.M. Del
Grosso
Tutti gli elementi nel body del documento sono figli di uno
I linguaggi di
codifica
stesso elemento, chiamato radice (root).
Fondamenti
Un documento XML deve contenere un elemento root per
del linguaggio
XML
essere considerato ben formato.
Validare un
Una gerarchia XML può essere rappresentata tramite un
documento
XML e
diagramma ad albero.
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 52/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
XML Element: hierarchical relationship cont.
A.M. Del
Grosso
Il prologo e i commenti non fanno parte dell’albero del
I linguaggi di
codifica
body.
Fondamenti
Elementi non annidati correttamente implicano un errore
del linguaggio
XML
di sintassi nei parser.
Validare un
Le specifiche XML non consentono di sovrapporre i tag di
documento
XML e
apertura e di chiusura degli elementi annidati (no overlap).
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 53/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
XML Element: hierarchical relationship - Esercizio
codifica

Fondamenti
Scrivere e fare il check di un xml non opportunamente annidato
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 54/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso XML Element: hierarchical relationship as tree structure
I linguaggi di Un modo rapido e comodo per visualizzare la struttura
codifica
completa di un documento XML è quello di disegnare
Fondamenti
del linguaggio attraverso un diagramma ad albero ordinato gli elementi del
XML

Validare un
documento XML.
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 55/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso


immagine dal libro Codifica di Testi - on
New Perspectives Introduzione
XML, 3rd XML Markup a.a. 2020-2021
Edition 56/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso


immagine dal libro Codifica di Testi - on
New Perspectives Introduzione
XML, 3rd XML Markup a.a. 2020-2021
Edition 57/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
XML Element: Mixed Content
2020-2021
Un elemento può contenere contemporaneamente sia testo sia
A.M. Del
Grosso altri elementi.
I linguaggi di
Questo modello di contenuto si chiama Mixed Content ed è
codifica
ideale per descrivere informazioni text-based (dati
Fondamenti
del linguaggio semi-strutturati).
XML

Validare un
documento XML Element: Mixed Content
XML e
Definire uno <p><salutation>Salve</salutation> il mio nome è
Schema
Document Type <persName>Angelo</persName></p>
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 58/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
XML Element: Esercizio
Grosso
Aprire il file XML non ben formato presente nel repository
I linguaggi di github:
codifica
validarlo con un parser XML
Fondamenti
del linguaggio correggerlo (commentando gli errori e le modifiche)
XML

Validare un
aggiungere un figlio (child) ad un elemento
documento
XML e
aggiungere un fratello (sibling) ad un elemento
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 59/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
XML Attributi
A.M. Del Gli elementi in un documento XML possono avere uno o più
Grosso
attributi.
I linguaggi di
codifica
Un attributo descrive una caratteristica dell’elemento in cui
Fondamenti
appare.
del linguaggio
XML

Validare un
XML Attributi
documento
XML e Un attributo ha senso solo all’interno del proprio elemento e
Definire uno
Schema non è possibile separarlo da esso in alcun modo.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 60/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
XML Attributi: valore
2020-2021

A.M. Del
Un attributo ha due componenti: nome - valore. Il valore di un
Grosso attributo è una stringa e deve essere sempre racchiusa tra apici
I linguaggi di (singoli o doppi).
codifica

Fondamenti
del linguaggio XML Attributi: valore
XML

Validare un
<element attribute=‘‘value’’> ... </element>
documento
XML e
<element attribute=‘‘value’’ />
Definire uno <element attribute=‘‘value’’,
Schema
Document Type
Definition (DTD)
attribute2=‘‘value2’’ />
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 61/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
XML Attributi: restrizioni ai nomi
A.M. Del Il nome di un attributo può iniziare con una lettera oppure
Grosso
underscore.
I linguaggi di
codifica
Gli spazi non sono consentiti in un nome di un attibuto.
Fondamenti
Il nome di un attributo non pò iniziare con la stringa xml.
del linguaggio
XML

Validare un
XML Attributi
documento
XML e Il nome degli attributi è case sensitive.
Definire uno
Schema L’ordine degli attributi non è significativo.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 62/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
XML Character and Entity References
A.M. Del
Grosso
numeric character reference: &#nnn;
I linguaggi di character entity reference: &entity;
codifica

Fondamenti
del linguaggio XML References
XML

Validare un &#65; (carattere A)


documento
XML e &amp; (carattere &)
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 63/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
immagine dal libro New Perspectives on XML, 3rd Edition
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 64/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a. Text Character Parsing
2020-2021

A.M. Del Il contenuto testuale di un elemento XML può essere diviso in


Grosso
tre categorie: parsed character data, character data, and white
I linguaggi di
codifica
space.
Fondamenti
del linguaggio
XML
Text Character Parsing
Validare un
documento
PCDATA
XML e
Definire uno
CDATA
Schema White Space
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 65/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a. Parsed Character Data
2020-2021

A.M. Del
Parsed character data (PCDATA) si riferisce a tutti quei
Grosso caratteri che XML tratta come parte del codice e quindi
I linguaggi di vengono interpretati dai parser.
codifica

Fondamenti
del linguaggio PCDATA
XML

Validare un
XML declaration
documento
XML e
Opening tag e closing tag
Definire uno Character or entity references
Schema
Document Type
Definition (DTD)
Commenti
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 66/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Parsed Character Data
A.M. Del
Grosso
La presenza di contenuti di tipo PCDATA può causare errori
I linguaggi di inaspettati.
codifica

Fondamenti
del linguaggio XML PCDATA
XML

Validare un Caratteri speciali che sono utilizzati dalla specifica XML come
documento
XML e
&, <, > non possono essere utilizzati come contenuto testuale.
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 67/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a. Character Data
2020-2021

A.M. Del
I dati di tipo “Character Data” non vengono interpretati dal
Grosso parser XML.
I linguaggi di La sequenza di caratteri viene trattata come puro contenuto.
codifica
In definitiva una sezione CDATA è un blocco di testo.
Fondamenti
del linguaggio
XML
XML CDATA: sintassi
Validare un
documento <![CDATA [
XML e
Definire uno character data
Schema
Document Type ]]>
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 68/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso Character Data
I linguaggi di Le sezioni di testo CDATA possono essere inserite in qualsiasi
codifica
parte del documento XML.
Fondamenti
del linguaggio Utile per inserire una sezione di testo com molti caratteri
XML
speciali.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 69/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso CDATA: qualche vincolo
I linguaggi di Non è possibile inserire commenti in una sezione CDATA.
codifica
Non è possibile annidare sezioni CDATA.
Fondamenti
del linguaggio Non possono essere vuote.
XML
i simboli “]]” non sono ammessi.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 70/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del Esempio ed esercizio


Grosso
Inserire all’interno di un tag un frammento di codice HTML
I linguaggi di
codifica

Fondamenti CDATA: esempio


del linguaggio
XML
<htmlCode> <![CDATA[ <h1>Capitolo Primo</h1>
Validare un
documento <h2>Sezione Seconda</h2> ]]> </htmlCode>
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 71/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a. White Space: esempio
2020-2021

A.M. Del Gli spazi bianchi sono ignorati quando sono tra i tag.
Grosso
Gli spazi bianchi sono ignorati all’interno del prologo e
I linguaggi di dell’epilogo e all’interno dei tag.
codifica

Fondamenti
Gli spazi bianchi inseriti nel valore di un attributo sono
del linguaggio trattati come parte del contenuto.
XML

Validare un
Non vengono strippati gli spazi all’interno del contentuto
documento
XML e
testuale degli elementi.
Definire uno
Schema
Document Type
Definition (DTD) I white space sono caratteri non stampabili
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 72/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup Processing Instruction
a.a.
2020-2021
Una processing instruction è un comando, una direttiva, che
A.M. Del
Grosso indica al parser XML in che modo elaborare e trattare tutto o
parte del documento XML.
I linguaggi di
codifica

Fondamenti Processing Instruction: sintassi


del linguaggio
XML
<?target instruction ?>
Validare un
documento <?xml-stylesheet type="text/css" href="main.css"
XML e
Definire uno media="all" ?>
Schema
Document Type
Definition (DTD)
XML Schema Molteplici processing instruction possono co-esistere all’interno di un unico documento XML.
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 73/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup Processing Instruction: sintassi
a.a.
2020-2021 <?target instruction ?>
A.M. Del
Grosso
<?xml-stylesheet type="text/css" href="main.css"
media="all" ?>
I linguaggi di
codifica

Fondamenti Processing Instruction


del linguaggio
XML Target: identifica il tool al quale la processing instruction è
Validare un
documento
diretta.
XML e
Definire uno
Instruction: identifica le informazioni che il documento passa
Schema
Document Type
al parser per essere elaborate. Le istuzioni hanno la forma degli
Definition (DTD)
XML Schema
attributi (nome-valore).
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 74/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup Namespaces
a.a.
2020-2021 Un namespace può essere visto come una collezione di elementi
A.M. Del
Grosso
e attributi e un insieme di regole che ne determinano la
struttura e il contenuto.
I linguaggi di
codifica

Fondamenti Namespaces
del linguaggio
XML <element xmlns:prefix="uri"> ... </element>
Validare un
documento
<element xmlns="uri"> ... </element>
XML e
Definire uno
<tei:TEI
Schema xmlns:tei=‘‘http://www.tei-c.org/ns/1.0’’>
Document Type
Definition (DTD)
XML Schema
<TEI xmlns=‘‘http://www.tei-c.org/ns/1.0’’>
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 75/ 140
Fondamenti XML
eXtensible Markup Language

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Namespaces
A.M. Del
Grosso Un namespace viene ereditato da tutti gli elementi discendenti
I linguaggi di
dell’elemento in cui esso è stato dichiarato.
codifica

Fondamenti Namespaces
del linguaggio
XML
Generalmente si dichiarano tutti i namespace nell’elemento root
Validare un
documento cosı̀ da avere a disposizione tutti gli elementi dei vari
XML e
Definire uno namespace in tutto il documento XML
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 76/ 140
Progress status

Codifica di
Testi -
Introduzione 1 I linguaggi di codifica
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
2 Fondamenti del linguaggio XML

I linguaggi di
codifica
3 Validare un documento XML e Definire uno Schema
Fondamenti
del linguaggio
XML Document Type Definition (DTD)
Validare un
documento XML Schema Definition (XSD)
XML e
Definire uno
Schema RELAX NG
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG
4 Conclusioni
Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 77/ 140
Elementi per la definizione degli schemi xml
principi

Codifica di
Testi -
Introduzione
XML Markup
a.a.
Validare il contenuto di un documento XML
2020-2021
Se vogliamo condividere efficacemente informazioni bisogna
A.M. Del
Grosso avere dei meccanismi per controllare che i dati trasmessi
I linguaggi di
rispettino una ben precisa struttura e abbiano un ben preciso e
codifica
coerente modello dei contenuti (rispettino una grammatica).
Fondamenti
del linguaggio
XML
Validare il contenuto di un documento XML
Validare un
documento Per essere sicuri che un documento XML sia corretto da un
XML e
Definire uno punto di vista della struttura e del contenuto, cioè sia valido,
Schema
Document Type
Definition (DTD)
bisogna riferirsi ad uno schema.
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 78/ 140
Elementi per la definizione degli schemi xml
principi

Codifica di
Testi -
Introduzione
XML Markup
a.a.
Schemi XML
2020-2021
Per condividere quindi efficacemente un vocabolario XML
A.M. Del
Grosso bisogna definire delle regole che controllino come utilizzare
I linguaggi di
correttamente gli elementi egli attributi del vocabolario.
codifica

Fondamenti
del linguaggio Schemi XML
XML
Gli strumenti per descrivere le regole relative ad una corretta
Validare un
documento compilazione di un documento XML sono principalmente:
XML e
Definire uno Document Type Definition (DTD) oppure XML Schema
Schema
Document Type Definition (XSD).
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 79/ 140
Elementi per la definizione degli schemi xml
principi

Codifica di
Testi -
Introduzione
XML Markup XML schema come contratto
a.a.
2020-2021 Gli schemi XML possono essere visti come un contratto
A.M. Del
Grosso
(formale) condiviso tra chi codifica i dati e chi deve consumarli.
In questo modo può avvenire in modo rigoroso la
I linguaggi di
codifica comunicazione per lo scambio dalle informazioni codificate
Fondamenti attraverso il formato XML.
del linguaggio
XML

Validare un XML schema come contratto


documento
XML e Validare un documento XML vuol dire verificare che il
Definire uno
Schema documento sia aderente al formato definito nel contratto
Document Type
Definition (DTD) (schema).
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 80/ 140
Elementi per la definizione degli schemi xml
principi

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
Documento XML valido
I linguaggi di
codifica Un documento XML si dice valido se esso è ben formato (well
Fondamenti formed) e se soddisfa anche le regole specificate all’interno di
del linguaggio
XML uno schema XML associato.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 81/ 140
Elementi per la definizione degli schemi xml
principi

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
schemi XML come contratti
Grosso
definiscono la struttura di un documento XML
I linguaggi di definiscono le regole per validare il contenuto degli
codifica

Fondamenti
elementi e degli attributi
del linguaggio permette ad un programma (validator, checker ) di
XML

Validare un
verificare la validità di un documento rispetto allo schema
documento
XML e
prescelto.
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 82/ 140
Elementi per la definizione degli schemi xml
Tipi di formalismi per definire schemi XML

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del Molti tipi di schemi XML


Grosso
Nel corso degli anni sono stati proposti molti formalismi per
I linguaggi di
codifica codificare gli schemi XML
Fondamenti
del linguaggio
DTD, XSD, RELAX NG
XML Schematron
Validare un
documento
XDR, SOX, DSD, DCD, DDML
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 83/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Document Type Definition (DTD)
A.M. Del
Grosso
Una document type definition (DTD) descrive le regole relative
I linguaggi di
codifica
alla struttura di un documento XML.
Fondamenti
del linguaggio Document Type Definition (DTD)
XML

Validare un Una DTD dichiara gli elementi, gli attributi, le entità e le


documento
XML e notazioni ammesse in un documento XML.
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 84/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
well-formed document != valid document
I linguaggi di
codifica
Se un documento XML manca di riferirsi ad una DTD oppure
Fondamenti non rispetta le regole di una DTD, esso può essere tutt’al più
del linguaggio
XML ben formato, ma sicuramente non può essere valido.
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 85/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del Document Type Definition (DTD)


Grosso
La validazione dei documenti XML è alla base della
I linguaggi di
codifica condivisione e scambio dati in quanto è possibile confidare sulla
Fondamenti natura dei dati trasmessi.
del linguaggio
XML

Validare un
documento
Attenzione: non possiamo validare la correttezza della
XML e
Definire uno
semantica dei dati!
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 86/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Document Type Definition (DTD)
A.M. Del
Grosso L’associazione tra documento XML e DTD viene realizzata
I linguaggi di
tramite una dichiarazione inclusa nel prologo all’inizio del
codifica
documento.
Fondamenti
del linguaggio
XML Root element and content
Validare un
documento La DTD dichiara l’elemento radice del vocabolario e il suo
XML e
Definire uno content model (children elements).
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 87/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Element Declaration (con figli)
A.M. Del
Grosso
<!ELEMENT element-name (child-element1,
child-element-2 ...)>
I linguaggi di
codifica

Fondamenti Element Declaration (solo testo)


del linguaggio
XML
<!ELEMENT element-name (#PCDATA)>
Validare un
documento
XML e
Definire uno Il Parsed Character Content designa contenuto testuale piano
Schema
Document Type senza figli
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 88/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Child Element Declaration
A.M. Del
Grosso La dichiarazione di un elemento figlio, è analoga in tutto e per
tutto alla dichiarazione dell’elemento radice. Cioè utilizzando
I linguaggi di
codifica l’etichetta <!ELEMENT >
Fondamenti
del linguaggio
XML Element Declaration (root)
Validare un
documento La dichiarazione dell’elemento radice deve sempre essere
XML e
Definire uno la prima
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 89/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Modificatori
A.M. Del Nella dichiarazione di un elemento possono essere inclusi
Grosso
opzionalmente dei modificatori, per stabilire il numero di
I linguaggi di
codifica
occorrenze degli elementi figli.
Fondamenti
del linguaggio
XML
Modificatori
Validare un + Una o più occorrenze
documento
XML e ? Zero o una occorrenza
Definire uno
Schema * Zero o più occorrenze
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 90/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Modificatori
A.M. Del
Grosso
<!ELEMENT element-name (B, C)+ >
<!ELEMENT element-name (B+, C) >
I linguaggi di
codifica <!ELEMENT element-name (B, C+) >
Fondamenti <!ELEMENT element-name (B+, C+) >
del linguaggio
XML

Validare un
documento
Se un elemento figlio deve presentarsi solo una volta, allora non
XML e
Definire uno
c’è bisogno di modificatori.
Schema Attenzione l’ordine dei figli nella dichiarazione è significativa
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 91/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Esercizio
A.M. Del
Grosso Definire i seguenti elementi:
elemento root: TEI
I linguaggi di
codifica elementi figli:
Fondamenti header (obbligatorio una occorrenza)
del linguaggio
XML
facsimile (opzionale una occorrenza)
Validare un
text (obbligatorio almeno una occorrenza)
documento
XML e
Gli elementi header, facsimile e text hanno tutti un content
Definire uno model testuale
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 92/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
choice declaration
A.M. Del
Grosso
<!ELEMENT element-name (child-a | child-b) >
I linguaggi di
codifica
Dichiarazione di Choice
Fondamenti
del linguaggio
XML
La sintassi della DTD consente di dichiarare una scelta (choice)
Validare un
tra due o più elementi come content model di un elemento.
documento
XML e
Il choice indica una scelta tra una lista di possibilità
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 93/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del Attributi degli elementi XML


Grosso

Un attributo è dichiarato sfruttando l’elemento <!ATTLIST >


I linguaggi di
codifica

Fondamenti Cos’è un attributo di un elemento XML


del linguaggio
XML Un attributo è una proprietà, una caratteristica di un elemento
Validare un
documento
e descrive il contenuto dell’elemento stesso.
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 94/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
Attributi: sintassi
I linguaggi di
codifica <!ATTLIST Element-name Attr-name Attr-type
Fondamenti
del linguaggio
Attr-state? default-value?>
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 95/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Attributi: sintassi
A.M. Del “Element-name” è il nome dell’elemento a cui l’atteibuto
Grosso
si riferisce
I linguaggi di
codifica
“Attr-name” è il nome dell’attributo dichiarato
Fondamenti “Attr-type” è il tipo di dato atteso dell’attributo
del linguaggio
XML “Attr-state” indica uno tra i tre stati possibili di un
Validare un attributo
documento
XML e “default-value” indica il valore di default per
Definire uno
Schema quell’attributo, se non fornito.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 96/ 140
Elementi per la definizione degli schemi xml
TABELLA dei tipi

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso

I linguaggi di
codifica

Fondamenti
del linguaggio
XML

Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 97/ 140
Elementi per la definizione degli schemi xml

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Stato di attributi
A.M. Del
Grosso Lo stato di un attributo può essere uno tra:
I linguaggi di
#IMPLIED (attributo opzionale)
codifica
#REQUIRED (attributo obbligatorio)
Fondamenti
del linguaggio #FIXED (valore fisso dell’attributo)
XML

Validare un
documento
XML e
Il valore di un attributo fisso viene fornito come valore di
Definire uno
Schema
default
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 98/ 140
Elementi per la definizione degli schemi xml

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Choice attributi
A.M. Del
Grosso <!ATTLIST element attribute (value1 | value2 |
I linguaggi di value3 | ...) default >
codifica
<!ATTLIST name title (Mr. | Mrs. | Ms.)
Fondamenti
del linguaggio #IMPLIED ‘‘Mr.’’>
XML

Validare un
documento Attenzione non è possibile avere un valore di default se un
XML e
Definire uno attributo è marcato #REQUIRED
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 99/ 140
Elementi per la definizione degli schemi xml

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso Attributi ID IDREF IDREFS
I linguaggi di <!ATTLIST element attribute ID >
codifica
<!ATTLIST order orderID ID #REQUIRED>
Fondamenti
del linguaggio <!ATTLIST customer orders IDREFS>
XML
<!ATTLIST package orderRef IDREF>
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 100/ 140
Elementi per la definizione degli schemi xml

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del Mixed content - DTD


Grosso
<!ELEMENT element-name (#PCDATA|child-element)* >
I linguaggi di
codifica

Fondamenti Mixed content XML


del linguaggio
XML <p>Ieri pomeriggio sono andato a
Validare un
documento
<placeName>Pisa</placeName>, per un giro</p>
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 101/ 140
Elementi per la definizione degli schemi xml

Codifica di
Testi -
Introduzione Esercizio
XML Markup
a.a.
2020-2021
root: TEI
A.M. Del Figli:
Grosso
- header(obbligatorio una volta sola)
I linguaggi di - facsimile(opzionale una volta sola)
codifica
- testo(obbligatorio una o più volte)
Fondamenti
del linguaggio * testo è un mixed content con possibile elemento <seg>
XML

Validare un
Attributi:
documento
XML e
- header: type:(fixed, CDATA “intestazione”); lang(opzionale,
Definire uno NMTOKEN)
Schema
Document Type
Definition (DTD)
- facsimile: source:(obbligatorio); ref(optionale, IDREFS)
XML Schema
Definition (XSD)
- testo: id(obbligatorio, ID) type(opzionale contenuto testuale)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 102/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup Empty elements
a.a.
2020-2021
Un elemento XML può essere vuoto (empty). La dichiarazione
A.M. Del
Grosso di un elemento vuoto si realizza con la parola chiave EMPTY.
I linguaggi di
codifica
Empy content
Fondamenti
del linguaggio
XML
<!ELEMENT element-name EMPTY>
Validare un
documento Empy content
XML e
Definire uno
Schema <!ELEMENT lb EMPTY>
Document Type
Definition (DTD) <lb />
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 103/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Any elements
A.M. Del
Grosso
E’ possibile dichiarare anche elementi che hanno qualsiasi tipo
I linguaggi di di content model.
codifica

Fondamenti
A tal proposito viene impiegata la parola chiave “ANY”.
del linguaggio
XML

Validare un
Any content
documento
XML e <!ELEMENT element-name ANY >
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 104/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Dichiarare il tipo del documento XML
A.M. Del
Grosso
La dichiarazione della DTD viene inserita attraverso una URL
nel prologo del documento XML, tra la dichiarazione del
I linguaggi di
codifica documento XML e l’elemento radice.
Fondamenti
del linguaggio
XML
Dichiarare il tipo del documento XML
Validare un
documento
Grazie al sistema di dichiarazione della DTD è possibile
XML e
Definire uno
massimizzare il riuso e collegare lo schema a tutti i documenti
Schema che si vuole validare.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 105/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso DOCTYPE
I linguaggi di <!DOCTYPE root-element SYSTEM ‘‘External DTD’s
codifica
URL’’ [Internal DTD ]>
Fondamenti
del linguaggio <!DOCTYPE root-element [Internal DTD] >
XML
<!DOCTYPE root-element SYSTEM ‘‘Ext-DTD URL’’ >
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 106/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso
DOCTYPE PUBLIC
I linguaggi di
codifica <!DOCTYPE root PUBLIC \id" \uri">
Fondamenti standard//owner//description//language
del linguaggio
XML -//W3C//DTD XHTML 1.0 Strict//EN
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 107/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Esercizi
A.M. Del
Grosso
includere all’interno di un documento XML la
dichiarazione del tipo, definire internamente gli elementi e
I linguaggi di
codifica gli attributi e validare.
Fondamenti inserire nel prologo di un documento XML la dichiarazione
del linguaggio
XML del tipo di documento e validare.
Validare un
documento
XML e
Definire uno
Creare un file esterno con estensione .dtd prima di includerlo
Schema nel prologo XML.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 108/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Entity
A.M. Del
Grosso Per includere dati da diverse fonti, DTD prevede l’uso di entità.
I linguaggi di
Due tipologie di entità sono state definite: general entities e
codifica parameter entities.
Fondamenti
del linguaggio
XML Entity: generiche e parametriche
Validare un
documento le general entities vengono espanse nel documento XML
XML e
Definire uno le parameter entities vengono espanse nel documento DTD
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 109/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del Entity


Grosso
Le general entities si possono classificare in interne ed
I linguaggi di
codifica esterne, a loro volta possono essere parsed oppure
Fondamenti unparsed.
del linguaggio
XML Le parameter entities si possono classificare in interne ed
Validare un
documento
esterne; che possono essere solo parsed.
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 110/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Entity
A.M. Del
Grosso Le entità generiche interne aiutano ad includere nel documento
I linguaggi di
XML quei caratteri speciali che altrimenti causerebbero errori al
codifica passaggio del parser.
Fondamenti
del linguaggio
XML Internal General Entity: Sintassi
Validare un
documento
XML e
<!ENTITY entity-name ‘‘replacement-string’’ or
Definire uno ‘‘hexadecimal-code’’ >
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 111/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
Internal General Entity: Sintassi
2020-2021

A.M. Del
Per usare le entità all’interno del documento XML basta
Grosso prefissare al nome dell’entità una “e commerciale” (&) e
I linguaggi di aggiungere alla fine come suffisso un “punto e virgola” (;):
codifica
&entity-name;.
Fondamenti
del linguaggio Una entità può contenere un frammento XML ben formato
XML

Validare un
documento Internal General Entity: Sintassi
XML e
Definire uno <!ENTITY firma ‘‘<i>Angelo Mario Del Grosso</i>’’>
Schema
Document Type
Definition (DTD)
<p><salutation>&firma;<salutation></p>
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 112/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Internal General Entity: Esempio con UNICODE
A.M. Del
Grosso Spesso le entità vengono utlizzate per dare un nome ai
I linguaggi di
riferimenti a carattere.
codifica

Fondamenti Internal General Entity: Sintassi


del linguaggio
XML
<!ENTITY amaiuscola ‘‘&#65;’’>
Validare un
documento <!ENTITY amaiuscola ‘‘&#x0041;’’>
XML e
Definire uno <p><salutation>&amaiuscola;ddio<salutation></p>
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 113/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup External General Entity
a.a.
2020-2021
Un documento XML può essere composto da altri pezzi di
A.M. Del
Grosso XML distribuiti in diversi luoghi.
Grazie alle entità generiche esterne è stata implementata
I linguaggi di
codifica questa caratteristica.
Fondamenti
del linguaggio
XML External General Entity: Sintassi
Validare un
documento <!ENTITY entity-name SYSTEM ‘‘URL’’ >
XML e
Definire uno <!ENTITY salutation SYSTEM ‘‘salut.xml.ent’’ >
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
L’URL punta al luogo dove risiede la external entity
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 114/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a. External General Entity
2020-2021

A.M. Del Le entità esterne non possono contenere una DTD per ovvi
Grosso
motivi di gestione dei potenziali conflitti.
I linguaggi di
codifica
E’ possibile utilizzare altre entità all’interno delle entità esterne.
Fondamenti
del linguaggio
XML
General Entity
Validare un
documento
Le entità generiche vengono dichiarate nella DTD, ma
XML e
Definire uno
possono essere utilizzate solo all’interno di un documento
Schema XML e non nella DTD stessa.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 115/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup Parameter Entity
a.a.
2020-2021 Le parameter entity sono entità sfruttabili all’interno del
A.M. Del
Grosso
documento DTD. Ma non possono essere utilizzate all’interno
del documento XML.
I linguaggi di
codifica Esestono due tipi di entità parametriche:
Fondamenti 1) internal parameter entities 2) the external parameter
del linguaggio
XML entities.
Validare un
documento
XML e Parameter Entity: Sintassi
Definire uno
Schema <!ENTITY % entity-name ‘‘replacement-string’’>
Document Type
Definition (DTD)
XML Schema
<!ENTITY % parameter-name SYSTEM ‘‘URL’’ >
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 116/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 Parameter Entity: Impiego
A.M. Del
Grosso <!ENTITY % biblinfo ‘‘(title,author?,cost?)’’>
I linguaggi di
<!ELEMENT biblInfo %biblinfo;>
codifica

Fondamenti
del linguaggio
Parameter Entity: Impiego
XML
<!ENTITY % biblInfo SYSTEM ‘‘biblInfo.dtd’’ >
Validare un
documento <!ELEMENT listBibl (bib+) >
XML e
Definire uno %biblInfo;
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 117/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
Parameter Entity: utilità
A.M. Del
Grosso
Quando una entità parametrica viene inserita in una DTD, essa
I linguaggi di viene rimpiazzata dal suo contenuto a tempo di esecuzione.
codifica

Fondamenti
del linguaggio Parameter Entity: utilità
XML

Validare un Ciò permette di facilitare lo sviluppo della DTD e di


documento
XML e ottimizzarne la manutenibilità.
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 118/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a. Parameter Entity: utilità
2020-2021

A.M. Del Le entità parametriche esterne facilitano la modularità di


Grosso
grandi DTD e permettono un linking dinamico ai vari
I linguaggi di
codifica
documenti di definizione.
Fondamenti
del linguaggio
XML
Parameter Entity: utilità
Validare un Grazie a questi tipi di entità è possibile includere pezzi di DTD
documento
XML e residenti in posizioni remote e formare un completo e unico
Definire uno
Schema documento DTD a tempo di esecuzione.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 119/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del DTD: Pros


Grosso
sono compatte e facilmente comprensibili
I linguaggi di
codifica sono definibili inline all’interno del documento XML
Fondamenti possono definire entità
del linguaggio
XML sono utilizzate da quasi tutti i vocabolari esistenti
Validare un sono supportate da quasi tutti i parser esistenti
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 120/ 140
Elementi per la definizione degli schemi xml
Principi Document Type Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
DTD: Cons
A.M. Del non sono scritte con una sintassi XML
Grosso
richiedono parser specifici
I linguaggi di
codifica
non supportano i namespaces
Fondamenti non hanno un vero meccanismo per i tipi di dati
del linguaggio
XML la validazione del contenuto di un elemento è molto
Validare un limitato e limitante
documento
XML e non ci sono meccanismi per indicare esattamente il
Definire uno
Schema numero di figli che può contenere un elemento.
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 121/ 140
Elementi per la definizione degli schemi xml
principi XML Schema Definition

Codifica di
Testi -
Introduzione
XML Markup
a.a. Cos’è uno schema XML
2020-2021

A.M. Del
Uno schema XML è un documento XML standard che descrive
Grosso come deve essere realizzato un altro documento XML.
I linguaggi di Ci riferiamo a questa tecnologia con l’acronimo XSD.
codifica

Fondamenti
del linguaggio A cosa serve uno Schema XML
XML

Validare un
I documenti XSD sono usati per validare documenti XML.
documento
XML e
Tuttavia un documento XSD viene realizzato tramite l’uso di
Definire uno un vocabolario predefinito riferibile attraverso un namespace ad
Schema
Document Type
Definition (DTD)
un URI standard.
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 122/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 XSD Schema
A.M. Del
Grosso Il termine XSD o XML Schema denota un documento XML che
I linguaggi di
descrive e valida la struttura e il contenuto di un altro
codifica documento XML.
Fondamenti
del linguaggio
XML XSD Schema
Validare un
documento
Dichiarazione del documento (declaration) e istanza del
XML e
Definire uno
documento (instance).
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 123/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione XSD elemento root
XML Markup
a.a.
2020-2021
L’elemento radice di uno schema XSD è sempre l’elemento
A.M. Del “<schema>”.
Grosso
Tutte le definizione devono seguire quindi l’elemento
I linguaggi di “<schema>”.
codifica

Fondamenti
del linguaggio XSD Schema
XML

Validare un
Tutti gli elementi e gli attributi dello schema sono dichiarati
documento
XML e
all’interno del namespace
Definire uno
Schema
“http://www.w3.org/2001/XMLSchema.”.
Document Type
Definition (DTD)
Tutti i documenti XSD contengono la dichiarazione a questo
XML Schema
Definition (XSD)
namespace con prefisso convenzionale xsd oppoure xs.
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 124/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021
XSD componenti di base
A.M. Del
Grosso
I componenti di base di uno Schema XSD sono le dichiarazioni
I linguaggi di
codifica
degli elementi e le dichiarazioni degli attributi.
Fondamenti
del linguaggio
XML
XSD Schema
Validare un Le dichiarazioni più complesse si poggiano su queste
documento
XML e unità: elementi e attributi.
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 125/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 XSD dichiarazioni
A.M. Del
Grosso Scrivere un pezzo di codice XSD per descrivere e validare un
I linguaggi di
elemento per un documento XML è detto element declaration.
codifica

Fondamenti
del linguaggio
XSD dichiarazioni di base
XML
XSD permette di dichiarare elementi, attributi e di spcificare il
Validare un
documento numero di figli, le occorrenze, l’ordine di apparizione, e i tipi di
XML e
Definire uno dati del content model.
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 126/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione
XML Markup
a.a.
Element Types: simple and complex
2020-2021

A.M. Del
La dichiarazione di un elemento può avere un tipo semplice
Grosso (simple type) oppure un tipo complesso (comples type) a
I linguaggi di seconda della sua struttura e del suo contenuto.
codifica

Fondamenti
del linguaggio
Simple Type e Complex Type
XML

Validare un
La dichiarazione di un elemento ha un tipo semplice se non
documento
XML e
possiede né figli né attributi.
Definire uno
Schema
La dichiarazione di un elemento ha un tipo complesso in tutti
Document Type
Definition (DTD)
gli altri casi.
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 127/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 XSD esempio
A.M. Del
Grosso <xsd:schema
I linguaggi di
xmlns:xsd=‘‘http://www.w3.org/2001/XMLSchema’’>
codifica <xsd:element name=‘‘text’’/>
Fondamenti
del linguaggio
</xsd:schema>
XML

Validare un
documento
XSD esempio elemento di tipo semplice
XML e
Definire uno <text>Il primo documento XML Validato</text>
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 128/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 XML XSD esempio
A.M. Del
Grosso Il documento XML istanza dello schema XSD per essere valido
I linguaggi di
deve contenere un elemento radice. Validare il documento
codifica
XML con il relativo XSD con XMLlint.
Fondamenti
del linguaggio
XML XMLlint
Validare un
documento xmllint xmlfirst.xml --schema
XML e
Definire uno ../schema/xsd/xsdfirst.xsd
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 129/ 140
Elementi per la definizione degli schemi xml
principi XSD

Codifica di
Testi -
Introduzione
XML Markup
a.a.
Element Complex Types: esempio
2020-2021

A.M. Del
<xsd:schema
Grosso xmlns:xsd=‘‘http://www.w3.org/2001/XMLSchema’’>
I linguaggi di <xsd:element name=‘‘Employee’’> <xsd:complexType>
codifica
<xsd:attribute name=‘‘FirstName’’/>
Fondamenti
del linguaggio </xsd:complexType> </xsd:element> </xsd:schema>
XML

Validare un
documento Element Complex Types: esempio
XML e
Definire uno
Schema
Il documento XML istanza dello schema:
Document Type
Definition (DTD)
<Employee FirstName="Jacob"/>
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 130/ 140
Progress status

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021 1 I linguaggi di codifica
A.M. Del
Grosso

I linguaggi di
2 Fondamenti del linguaggio XML
codifica

Fondamenti
del linguaggio
XML
3 Validare un documento XML e Definire uno Schema
Validare un
documento
XML e 4 Conclusioni
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 131/ 140
Elementi XML
Conclusioni

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
XML per rappresentare il testo
Grosso
I markup language per supportare la rappresentazione,
I linguaggi di
codifica
memorizzazione, pubblicazione di un testo.
Fondamenti
XML è un markup language flessibile e potente.
del linguaggio
XML
le istruznioni dei markup language sono per lo più
Validare un dichiarazioni indicando particolari funzioni del dato.
documento
XML e le istruznioni sono etichette visibili.
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 132/ 140
Elementi XML
Conclusioni

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso XML per rappresentare il testo
I linguaggi di Una sintassi e una grammatica regolano l’applicabilità del
codifica
linguaggio di marcatura
Fondamenti
del linguaggio Sintassi: documento well formed (ben formato)
XML

Validare un
Grammatica: documento valido
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 133/ 140
Elementi XML
Conclusioni

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del XML per rappresentare il testo


Grosso
XML deriva dal linguaggio SGML.
I linguaggi di
codifica XML è una specifica del consorzio W3C.
Fondamenti XML è un meta-linguaggio.
del linguaggio
XML XML è plain text.
Validare un
documento
XML è portabile.
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 134/ 140
Elementi XML
Conclusioni

Codifica di
Testi -
Introduzione
XML Markup
a.a.
2020-2021

A.M. Del
Grosso XML per rappresentare il testo
I linguaggi di XML definisce markup dichiarativi e descrittivi.
codifica
XML ha un modello dati ad albero ordinato.
Fondamenti
del linguaggio XML può avere associato un tipo di documento (DTD) o
XML
uno schema (XSD).
Validare un
documento
XML e
Definire uno
Schema
Document Type
Definition (DTD)
XML Schema
Definition (XSD)
RELAX NG

Conclusioni

A.M. Del Grosso Codifica di Testi - Introduzione XML Markup a.a. 2020-2021 135/ 140

Potrebbero piacerti anche