1 linguaggi di codifica. 2 standard generalized markup language: - markup language perché sgml è...
TRANSCRIPT
![Page 1: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/1.jpg)
1
Linguaggi di codifica
![Page 2: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/2.jpg)
2
Standard Generalized Markup Language: - Markup Language perché SGML è un
metalinguaggio per la codifica testuale, basato su un sistema di marche che vengono associate al contenuto di un testo per esplicitarne alcune caratteristiche.
- Generalized perché si tratta di un sistema di codifica dichiarativo fortemente astratto e generalizzato ed al contempo altamente flessibile.
- Standard perché si tratta di uno standard formale sviluppato dalla International Standardization Organization e pubblicato ufficialmente con la sigla ISO 8879:1986.
![Page 3: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/3.jpg)
3
Standard Portabile Indipendenza dall’hardware Indipendenza dal software Indipendenza dal sistema di codifica dei
caratteri Indipendenza logica dalle tipologie di
elaborazione
![Page 4: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/4.jpg)
4
Metalinguaggio È un linguaggio che serve a descrivere
altri linguaggi
Fornisce regole per la creazione di grammatiche e vocabolari personalizzati
![Page 5: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/5.jpg)
5
Regole “filosofiche” di SGML
Separazione del contenuto dalle istruzioni
Cattura del significato strutturale e funzionale degli elementi del testo
![Page 6: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/6.jpg)
6
Document Type Definition È obbligatoriamente allegata a un
documento SGML Definisce il markup Definisce i rapporti fra gli elementi del
markup Rende possibile uno stretto controllo sulla
struttura del contenuto Rende possibile un controllo sintattico
automatico: parsing
![Page 7: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/7.jpg)
7
Un linguaggio SGML specifica: gli elementi che compongono il markup; il contesto in cui possono ricorrere questi
elementi; quali elementi sono necessari per creare
un documento; i delimitatori del testo che costituiscono i
vari elementi, per distinguerli dal testo vero;
il significato dei vari simboli di markup che saranno utilizzati.
![Page 8: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/8.jpg)
8
I “dialetti” SGML: HTML HyperText Markup Language Serve a costruire documenti ipertestuali:
per esempio le pagine web DTD standard Di facile utilizzo
![Page 9: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/9.jpg)
9
Documento HTML File di testo Contiene:
Testo Markup
Linguaggio standard e portabile Linguaggio interpretato
![Page 10: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/10.jpg)
10
Esempio<html>
<head><title>Benvenuti in HTML</title>
</head><body>
<h1>Ciao da HTML</h1><p>Benvenuti nel vasto e confuso mondo
di HTML</p></body>
</html>
![Page 11: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/11.jpg)
11
Un’applicazione “eretica”? Si usa per descrivere l’aspetto di un
documento e non solo la semantica del testo
Non sempre le regole di stile (foglio di stile CSS) vengono tenute separate
Possibilità di overlapping
![Page 12: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/12.jpg)
12
HTML e l’interscambio dei dati HTML non è adatto allo scambio dei dati
perché gli elementi sono generici Elementi non definibili dall’utente Elementi non autoreferenziali
![Page 13: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/13.jpg)
13
La nuova frontiera di SGML: XML Elaborato dal W3C Scopo: semplificare SGML per farlo
diventare il linguaggio del web Prima bozza: 1996 Prima versione (e per ora ultima): 1998
![Page 14: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/14.jpg)
14
XML ≠ SGML Non supporta le regole di minimizzazione
La DTD non è obbligatoria
E’ case sensitive
www.w3.org/TR/NOTE-sgml-xml.
![Page 15: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/15.jpg)
15
Caratteristiche Consente la creazione di vocabolari XML in
modo facile e intuitivo È autoesplicativo Può essere usato per documenti text-
oriented Può essere usato per l’interscambio dei
dati
![Page 16: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/16.jpg)
16
XML: una famiglia di linguaggi XLink: linguaggio che serve per connettere diversi
documenti XML e non. XPointer: linguaggio che serve a specificare le aree
(locations) a cui si punta all’interno di un documento. XPath: linguaggio con il quale è possibile costruire
espressioni per localizzare informazioni all’interno di un documento XML.
XSL: linguaggi per la costruzioni di fogli di stile per la visualizzazione di documenti XML e per la trasformazione di documenti XML in altri documenti (altri XML, HTML, XHTML, solo testo, ecc.).
XHTML: l’implementazione di HTML basata su XML.
![Page 17: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/17.jpg)
17
XML – documenti ben formati
![Page 18: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/18.jpg)
18
<elementi> Struttura base di XML
Racchiude una unità testuale considerata come una componente strutturale del documento
XML dichiara solo la struttura relazionale degli elementi non la loro semantica
![Page 19: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/19.jpg)
19
Generic Identifier Il nome di un elemento è detto GI
Un elemento è costituito da 1. start tag 2. contenuto 3. end tag
Un elemento può essere vuoto
![Page 20: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/20.jpg)
20
Esempi di elementiElementoElemento<p> Questo è un paragrafo </p>
start tag + contenuto + end tag
Elemento vuotoElemento vuoto start tag = contenuto = end tag
<figura /> o <figura></figura>ma non<figura> </figura>
![Page 21: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/21.jpg)
21
Struttura dei datiSequenza
<radice><titolo> Questo è un elemento titolo</titolo> <p>Questo è un paragrafo</p><nota>Questa è una nota</nota>
</radice>
![Page 22: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/22.jpg)
22
Struttura dei datiAnnidamento
<radice><capitolo>Questo è un capitolo,
<titolo> Questo è un elemento titolo</titolo> <p>Questo è un paragrafo</p>
</capitolo>
</radice>
![Page 23: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/23.jpg)
23
Relazioni gerarchiche e ordinaliDati due elementi obbligatori a e b, può
darsi uno solo di questi casi:
a contiene b a è contenuto da b a precede b a segue b
![Page 24: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/24.jpg)
24
Esempio di testo
Testo
frontespizio Introduzione Corpo appendice
titolo + paragrafi titolo + capitoli
titolo
+ paragrafi
indice glossario
![Page 25: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/25.jpg)
25
Strutture concorrenti<pagina n="1">
<p>Questo è un paragrafo nella pagina 1</p><p> Questo è un altro paragrafo</p><p> Questo paragrafo comincia a pagina 1
</pagina><pagina n="2">
e finisce nella pagina 2</p>
</pagina>
![Page 26: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/26.jpg)
26
Milestone<pagina n="1" />
<p>Questo è un paragrafo nella pagina 1</p><p> Questo è un altro paragrafo</p><p> Questo paragrafo comincia a pagina 1
<pagina n="2" />e finisce nella pagina 2</p>
![Page 27: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/27.jpg)
27
Esempio<antologia> <poesia><titolo>I</titolo> <stanza>
<verso>Voi ch'ascoltate in rime sparse il suono</verso><verso>di quei sospiri ond'io nudriva 'l core</verso><verso>in sul mio primo giovenile errore</verso><verso>quand'era in parte altr'uom da quel ch'i' sono,</verso>
</stanza> <stanza>
<verso>del vario stile in ch'io piango et ragiono</verso><verso>fra le vane speranze e 'l van dolore</verso><verso>ove sia chi per prova intenda amore</verso><verso>spero trovar pietà, nonché perdono.</verso>
</stanza> </poesia></antologia>
![Page 28: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/28.jpg)
28
File ben formati deve esistere un singolo elemento (compreso fra uno start
ed un end tag) che racchiuda l’intero documento: tale elemento assume il nome di root element (<antologia> nel nostro caso);
tutti gli elementi devono essere racchiusi all’interno dell’elemento root o all’interno di elementi a loro volta racchiusi nell’elemento root; gli elementi non possono intrecciarsi gli uni agli altri (overlapping);
il tag che indica l’inizio e la fine dell’elemento deve essere sempre presente
Gli elementi vuoti devono essere correttamente chiusi o tramite uno slash all’interno dell’unico tag (<figura/>), oppure senza introdurre alcun carattere fra lo start-tag e l’end-tag (<figura></figura>).
![Page 29: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/29.jpg)
29
Well formedness parsersI più diffusi:
Internet Explorer Netscape Navigator Nell’editor
Esempio Esercizio 1
![Page 30: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/30.jpg)
30
CommentiTutto ciò che si trova all’interno di un
commento non viene elaborato
<!-- Commento -->
![Page 31: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/31.jpg)
31
File ben formati – aggiunta I commenti devono essere aperti con <!--
e chiusi con --> *Non è ammesso il commento vuoto <!>
(SGML) *Un commento non può essere inserito
dentro un tag o dentro un altro commento
![Page 32: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/32.jpg)
32
Attributi<p allineato="centro">Questo è un
paragrafo centrato</p>
<p allineato="sinistra">Questo è un paragrafo allineato a sinistra</p>
![Page 33: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/33.jpg)
33
Le virgolette degli attributi
<p allineato="sinistra"> o
<p allineato='sinistra'> e non
<p allineato='sinistra">
![Page 34: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/34.jpg)
34
File ben formati - aggiunta I valori degli attributi devono
necessariamente essere espressi fra virgolette semplici o doppie, con obbligo di coerenza
Un attributo non può essere usato due volte all’interno dello stesso elemento
![Page 35: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/35.jpg)
35
Combinazione di più attributi
<p allineato="sinistra" n="1">Questo è il primo paragrafo giustificato a sinistra</p>
![Page 36: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/36.jpg)
36
Elemento o attributo
Nuova categoria: elemento
Nuova tipologia di una categoria: attributo
Esercizio 2
![Page 37: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/37.jpg)
37
Sezioni CDATA Consentono di ignorare una porzione di
markup Iniziano con <![CDATA[ Finiscono con ]]>
![Page 38: 1 Linguaggi di codifica. 2 Standard Generalized Markup Language: - Markup Language perché SGML è un metalinguaggio per la codifica testuale, basato su](https://reader035.vdocuments.us/reader035/viewer/2022062512/5542eb5a497959361e8c78b1/html5/thumbnails/38.jpg)
38
Sezioni CDATA<p>L'elemento <gi>foreign</gi> può
essere usato per marcare una parola in lingua straniera. Per esempio <![CDATA[<p>Noi andiamo spesso in vacanza in un <foreign lang='eng'>camping</foreign>.</p>]]>.</p>