+ All Categories
Home > Documents > Linguaggi per la descrizione dei documenti - lia.deis.unibo.it · In entrambi i casi gli elementi...

Linguaggi per la descrizione dei documenti - lia.deis.unibo.it · In entrambi i casi gli elementi...

Date post: 15-Feb-2019
Category:
Upload: vuthien
View: 213 times
Download: 0 times
Share this document with a friend
31
Linguaggi per la descrizione dei documenti SGML,HTML,XML
Transcript

Linguaggi per la descrizione dei documenti

SGML,HTML,XML

SGML(Standard General Markup Language)

• Molteplicità di documenti di tipo diverso (es. web): articoli, cataloghi, rubriche, tabelle di dati etc..

• Ciascuno dotato di una sua struttura logica (articolo: titolo, sottotitolo, autore, data ,etc..). Tutti memorizzati utilizzando il formato a carattere (ASCII), ma con convenzioni differenti (prima il nome poi il cognome, campi fissi da 30 byte, nome delimitato da “$”..).

• Difficoltà di gestione dell’archivio (rintracciabilità di un testo , del nome dell’autore o tutti gli articoli da lui scritti..).

• Necessità di un formato di rappresentazione strutturato. Aggiunta al testo di marcature (tag) per renderlo strutturato.

•SGML (Standard General Markup Language).Sviluppato nel 1986 da International Organization for Standardization.

•Metalinguaggio: descrive un insieme di marcatori e le regole per il loro uso

•HTML (Hyper Text Markup Language) e’ il primo linguaggio che deriva da SGML, semplificandone le regole. Contiene un insieme di tag e di regole per il loro uso.

•Struttura di HTML:<HTML><HEAD>…. </HEAD><BODY>….</BODY></HTML>.

•Successiva estensione di HTML con marcatori per la visualizzazione delle pagine (specifica del font, sua dimensione, colore del testo, dello sfondo..).

•Soluzioni proprietarie (Netscape,Explorer..).

•Utilizzato soprattutto come linguaggio per la descrizione fisica dei documenti (visualizzazione sullo schermo).

• Nell’ipotesi che la pagina sia un semplice documento esso èmemorizzato come una sequenza di caratteri.

• Per consentire che, quando riprodotto sul video del client, il documento abbia la struttura voluta(suddivisione in paragrafi, presenza di titoli e sottotitoli, particolare evidenziazione ad alcune parti etc..), occorre descriverne tale struttura tramite i comandi di un linguaggio di marcatura (mark up language).

• Il più noto di questi linguaggi è HTML (HyperText MarkupLanguage).

• Una volta arrivata la pagina, il browser provvede a visualizzarla, utilizzando un particolare programma in grado diinterpretare i comandi HTML(interprete HTML)..

HTMLHypertext Markup Language

• HTML è costituito da un insieme di “tag” predefiniti che descrivono aspetti relativi alla presentazione del documento: tipi di caratteri, spaziatura tra le linee di testo, dimensione dei caratteri etc..

• Il linguaggio è interpretato dal browser che riproduce il documento a seconda delle indicazioni contenute nei tag.

• Non è possibile utilizzare il linguaggio HTML per descrivere le strutture dei dati o più in generale per descrivere il contenuto di un documento.

HTML(Hyper Text Mark-up Language)

• Problema: nota la strurttura logica del materiale contenuto in una pagina (capitoli, paragrafi, figure..) come definire la struttura grafica del documento (grassetto, maiuscolo, corsivo, testo colorato, sfondo colorato etc.)?

• Linguaggi di mark-up. Es: HTML

• Utilizzo di tag: parola chiave racchiusa tra parentesi angolate. Es:Es:<HTML> marca l’inizio di un documento HTML.

• <BR> e <P> indicano l’inizio di una nuova riga e di un nuovo paragrafo

• <Body BG COLOR=Yellow> specifica che il documento avra’ come colore di fonfo il giallo

•I file HTML sono documenti di testo contenenti etichette (tag)

• Le etichette descrivono la struttura del documento e danno suggerimenti per l’impaginazione.

