Introduzione alle Griglie computazionali - aa 2005-061 Introduzione alle griglie computazionali Introduzione alle griglie computazionali Università degli.

Slides:



Advertisements
Presentazioni simili
DTD Document Type Definition per XML
Advertisements

Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)
PHP.
DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
Query OQL e XQUERY a confronto
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Linguaggi di marcatura e fogli stile Presentazione del corso.
XHTML Danilo Deana. XHTML2 XHTML (eXtensible HyperText Markup Language) XHTML è una riformulazione di HTML come applicazione XML. Utilizzando XHTML è
Componenti di un documento HTML Danilo Deana. Componenti di un documento HTML 2 Elementi HTML comprende elementi per rappresentare paragrafi, elenchi,
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Corso di basi di dati II Prof. Francesco Cutugno Dott. Sara Romano
Basi di Dati II Sara Romano
Lezione 5 Attributi, Entità, Parametri e Namespaces.
DTD, Entità, Parametri, Namespace
Introduzione e nozioni fondamentali di sintassi
XML per documenti e applicazioni transazionali su Internet Alessio Saltarin Progetto XML Factory.
Lezione 2 Programmare in ASP
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... XML Elaborazione di Franco Grivet Chin.
Corso di PHP.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
1 XPath. 2 What is XPath? XPath is a syntax for defining parts of an XML document XPath uses paths to define XML elements XPath defines a library of standard.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
Linguaggi di codifica.
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
Creare pagine web Xhtlm. Struttura di una pagina.
Informatica Umanistica A.A. 2005/2006 LEZIONE 6 Ripasso XML – DTD XSL.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
Hyper-Text Mark-Up Language
Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Impostare i caratteri. Le prime versioni del linguaggio HTML così come le prime versioni dei browser consentivano unicamente la scelta tra due tipi di.
Introduzione a Javascript
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
HTML HTML e il web.
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Fondamenti di Markup Languages: Richiami di HTML © 2005 Stefano Clemente Stefano Clemente
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
WWW La sintassi di SGML  XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo in breve tutti gli aspetti di SGML che sono in comune con XML:
Informatica Umanistica LM - Scienze del Testo Docente Alessia Scacchi.
Documenti XML ben formati Altre componenti di un documento XML – Struttura dei documenti XML.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Approfondimenti SQL.
L’HTML è il "linguaggio" usato per creare documenti World Wide Web. È stato realizzato nel 1990 da Tim Bernes-Lee, ricercatore del CERN di Ginevra. Non.
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
1 Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
Transcript della presentazione:

Introduzione alle Griglie computazionali - aa Introduzione alle griglie computazionali Introduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica – III Anno LEZIONE LEZIONE N. 8 Elementi di linguaggio XML

Introduzione alle Griglie computazionali - aa Sommario Introduzione Dall’HTML all’XML XML DTD, XML Schema Namespaces XPath Xsl, Xslt Xquery

Introduzione alle Griglie computazionali - aa Introduzione XML: EXtensible Markup Language World Wide Web Consortium (W3C) – 1998 Metalinguaggio Universale linguaggio per la definizione di altri linguaggi o applicazioni Unificazione formato di scambio e distribuzione di dati fra diverse applicazioni su diverse piattaforme hw Separazione fra STRUTTURA (generale) e CONTENUTO (specifico) Rapida diffusione Ad uno stesso sorgente corrispondono diverse visualizzazioni

Introduzione alle Griglie computazionali - aa Dall’HTML all’XML

Introduzione alle Griglie computazionali - aa HTML Hyper-Text Markup Language Orientato alla visualizzazione dei dati Caratterizzato da un insieme limitato e predefinito di marcatori Universalmente diffuso e stabile Semplice Non descrive la semantica associata ai dati Introdotte tecnologie accessorie di potenziamento (Applet, linguaggi di scripting, fogli di stile inseriti per cercare di separare aspetto e struttura del documento )

