1 / 36

STRUTTURA E RAPPRESENTAZIONE

STRUTTURA E RAPPRESENTAZIONE. Desideriamo un software che ci permetta l’interscambio di documenti a prescindere dalla piattaforma Il software deve permettere di scambiare non solo la rappresentazione ma anche la struttura del documento. STRUTTURA E RAPPRESENTAZIONE.

deidra
Télécharger la présentation

STRUTTURA E RAPPRESENTAZIONE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. STRUTTURA E RAPPRESENTAZIONE • Desideriamo un software che ci permetta l’interscambio di documenti a prescindere dalla piattaforma • Il software deve permettere di scambiare non solo la rappresentazione ma anche la struttura del documento.

  2. STRUTTURA E RAPPRESENTAZIONE • I prodotti WYSIWYG limitano la portabilità • I linguaggi di markup indicano le caratteristiche di un testo marcando porzioni di testo • I linguaggi di markup prescindono dal software con cui sono generati • HTML è un linguaggio di markup

  3. STRUTTURA E RAPPRESENTAZIONE • HTML presenta numerosi limiti : • aumento dei dead links perchè il link è solo un valore di un attributo interno al file • non è nato per inserire elementi multimediali e necessita di tecnologie parallele proprietarie (Scockwave, Acrobat, Javascript) che non funzionano su tutti i browser

  4. STRUTTURA E RAPPRESENTAZIONE • HTML presenta numerosi limiti : • Non c’è distinzione fra tag struttura e tag rappresentazione • I motori di ricerca sono costretti a fare ricerche su tutto il testo a parità di importanza • I tag sono solo predefiniti e non è possibile definirne di nuovi

  5. XML - eXtensible Markup Language • Nasce così XML, metalinguaggio per creare linguaggi personalizzati • Porta nel WWW lo Standard Generalized Markupo Language (SGML) nato nel 1986 • E’ un sottoinsieme più semplice di SGML • Descrive la struttura dei dati e non la loro rappresentazione • Permette di creare tag personalizzati

  6. XML - eXtensible Markup Language • Fornisce un modo per definire i tag e i rapporti strutturali fra loro • Il parser è application-independent • Consente a gruppi di persone di creare il proprio linguaggio di markup • Lo stesso sorgente può essere visualizzato in modi diversi e con device diversi (anche audio)

  7. XML - eXtensible Markup Language • I link in XML sono controllati dal linguaggio XLL che controlla e gestisce gli eventi associati • I link in XML possono essere: • bidirezionali • multipli (uno a molti e molti a uno - es. Web rings) • links a sezioni strutturali di un documento • links a sequenze di documenti • links definiti all’esterno del documento

  8. XML - eXtensible Markup Language • Un tool per leggere un documento XML consiste di due parti: • un Parser che esegue il controllo semantico e gestisce gli errori • un Processor che utilizzando un file di styling separato visualizza il documento.

  9. XML - eXtensible Markup Language • Permette di creare un modello, chiamato Document Type Definition (DTD), che descrive la struttura di una classe di documenti. • Può essere utilizzato come piattaforma per lo scambio di dati tra applicazioni e database di fornitori differenti e sistemi operativi diversi

  10. XML - eXtensible Markup Language • Esistono diversi linguaggi di styling • Il linguaggio di styling XSL definisce la specifica per la presentazione • con XSL è possibile creare fogli di stile di qualunque formato (audio, video, braille,…)

  11. XML - eXtensible Markup Language Foglio di stile XSL per browser (HTML) Documento XML Foglio di stile XSL per braille Processore XML/XLS OUTPUT Foglio di stile XSL per sintesi vocale

  12. XML - SINTASSI • Un file XML comincia sempre con la dichiarazione di versione: <?xml version = “1.0” ?> • Un elemento è un blocco elementare del documento XML • Ogni elemento è identificato da un tag • Un tag viene utilizzato per individuare un dato identificandolo con un nome, es. <NOMETAG> Laura </NOMETAG>

  13. XML - SINTASSI • Gli attributi sono pensabili come aggettivi perchè descrivono gli elementi. Ogni attributo ha un nome e un valore. Il valore segue il nome: <COUNTRY code = “it” > Italia</COUNTRY> • Un attributo consente di aggiungere all’elemento informazioni addizionali, ad es. l’elemento LIBRO può avere attributo RILEGATURA con valori “rigida” o “brossura”.

  14. XML - SINTASSI • Un documento XML deve essere ben formato, ossia: • L’intero contenuto del documento deve essere racchiuso entro un singolo elemento • I marcatori devono essere correttamente bilanciati • I valori degli attributi devono essere fra virgolette

  15. XSL • E’ il linguaggio proprietario di XML per lo styling. • L’associazione fra documento XML e foglio di stile avviene attraverso l’istruzione <?xml:stylesheet href=“stile.xsl” title=“Compact” type=“text/xsl”?> • I componenti di XLS sono: • construction rules • style rules • named styles • macros • scripts

  16. DTD • Un particolare linguaggio XML è definito dal suo DTD • In genere il file DTD è esterno al file XML • Una DTD è una Document Type Definition. Definisce • gli elementi • gli attributi • le relazioni che intercorrono fra elementi • Il suo utilizzo non è obbligatorio • Quando un documento XML viene processato, viene confrontato con la DTD associata.

  17. ESEMPI • DATABASE ETEROGENEI Es.: il sistema informativo di un’azienda ospedaliera • Il record del paziente è una collezione di documenti storici. Il centro di cura interessato deve accedere alla documentazione via browser, stamparla e reintrodurla manualmente nel suo sistema informativo. • La soluzione giusta è fare un drag&drop dall cartella su web al proprio database.

  18. ESEMPI PROCESSI DISTRIBUITI • Nelle grandi industrie viene mantenuta molta deocumentazione che va scambiata all’interno dei consorzi (es. Intel, Philps, Texas, etc.) • A questo scopo vengono implementati linguaggi di markup appositi come veicolo per la distribuzione dati. • Nel caso dei semiconduttori c’e anche la possibilità di distribuire il carico computazionale del disegno dei circuiti su vari client.

  19. ESEMPI VISTE DIFFERENTI • L’ utente può cambiare con facilità la visualizzazione dei dati. • Ad es. si può creare una TOC dinamica: l’utente può cliccare una parte della TOC ottenendo livelli di dettaglio più specifici. • In questo caso la struttura TOC viene scaricata su client senza dover passare ogni volta su Internet. • Si può anche da client scegliere la visualizzazione adatta al tipo di macchina (es. Solaris vs. Pentium) o in lingue diverse.

  20. ESEMPI • Non e’ possibile usare HTML a questo scopo perchè non supporta la rappresentazione della struttura dei dati • Non è possibile convertire tutti i sistemi informativi in un tipo standard • E’ però possibile adottare un formato standard per lo scambio di informazione • La definibilità dei tag XML rende evidenziabile il contenuto dei campi (es. <allergia>) • E’ stato già creato uno Health Care Markup Language

  21. ESEMPI MOTORI DI RICERCA • I tag personalizzati e la strutturazione del testo consentono la ricerca semantica • Timothy J. Berners-Lee, inventore del WWW e capo del WWW Consortium, sta sviluppando la seconda generazione di Web, il WEB SEMANTICO. • Le connessioni devono essere intese sempre come bidirezionali • Il motore di ricerca deve comprendere le relazioni fra le parole • Ogni computer deve poter accedere alla conoscenza che l’umanità ha accumulato sulla rete

  22. ESEMPI MOTORI DI RICERCA • XML è la base da cui si parte. • VIVISIMO (Carnegie Mellon Un.) • Organizza in modo automatico gli output di altri motori di ricerca • Utilizza clustering concettuale: il numero di classi non è predefinito • Il programma è scritto in C e l’output è un file XML che rappresenta la gerarchia trovata

  23. ESEMPI MOTORI DI RICERCA • XML è la base da cui si parte. • Esistono già strumenti che rendono XML più evoluto: • AXE (Autonomy XML Engine) è uno strumento che inserisce tag e link automaticamente • SHAREPOINT (Microsoft) è inserito gratuitamente nell’ultimo FrontPage e permette l’interscambio di documenti e la creazione di documenti collaborativi.

  24. ESEMPI • RDF (Resource Description Framework, Recommendation del W3C dal 1999, permette l’interscambio di metadati grazie a una sintassi che struttura i testi. • Fornisce interoperabilità fra risorse che utilizzano dati su web • RDF e XML sono complementari: RDF definisce semantiche per dati in formato XML.

  25. SOFTWARE • Molti sono i parser disponibili, molti dei quali free • Molti anche i processori SGML : Panorama della SoftQuad e Jumbo, applicazione Java scaricabile in versione free • Molti tool di sviluppo freeware, anche da Microsoft • Microsoft ha sviluppato parser e processor free che si integrano con Explorer.

  26. Esempio di linguaggio speciale: MATHML • Scopo di MATHML è codificare materiale matematico e facilitare la conversione da un formato matematico all’altro • Gli elementi di MATHML si suddividono in: • elementi di presentazione • elementi di contenuto • elementi di interfaccia

  27. Esempio di linguaggio speciale: MATHML • Scopo di MATHML è codificare materiale matematico e facilitare la conversione da un formato matematico all’altro • Gli elementi di MATHML si suddividono in: • elementi di presentazione • elementi di contenuto • elementi di interfaccia

  28. Esempio di linguaggio speciale: MATHML • Gli elementi di presentazione descrivono strutture di notazione matematica: sono 28 elementi e accettano 50 attributi, es. msub, munder. • Gli elementi di contenuto descrivono oggetti matematici, es. Plus, vector. Ne esistono 75 che accettano 12 attributi • L’elemento apply applica una funzione ad un insieme di elementi

  29. Esempio di linguaggio speciale: MATHML (a+b)2 si scrive così: <msup> <mfenced> <mrow> <mi> a </mi> <mo> + </mo> <mi> a /mi> </mrow> </mfenced> <mn> 2 </mn> </msup>

  30. ESEMPIO: URL meteo • Il sito distribuisce informazioni sul tempo. Ognuno desidera informazioni locali. • Il codice XML contiene l’indicazione su dove trovare il relativo DTD, es.: <weather-info> <location> <city>Boston</city> </location> <summary> sunny </summary> </weather-info>

  31. ESEMPIO: URL meteo • Allora lo XSL stylesheet sarà: <xsl:stylesheet xmlns:xsl= HYPERLINK “http://www.w3.org/1999/XSL/Transform” version =“1.0”> …. <xsl:template match=“/”> … </xsl:template> match:”weather-info[location/city=‘Boston’]”> <xsl:apply-templates select = “summary”/> </xsl:template> </xsl:stylesheet>

  32. ESEMPIO: URL meteo • Si può anche personalizzare l’output per utenti diversi, ad es. Lasciando la scelta della nazione. • Il codice XML sarà … <page> <country code = “it”> Italy </country> <country code = “fr”> France</country> …. </page>

  33. ESEMPIO: URL meteo Lo stylesheet XSL sarà …. <xsl:template match=“page”> <html> <body> … </xsl:when> <xsl:when test=“country[@code=$countrycode]”> </xsl:apply-templates select=“country[@code=$countrycode]” mode=“selected”/> </xsl:when>

  34. UN ESEMPIO COMPLETO -1 <?xml version =“1.0” standalone=“yes”?> <radice> <libro> <autore>Giovanni Boccaccio</autore> <titolo>Decameron</titolo> <descrizione>10 persone in fuga dalla peste raccontano per 10 giorni una novella ciascuno </descrizione> <prezzo> 15 euro </prezzo> </libro>

  35. UN ESEMPIO COMPLETO - 2 <libro> <autore>Francesco Petrarca</autore> <titolo>Le Rime</titolo> <descrizione>una raccolta di poesia da uno dei maggiori autori della storia </descrizione> <prezzo> 20 euro </prezzo> </libro> ……[altri libri] </radice>

  36. UN ESEMPIO COMPLETO - 3 …. File XSL: <radice> <rule> <target-element type=“LIBRO”/> <children/> </rule> <rule> <target-element type=“AUTORE”/> <H3 color=“brown”> <children/> </H3> </rule> … <rule><target-element type=“PREZZO”/> <H5 color=“red” font-style=“italic”> <children/> </H5></rule> </radice>

More Related