• Sono divisi in due parti, preambolo (head) e corpo (body).

<HTML><HEAD>

<TITLE>Questo il titolo del documento</TITLE>

</HEAD><BODY>

Questo e’ il corpo del documento</ BODY >

</HTML>

Esempi di etichette HTML

Ciao a tutti<BR>questo è un esempio</BR> di codice HTML

Ciao a tuttiquesto è un esempio di codice HTML

IntestazioniSalve!<BR><H1> Questa intestazione è importante</H1><BR><H2> Questa un po’ meno</H2>

Salve!Questa intestazione è importanteQuesta un po’ meno

<HTML><HEAD><TITLE>Primo esempio </TITLE></ HEAD><BODY>Primo esempio di pagina web scritto in HTML. Anche se il testo va a capo nella pagina visualizzata, per andare a capo bisogna usare il tag <BR> oppure il tag <P> che oltre che andare a capo inserisce una riga vuota.</BODY>

</HTML>

Primo esempio di pagina web scritta in HTML. Anche se il testo va a capo, per andare a capo nella pagina visualizzata bisogna usare il tagoppure il tag

che oltre che ad andare a capo inserisce una riga vuota.

Altri tag.

La coppia <CENTER>….>CENTER> centra nella finestra il testo contenuto all’interno.

Variazione dimensionale del font: <H1>….fino a <H6>

Liste non ordinate sono racchiuse tra i tag <UL>…</UL>.

Liste ordinate sono racchiuse tra i tag <OL>…</OL>.

In entrambi i casi gli elementi della lista sono racchiusi tra <L1>…</L1>

Linea orrizzontale: <HR WIDTH=“100%”> disegna una linea larga come la finestra.

<HTML><HEAD><TITLE> Esempi di formattazione </TITLE></HEAD><BODY BGCOLOR=Yellow> <H1><CENTER> Titolo Centrato </CENTER> </H1><H2><CENTER> Sotto-Titolo Centrato </CENTER> </H2><H3><CENTER> Sotto-Sotto-Titolo Centrato </CENTER> </H3><HR WIDTH= “100”%><H2>Lista non ordinata </H2><UL><LI> Primo elemento </LI><LI> Secondo elemento </LI> <LI> Terzo elemento </LI> </UL><HR WIDTH= “100”%><H2>Lista non ordinata </H2><OL><LI> Primo elemento </LI><LI> Secondo elemento </LI> <LI> Terzo elemento </LI> </OL></BODY></HTML>

TITOLO CENTRATO

Sotto-titolo Centrato

Sotto-sotto-titolo Centrato----------------- ----------------------------------------------------------------------------------------------------

Lista non ordinata

• Primo elemento• Secondo elemento• Terzo elemento

----------------- --------------------------------------------------------------------------------------------Lista ordinata

1. Primo elemento2. Secondo elemento3. Terzo elemento

•Terzo elemento

Inserimento figure

Formati più utilizzati: JPEG (adatto ad immagini di grande formato) e GIF (adatto per immagini di piccolo formato).

<IMG SRC= “Immagini/ leonardo.jpg”> oppure

<IMG SRC= “Immagini/ leonardo.jpg”WIDTH=200 HEIGHT =68>

Ecco una foto <IMG SRG= “incontro.gif” ALIGN=middle> diventa

Ecco una foto FOTO

Limiti di HTML

• Linguaggio chiuso e non modificabile: insieme prefissato di tag. .L’insieme di tag accettati da HTML è stato definito assieme al linguaggio stesso.

• Ogni nuova versione di HTML introduce nuovi tag.

•. Orientato prevalentemente all’impaginazione grafica sul video di documenti web.

• Una pagina web deve essere progettata per uno schermo dotato di determinate caratteristiche (risultati impredicibili su altri dispositivi di visualizzazione o sulla stampa su carta). Dipendenza dal tipo di browser utilizzato.

• Non adatto a rappresentare strutture complesse (record di data-base, descrizione bibliografica..)

XML(Extensible Markup Language)

