1 linguaggi di codifica. 2 standard generalized markup language: - markup language perché sgml è...
TRANSCRIPT
1
Linguaggi di codifica
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.
3
Standard Portabile Indipendenza dall’hardware Indipendenza dal software Indipendenza dal sistema di codifica dei
caratteri Indipendenza logica dalle tipologie di
elaborazione
4
Metalinguaggio È un linguaggio che serve a descrivere
altri linguaggi
Fornisce regole per la creazione di grammatiche e vocabolari personalizzati
5
Regole “filosofiche” di SGML
Separazione del contenuto dalle istruzioni
Cattura del significato strutturale e funzionale degli elementi del testo
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
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.
8
I “dialetti” SGML: HTML HyperText Markup Language Serve a costruire documenti ipertestuali:
per esempio le pagine web DTD standard Di facile utilizzo
9
Documento HTML File di testo Contiene:
Testo Markup
Linguaggio standard e portabile Linguaggio interpretato
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>
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
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
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
14
XML ≠ SGML Non supporta le regole di minimizzazione
La DTD non è obbligatoria
E’ case sensitive
www.w3.org/TR/NOTE-sgml-xml.
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
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.
17
XML – documenti ben formati
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
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
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>
21
Struttura dei datiSequenza
<radice><titolo> Questo è un elemento titolo</titolo> <p>Questo è un paragrafo</p><nota>Questa è una nota</nota>
</radice>
22
Struttura dei datiAnnidamento
<radice><capitolo>Questo è un capitolo,
<titolo> Questo è un elemento titolo</titolo> <p>Questo è un paragrafo</p>
</capitolo>
</radice>
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
24
Esempio di testo
Testo
frontespizio Introduzione Corpo appendice
titolo + paragrafi titolo + capitoli
titolo
+ paragrafi
indice glossario
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>
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>
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>
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>).
29
Well formedness parsersI più diffusi:
Internet Explorer Netscape Navigator Nell’editor
Esempio Esercizio 1
30
CommentiTutto ciò che si trova all’interno di un
commento non viene elaborato
<!-- Commento -->
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
32
Attributi<p allineato="centro">Questo è un
paragrafo centrato</p>
<p allineato="sinistra">Questo è un paragrafo allineato a sinistra</p>
33
Le virgolette degli attributi
<p allineato="sinistra"> o
<p allineato='sinistra'> e non
<p allineato='sinistra">
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
35
Combinazione di più attributi
<p allineato="sinistra" n="1">Questo è il primo paragrafo giustificato a sinistra</p>
36
Elemento o attributo
Nuova categoria: elemento
Nuova tipologia di una categoria: attributo
Esercizio 2
37
Sezioni CDATA Consentono di ignorare una porzione di
markup Iniziano con <![CDATA[ Finiscono con ]]>
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>