Introduzione alle Griglie computazionali - aa HTML (2) Bibliografia XML Learning XML. Erik T. Ray. Release Team[oR], 2001 XML is a flexible way to create "self-describing data" and to share both the format and the data on the World Wide Web, intranets, and elsewhere... XML by example Benoit Marchal. John Pierce, How does the by Example series make you a better programmer? The by Example series teaches programming using the best method possible. After a concept is introduced, you’ll see one or more examples of that concept in use HTML:

Introduzione alle Griglie computazionali - aa Web: nuove esigenze Il WEB è cambiato Nascita del commercio elettronico (dinamicità dei dati) Creazione di servizi al pubblico (rilascio di documenti) Dati scambiati fra organizzazioni diverse Il modello HTML è inadeguato alto numero di marcatori (ma) insieme limitato (e predefinito) di marcatori non tutte le applicazioni interpretano in modo analogo uno stesso codice HTML Marcatura slegata dalla semantica del contenuto

Introduzione alle Griglie computazionali - aa XML Orientato alla descrizione dei dati Dati utilizzabili da qualsiasi applicazione che comprenda il linguaggio XML (browser, db, cell...) Uno stesso documento può essere utilizzato per scopi diversi. Creazione di marcatori personalizzati Aggiunta di informazioni semantiche ai documenti Definisce la struttura logica del documento XML non è nè il successore nè il sostituto di HTML HTML stesso può essere ridefinito tramite l’XML (XHTML)

Introduzione alle Griglie computazionali - aa XML (2) Learning XML Erik T. Ray Release Team[oR] 2001 XML is a flexible way to create "self-describing data" and to share both the format and the data on the World Wide Web, intranets, and elsewhere... XML by example John Pierce you’ll see one or more examples of that concept in use... XML:

Introduzione alle Griglie computazionali - aa XML

Introduzione alle Griglie computazionali - aa Terminologia Documento XML: file contenente il testo e i marcatori E’ caratterizzato da una struttura LOGICA modo in cui viene creato un documento ed una FISICA costituita da tutto il contenuto del documento stesso

Introduzione alle Griglie computazionali - aa Struttura Logica (1) Documento XML: dichiarazioni, elementi, istruzioni di elaborazione e commenti. Prologo: dichiarazione XML: versione delle specifiche XML cui il documento deve conformarsi: dichiarazione di codifica (encoding) schema di codifica dei caratteri (ad esempio UTF-8 (default) o EUC-JP) dichiarazione di documento autonomo (standalone): yes (default): non sono presenti dichiarazioni di markup esterne al documento (well formed) dichiarazione del tipo di documento DTD Descrizione formale dei marcatori usati per qualificare un elemento, i suoi attributi e relazioni fra loro

Introduzione alle Griglie computazionali - aa Struttura Logica (2) elemento Document (radice): Elemento più esterno del documento (necessario); include tutti i dati di un documento XML, inclusi tutti i sottoelementi, (nidificati) all’interno di questo marcatore via Cimarosa, 30 Collegno Nidificazione: consente di incorporare un oggetto o un costrutto l’uno all’interno dell’altro ; Ogni elemento diverso dalla radice deve essere completamente contenuto in uno ed un solo elemento.

Introduzione alle Griglie computazionali - aa XML: albero etichettato Radice (Element Document) Nodi: elementi etichettati nome (element type) attributi costituiti da coppie nome, valore; a loro volta possono avere dei sottoalberi di elementi, attributi e valori; Foglie: attributi (coppie di nome e valore) o valori (stringhe, numeri, date…) Pubblicazione Id=… tipo=.. Erik T. Ray bibliografia titolo editore autore …… Learning XML ……

Introduzione alle Griglie computazionali - aa Conformità Documento XML conforme (well-formed): rispetta le regole relative alla struttura e alla nidificazione prima elencati tutti gli elementi possiedono marcatori di apertura e di chiusura; eccezione viene fatta per gli elementi vuoti: oppure possiede un unico elemento radice XML è case-sensitive Un documento conforme non è detto che abbia senso dal punto di vista semantico.