• E’ possibile associare a ciascuna parte di un testo un marcatore (tag) che lo qualifica come un determinato elemento logico.(es: titolo, paragrafo,nota..).

• I tag utilizzati nel linguaggio sono definiti dall’utente e consentano di descrivere la struttura e la natura dell’informazione contenuta nel testo.

• Un documento XML ha una struttura gerarchica: ciascun elemento, delimitato da un tag di apertura e di chiusura, è contenuto in altri elementi

• I browser non possono interpretare i tag.

• XML non consente la descrizione della presentazione grafica degli elementi logici del testo. Si utilizzano allo scopo appositi linguaggi detti fogli di stile.

•XSL (eXtensible Stylesheet language). Trasforma e traduce i dati XML da un formato ad un altro (visualizzazione di un documento XML in HTML, PDF..)Consente non solo di decidere il formato grafico, ma anche di scegliere quali elementi visualizzare e in che ordine

• Si può utilizzare uno stesso documento codificato in XML per diverse modalità di pubblicazione (carta, CD-ROM, www, audio..) cambiando il foglio di stile associato.

Fogli di stile XSL e XSLT

XSL (eXtensible Stylesheet language). Trasforma e traduce i dati XML da un formato ad un altro (visualizzazione di un documento XML in HTML, PDF..)

Parsing

• Parsing: Analisi delle regole sintattiche. Ad ogni tag corrisponde un tag di chiusura, l’annidamento dei tag deve essere corretto

• Un documento XML che abbia superato l’analisi sintattica si dice “wellformed” (ben formato).

• Esistono due tipi di parser:

• SAX (Simple API for XML). Durante la lettura del file XML, ne individua i vari elementi e per ognuno di essi esegue le opportune azioni (documenti molto lunghi che non potrebbero essere contenuti in memoria centrale).

• DOM (Document Object Module). Legge l’intero documento XML e lo trasforma in un albero che risiede in memoria centrale (va bene per documenti che richiedono un’elaborazione complessa, ma di dimensioni limitate).

Un file XML<?xml version=“1.0”?><sala pranzo>

<tavolo tipo”rotondo” legno=“ciliegio”><produttore> Il negozio del legno</produttore/>< prezzo>2.000</prezzo>

</tavolo ><sedia legno= “ciliegio”>

<quantità>2</ quantità><qualità >excellent</qualità><cuscino incluso=“true”><colore>blu </ colore></cuscino>

</sedia><sedia legno= “pino”><quantità>3</ quantità><qualità >media</qualità>

</sedia></sala pranzo>

DTD (Document Type Definition)

•XML non prescrive i nomi dei diversi marcatori, ma solo la sintassi generica per la loro definizione ed il loro utilizzo nella identificazione degli elementi di testo.

• DTD è un insieme di specifiche che stabiliscono quali sono i nomi ammissibili per i marcatori, i nomi per i loro attributi e quali relazioni di inclusione possono sussistere tra loro.Descrive rigorosamente le possibilità strutturali del documento in esame.

• La dichiarazione <!Element> associa il nome di un elemento ai suoi possibili contenuti.

•Un documento XML che soddisfa le specifiche di una DTD si dicevalidated (convalidato) rispetto a quella DTD

DTD definisce una serie di limiti per un documento XML. Definisce il modo con cui un documento XML dovrebbe essere realizzato.

Un documento è considerato valido quando segue le limitazioni imposte dal DTD per la formattazione dei datiXML.

Ciò è particolarmente importante quando si cerca di trasferire dati tra le applicazioni:sintassi e formattazione devono essere accettate da tutte le parti in causa.

Ambiguità presenti nel documento. Il tag <quantità> può rappresentare il numero di sedie presenti nel magazzino? L’ attributo legno può essere specificato all’interno di un tag <sedia>?

Nella DTD associata al documento potrebbe essere specificato che gli unici valori ammissibili per l’attributo legno siano “ciliegio”,”pino”, “quercia” o “mogano”.

Potrebbe essere definito anche l’ordine di annidamento. Es.< cuscino> può essere annidato solo all’interno del tag <sedia>.

I DTD aggiungono la portabilità ad un documento XML producendo dati che possono essere elaborati e convalidati da qualsiasi applicazione in grado di individuare il DTD corrispondente

Esempio di DTD per un documento XML

<?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)><!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)><!ELEMENT heading (#PCDATA)><!ELEMENT body (#PCDATA)> ]>

<note><to>Tove</to> <from>Jani</from> <heading>Reminder</heading><body>Don't forget me this weekend</body></note>

!DOCTYPE note (in line 2) defines that this is a document of the type note.!ELEMENT note (in line 3) defines the note element as having four elements: "to,from,heading,body".!ELEMENT to (in line 4) defines the to element to be of the type"#PCDATA".!ELEMENT from (in line 5) defines the from element to be of the type"#PCDATA"and so on.....

La DTD può essere inserita all’inizio del documento XML o memorizzata in un file diverso cui fa riferimento.

La DTD può essere privata (scritta dall’utente stesso) oppure pubblica (reperita in rete).

La soluzione più conveniente, quando possibile , è quella di usare DTD esterne pubbliche definite da organismi autorevoli, per rendere agevole la scrittura di documenti condivisibili facilmente in tutto il mondo.

CML (Chemical Markup Language)GML ( Geography Markup Language)MathML(Mathematical Markup Language)SMIL (Synchronized Multimedia Integration Language)SVG (Scalable Vector Graphics)WML (Wireless Markup Language)

Analogie e differenze con HTML

•Entrambi derivano da SGML, ma HTML è stato specializzato nella parte relativa alla visualizzazione dei dati.

•XML non è orientato alla visualizzazione dei dati, ma è un metodo assolutamente generale di descrivere i dati.

•Somiglianze sintattiche ( i tag sono indicati allo stesso modo, <nome tag> </nome tag>).

•A differenza di HTML, in XML i tag sono “liberi”, cioè definiti dal programmatore.

•Sintassi di XML più rigida (ogni tag aperto deve essere anche chiuso, vi è differenza tra maiuscole e minuscole..).

•XML ha una struttura ad albero , cioè gerarchica.

Software di base•Browser XML. Consentano la semplice lettura di documenti XMLOpen source, Internet Explorer, Netscape 6.

•Non sono compresi , normalmente parser di validazione del documento rispetto alla DTD .

•Parser di validazione e XSLT sono disponibili come prodotti open source.

•Editor XML (file di testo) : forniscono funzionalità come evidenziazione con colori diversi dei vari tag, controllo sulla coerenza sintattica, la validazione rispetto alla DTD di riferimento e la visualizzazione della struttura ad albero.

•MS XML Notepad, XML Pro,ect. XML SPY (molto popolare in Italia)

•E’ possibile esporre in formato XML il risultato delle interrogazioni. La codifica di una tabella relazionale in XML è semplice.

•Esempio: Microsoft SQL Server permette di richiedere la codificain XML del risultato di una interrogazione aggiungendo all’interrogazione la clausola “FOR XML”

•E’ possibile aggiornare un data-base relazionale partendo dai dati in formato XML; quasi tutti i data base relazionali offrono programmi di utilità a questo scopo in grado di estrarre i dati con cui aggiornare le tabelle relazionali.

UTILIZZO di XML

XML per la presentazione

•Separazione del contenuto dalla sua rappresentazione. Lo stesso contenuto può essere rappresentato su dispositivi diversi che richiedono diversi stili di presentazione.

•XML viene usato per rappresentare il contenuto , mentre XSL e XSLT sono usati per realizzare una presentazione adatta al particolare client (evitando la realizzazione di svariate versioni della stessa applicazione.).

•E’ possibile scegliere il foglio di stile in funzione del tipo di client da cui proviene la richiesta di un documento XML.

XML per le comunicazioni

XHTML(eXtensible Hypertext Markup Language)

• Sfruttando le somiglianze sintattiche è stato definito un linguaggio di markup per le pagine web che mette a disposizione le possibilità di HTMLcon una sintassi XML

•Semplifica la programmazione di browser per computer e cellulariSoftwaredi base


Recommended