Introduzione alle Griglie computazionali - aa Validità Validazione: consente di verificare se un documento oltre ad essere well-formed è semanticamente sensato. Documento XML associato ad una definizione di struttura che descrive il nome e la posizione dei marcatori e degli attributi nel documento. Due tecniche di descrizione della struttura di contenuti XML sono: DTD (Document Type Definition) XML Schema

Introduzione alle Griglie computazionali - aa DTD & XML Schema

Introduzione alle Griglie computazionali - aa DTD - Document Type Definition Specifica delle regole che controllano la struttura di un documento XML. Definisce gli elementi leciti all'interno del documento XML Defininisce la struttura di ogni elemento. (contenuto ciascun elemento: ordine, quantità di elementi, opzionali o obbligatori- grammatica) Definisce attributi e loro valore per ogni elemento Un documento XML valido segue tutte le regole del DTD Un documento valido è conforme anche a tutti i limiti di validità identificati dalle specifiche relative all’XML (well formed)

Introduzione alle Griglie computazionali - aa DTD (2) La sintassi slegata dal mondo XML La dichiarazione della DTD è nel prologo, nella dichiarazione del tipo di documento: DTD interna: parte integrante del documento... DTD esterna: file separato da quello contenente il documento Vincolo di validità: nome_root = radice del documento.

Introduzione alle Griglie computazionali - aa DTD (3) Ogni dichiarazione contenuta nella DTD è delimitata dai simboli “ ”; Tipi di dichiarazione previsti: elementi attributi entità

Introduzione alle Griglie computazionali - aa DTD (4) - Element Nome del marcatore nel documento. Ogni nome deve essere dichiarato una sola volta. regola_dtd definisce e vincola il contenuto dell’elemento indicando quali sotto-elementi possono essere contenuti nell’elemento che si sta dichiarando, ed eventuali relazioni con altri contenuti descritti nella DTD.  ANY : il marcatore può contenere tag e/o testo  PCDATA (Parsed Character Data): il marcatore può contenere solo testo  EMPTY : il marcatore può contenere esclusivamente attributi  Gruppi di elementi: il marcatore consiste di nomi di sotto-elementi organizzati in sequenze e scelte alternative mediante una grammatica:

Introduzione alle Griglie computazionali - aa DTD (5) - Element raggruppano le singole specifiche () sequenza ordinata di elementi e1, e2, …, en elemento scelto fra una sequenza di molti e1 | e2 | … | en elemento compare 0 od una volta elemento? elemento compare 0, 1 o più volte elemento* elemento compare una o più volte elemento+ elemento compare una ed una sola volta elemento SignificatoDescrizione

Introduzione alle Griglie computazionali - aa DTD (6) - Attribute List Declaration Consentono di definire insiemi di attributi associati ad un elemento: elemento : è il nome del marcatore per cui vengono definiti gli attributi; attr_list : lista costituita da una o più terne che descrivono ognuna un attributo nome_attributo tipo_attributo valore_default tipo_attributo: specifica il tipo dell’attributo;

Introduzione alle Griglie computazionali - aa DTD (7) - Attribute List Declaration Sequenza di valori (nmtoken) separati da ‘|’Enumerazione Simile a CDATA ma spazi e stringa vuota non dono ammessiNMTOKEN Nome di una entità esterna dichiarataENTITY Riferimento ad un elemento per mezzo del suo ID.IDREF Identificatore univoco di un elemento.ID Dati di tipo carattere (eccetto ‘<’ e ‘&’)CDATA definizioneTipo attributo

Introduzione alle Griglie computazionali - aa DTD (8) - Attribute List Declaration valore_default: permette di dichiarare dei vincoli relativi alla presenza o meno degli attributi nei marcatori. Valore dell’attributo costante non modificabile # FIXED “valore” Valore dell’attributo obbligatorio # REQUIRED Valore dell’attributo non obbligatorio # IMPLIED definizioneVincolo

Introduzione alle Griglie computazionali - aa DTD (9) - Attribute List Declaration <!DOCTYPE bibliografia [ <!ELEMENT citazione (autore+, titolo, editore?, anno?,classificazione?)> <!ATTLIST citazione isbn CDATA #REQUIRED> <!ATTLIST autore id ID #IMPLIED idref IDREF #IMPLIED %attNazione> <!ATTLIST editore %attNazione;> <!ATTLIST classificazione schema (DDC|LCC|UDC) “DDC” valore CDATA #IMPLIED> <!ENTITY estensore “Mario Rossi, ]> Paolo Pialorsi XML il nuovo linguaggio Mondatori Informatica 2002 Erik T.Ray Learning XML … Bibliografia redatta da:&estensore. DTD XML

Introduzione alle Griglie computazionali - aa DTD (10) - Entity Declaration Questo tipo di dichiarazione permette di definire vari tipi di entità: entità parametriche: hanno lo scopo di parametrizzare e semplificare la scrittura di una DTD; hanno effetto solo all’interno della DTD e sono precedute da ‘%’ sia nella dichiarazione che nel riferimento entità generali: la loro occorrenza viene rimpiazzata con il testo definito nella dichiarazione, sono dichiarate internamente al documento e usate solo nel contenuto del documento. Nel documento XML il riferimento ad una entità avviene con &nome.

Introduzione alle Griglie computazionali - aa DTD (11) - Entity Declaration “" ‘&apos; >> << && CarattereRiferimento all’entità XML prevede un insieme di entità predefinite:

Introduzione alle Griglie computazionali - aa DTD - Limitazioni Necessita di una propria sintassi (editor, parser e processor ad hoc) Struttura lineare: non risalta il concetto di contenimento degli elementi del documento XML Impossibilità di definire due elementi figli diversi, aventi lo stesso nome e contenuti in elementi distinti Impossibilità di definire criteri per la validazione del contenuto degli elementi

Introduzione alle Griglie computazionali - aa XML Schema Descrive documenti XML attraverso una sintassi XML. Definizione dei nomi dei marcatori e degli attributi di un documento, e la loro posizione all’interno dello stesso Caratterizzazione del contenuto di marcatori e attributi tramite tipi di dati noti (integer, string,…) Prevede controllo del valore di nodi di tipo testo o attributo tramite espressioni regolari

Introduzione alle Griglie computazionali - aa XML Schema (2) Dichiarazione di elementi: associa ad un elemento un nome ed un tipo. Il tipo associato all’evento può essere personalizzato Definizione di Tipo Complesso (complexType): coinvolge elementi che contengono al loro interno altri elementi e/o attributi Dichiarazione di attributi: definisce eventuali attributi contenuti Dichiarazione di elementi: definisce eventuali sotto-elementi, il loro numero e l’ordine con cui si annidano Definizione di Tipo Semplice (simpleType) è utilizzata come contenuto (testuale) di nodi di tipo elemento o di tipo attributo.

Introduzione alle Griglie computazionali - aa XML Schema (3) - Simple Type Elemento Simple Type è composto da: primitivi: tipi semplici quali string, boolean, decimal, float,… derivati da tipi primitivi: restriction length, minLength, maxLength (lunghezza lista) enumeration (lista di valori consentiti) pattern (espressioni regolari) whiteSpace (preserve/replace/collapse white-space) minInclusive, maxInclusive (bounds on numbers)

Introduzione alle Griglie computazionali - aa XML Schema (4) - Simple Type

Introduzione alle Griglie computazionali - aa XML Schema (5) - Complex Type Si parla di Complex Type in presenza di: Dichiarazioni di attributi dove type è una definizione di tipo semplice, mentre use può essere optional (default), required, or prohibited (può essere usato in un’altra restrizione ma non direttamente) indica qualunque attributo tra quelli contenuti in uno dei namespaces definiti nel documento dell’XML Schema.

Introduzione alle Griglie computazionali - aa XML Schema (6) - Complex Type Uno tra i seguenti marcatori: empty (default) il complexType è vuoto; simple content:... il complexType contiene solo testo o un simpleType; una combinazione di:... sequenza specifica di elementi... gruppo di elementi in alternativa fra loro... riferisce un gruppo di elementi senza riferimenti all’ordine ognuno dei quali con riferimenti ad elementi dove name è il nome dell’elemento, minOccurs e maxOccurs indicano rispettivamente il numero minimo e massimo (se elemento diverso da radice) di occorrenze (default: 1)

Introduzione alle Griglie computazionali - aa XML Schema (7) - Complex Type <xsd:element name=" " minOccurs="0" maxOccurs="unbounded"/> <attribute name="id" type="unsignedInt" use="required"/> …

Introduzione alle Griglie computazionali - aa XML Schema & DTD Gli schema hanno le stesse funzionalità delle DTD offrono alcuni significativi vantaggi: sono espressi con la sintassi XML; godono degli stessi vantaggi propri di XML (es: estensibilità) possono essere elaborati da applicazioni che riconoscono XML; includono definizioni di tipo per gli elementi (dataType)

Introduzione alle Griglie computazionali - aa NAMESPACE

Introduzione alle Griglie computazionali - aa Namespace Qualificano in modo univoco i nomi degli elementi e degli attributi in un documento XML Nomi identificati con una risorsa esterna univoca: URI (Uniform Resource Identifier) Nomi qualificati: prefisso + parte locale Prefisso: namespace cui l'elemento appartiene (URI) Parte locale: nome appartenente a tale namespace. Dichiarazione dello spazio dei nomi: Inclusa nel prologo oppure all’interno di un elemento appartenente allo spazio dei nomi, la prima volta che questo si utilizza.

Introduzione alle Griglie computazionali - aa Namespace (2) cod Significati diversi Nasce il conflitto se inglobati in un unico documento senza definizione di relativi Namespace... mr1979 Mario Rossi via Sparone Torino

Introduzione alle Griglie computazionali - aa Namespace (3) <ordine xmlns=” xmlns:prod = xmlns:cli =” cod mr1979 Mario Rossi via Sparone Torino

Introduzione alle Griglie computazionali - aa XPATH

Introduzione alle Griglie computazionali - aa XPath Xml Path Language Fornisce metodo di navigazione e selezione degli elementi all’interno di un documento XML. Dal punto di vista di XPath, il documento XML è un albero: ogni elemento, commento, attributo, stringa di testo (non-markup) è un nodo dell’albero. Relazioni tra i nodi semplici: un elemento annidato è un nodo figlio dell’elemento che lo contiene; un attributo è figlio del suo elemento; commenti e testo sono figli dell’elemento che li contiene.

Introduzione alle Griglie computazionali - aa XPath Il costrutto principale è definito dalle location path: sequenze di location steps separate da ‘/’ esempio: child::section[position()<6] / descendant::cite / attribute::href seleziona tutti gli attributi href di elementi cite contenuti fra le prime 5 sezioni di un documento Sintassi di una location step: axis::node-test [predicato 1] [predicato 2] … [predicato 3] axis: seleziona un insieme di nodi candidati (figli del nodo correntemente selezionato, context node). node-test: nodo da usare come filtro sui nodi da cercare; nameTest nodeType: predicati (0+): costituiscono un filtro ulteriore da applicare al node-set identificato.

Introduzione alle Griglie computazionali - aa XPath – Location Path Axes utilizzabili: ancestor: tutti i genitori del context node fino a root ancestor-or-self: come ancestor più il context node stesso attribute: tutti attribute del context node child: tutti i figli del context node descendant: eredi del context node a qualunque livello descendant-or-self: come sopra più il context node parent: il genitore del context node following-sibling tutti i nodi a destra del context node preceding-sibling: tutti i nodi a sinistra del context node following: tutti i nodi che seguono il context node come posizione ordinale preceding: tutti i nodi che precedono il context node come posizione ordinale self: context node

Introduzione alle Griglie computazionali - aa XPath: gerarchie ancestor: [c,a] ancestor-or-self: [d,c,a] attribute: [x] child: [f] descendant: [f,g] descendant-or-self: [d,f,g] following: [i,h] following-sibling: [i] namespace: [y] parent: [c] preceding: [b,e] preceding-sibling: [e] self: [d] <a><a> <c><c> <f><f> Nodo Corrente

Introduzione alle Griglie computazionali - aa XPath – Location Path Per individuare un particolare nodo su un axis, si usano il suo tipo e/o il suo nome tramite i node tests. node name: nomi di nodi o attributi che diventano condizione di filtro node type: text() comment() processing-instruction(): nodi che elaborano istruzioni node()

Introduzione alle Griglie computazionali - aa XPath - Location Path attribute::*: tutti gli attributi del nodo corrente elementi Prezzo, figli del nodo corrente con att Valuta = Euro ancestor::node(): tutti nodi antenati del context node descendant-or-self::test(): testo di tutti i nodi eredi compreso il context node child::cd: tutti nodi ‘cd’ figli del nodo corrente; child::cd[position()=1]: seleziona il primo figlio cd del nodo corrente The Best Bob Dylan Hide your heart Bonnie Tyler 9.90

Introduzione alle Griglie computazionali - aa XPath - Funzioni Funzioni che operano sui node-set count(node-set) numero di nodi in un node-set name(node-set) nome del primo nodo in un node-set Funzioni che operano sulle stringhe string(value) cast concat(string, string,...) concatenazione di stringhe Funzioni booleane boolean(value) cast not(boolean) negazione Funzioni che operano sui numeri number(value) cast

Introduzione alle Griglie computazionali - aa XSL

Introduzione alle Griglie computazionali - aa XSL eXtensible Stylesheet Language applicazione in sintassi XML nata per consentire la rappresentazione di documenti XML sul web funziona attraverso ‘template’ da applicare agli elementi. utilizza un doppio processo: ricostruisce un albero strutturale formatta gli elementi Costituito da 3 parti: XSLT: Linguaggio per la trasformazione di documenti XML XPath: Linguaggio per la d di parti di documenti XML XSL Formatting Objects: Linguaggio per la formattazione di documenti XML

Introduzione alle Griglie computazionali - aa Xslt Trasforma contenuti XML in altri contenuti XML Opera sull’albero associato al documento XML Tipicamente viene utilizzato per trasformare XML in XHTML

Introduzione alle Griglie computazionali - aa Processo di trasformazione Usa XPath per definire le porzioni di documento che soddisfano template predefiniti Su tali porzioni di XML è attuata la trasformazione Nulla è fatto sul resto del documento che viene lasciato intatto

Introduzione alle Griglie computazionali - aa Dichiarazioni XSL XSL stylesheets sono scritti usando XML La prima linea identifica il file XSL come un file XML Viene quindi introdotto il riferimento al Namespace per XSL:

Introduzione alle Griglie computazionali - aa XSL Template : contiene la specifica delle regole da applicare ad un specifico nodo Viene utilizzato l’attributo “match” per associare il template con un elemento XML Es: ‘/’ seleziona la radice del documento XML (quindi l’intero documento) chiusura

Introduzione alle Griglie computazionali - aa Esempio: <xsl:stylesheet version = "1.0“ xmlns:xsl=" Module List Module Number Name Information

Introduzione alle Griglie computazionali - aa Associare uno Stylesheet Web Information Systems Easy! Prog in Java Hard

Introduzione alle Griglie computazionali - aa XSL Value-Of Seleziona il valore di un elemento XML Lo aggiunge all’output Es: select contiene un espressione XPath Determina cosa viene aggiunto all’output (può essere il contenuto di un attributo oppure il testo associato ad un marcatore)

Introduzione alle Griglie computazionali - aa XSL For-Each Seleziona tutti i nodi di un insieme specificato ES: select contiene un espressione XPath che identifica l’insieme di nodi su cui operare

Introduzione alle Griglie computazionali - aa Esempio <xsl:stylesheet version = "1.0" xmlns:xsl = " orm"> Module List Module Number Name Information

Introduzione alle Griglie computazionali - aa …output

Introduzione alle Griglie computazionali - aa XSL Formatting Objects XSL-FO è un insieme di elementi ed attributi per la definizione di informazioni tipografiche, indipendentemente dal formato finale di presentazione Lo scopo di XSL non riguarda solo le trasformazioni strutturali Formattazione di contenuti destinati a svariate tipologie di output Alla trasformazione XSLT segue una seconda trasformazione atta a formattare l’output

Introduzione alle Griglie computazionali - aa XQuery

Introduzione alle Griglie computazionali - aa XQuery "SQL per XML". Linguaggio per interrogare e manipolare i dati di un documento XML Estensione ed evoluzione di XPath, con cui condivide librerie di funzioni ed operatori Applicabile su tutte diverse sorgenti dati XML (database relazionali, ad oggetti,... ) Sintassi per navigare all’interno di una struttura di un documento simile a quella prevista da XPath Query come insieme di proposizioni (come in SQL)

Introduzione alle Griglie computazionali - aa Struttura XQuery Una query in XQuery è costituita da un'espressione che legge una sequenza di nodi XML od un singolo valore e restituisce come risultato una sequenza di nodi od un singolo valore. Le espressioni XQuery sono composte da espressioni XPath per individuare i nodi da analizzare e da funzionalità aggiuntive per il specifiche di XQuery per il recupero delle informazioni Dichiarazione Namespace (opzionale) Definizione funzioni (opzionale) Import schema (opzionale) L’espressione della Query spesso si compone di molte espressioni Query Prolog Expr Sequence

Introduzione alle Griglie computazionali - aa Esempio Titolo_del_libro Autore_del_libro Editore_del_libro Prezzo_del_libro document("arch_libri.xml")//libro[prezzo > 50] SORTBY (autore) Ricerca tutti i nodi che hanno un prezzo maggiore di 50 e ordina il risultato in funzione del nome dell'autore.

Introduzione alle Griglie computazionali - aa XQUERY: Espressioni FLWR L'espressione principale utilizzata: For: iterazione Let: bind di variabili ad insiemi Where: descrizione di predicati che attuano filtro sulla risposta Return: genera il risultato Esempio: FOR $e IN document("arch_libri.xml")//editore LET $l := document("arch_libri.xml")//libro[editore=$e] WHERE count($l) > 5 RETURN {$e} For: crea una lista contenente tutti gli editori presenti nel nostro archivio. Let: associa a ciascun editore, la lista dei libri da lui editi, andando a creare una lista ordinata di tuple formate da ($e,$l). Where: si considerano solo gli editori che hanno pubblicato più di cinque libri. Return: il risultato è ottenuto inserendo all'interno di un elemento chiamato, i nodi che soddisfano i criteri della nostra query.

Introduzione alle Griglie computazionali - aa XQUERY - funzioni Le funzioni che XQuery mette a disposizione per operare sulle liste sono: count(): restituisce il numero di elementi presenti avg(), per calcolare il valor medio dei valori degli elementi union(), intersection(), difference() che realizzano operazioni 'insiemistiche' sugli elementi.

Introduzione alle Griglie computazionali - aa XQUERY - IF-THEN-ELSE FOR $l IN document("arch_libri.xml")//libro RETURN { IF ($l/editore ='Editore1') THEN $l/titolo ELSE $l/autore } Se l’editore è 'Editore1', vengono selezionati i titoli dei libri; perle altre case editrici vengono selezionati gli autori dei libri

Introduzione alle Griglie computazionali - aa XQUERY- SOME-IN-SATISFIES FOR $l IN document("arch_libri.xml")//libro WHERE SOME $t IN $l/titolo SATISFIES (contains($t,"XML") AND contains($t,"tutorial")) RETURN { $l/titolo } restituisce come risultato il titolo di tutti i libri nei cui titoli compare contemporaneamente sia la stringa 'XML' che la stringa 'tutorial';

Introduzione alle Griglie computazionali - aa XQUERY: EVERY-IN-SATISFIES FOR $l IN document("arch_libri.xml")//libro WHERE EVERY $t IN $l/titolo SATISFIES contains($t,"XML") RETURN { $l/titolo } restituisce i titoli dei libri che contengono la stringa 'XML' nel loro titolo.

Introduzione alle Griglie computazionali - aa Riferimenti... XML Tutorial: XPath Tutorial: XSL Tutorial: XQuery Tutorial: