Introduzione alle griglie computazionali
Università degli Studi di Napoli Federico II
Corso di Laurea in Informatica – III Anno
LEZIONE N. 8
• Elementi di linguaggio XML
Introduzione alle Griglie computazionali - aa 2005-06
1
Sommario
•
•
•
•
•
•
•
•
Introduzione
Dall’HTML all’XML
XML
DTD, XML Schema
Namespaces
XPath
Xsl, Xslt
Xquery
Introduzione alle Griglie computazionali - aa 2005-06
2
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 2005-06
3
Dall’HTML all’XML
Introduzione alle Griglie computazionali - aa 2005-06
4
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 2005-06
5
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 2005-06
7
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 2005-06
8
XML
Introduzione alle Griglie computazionali - aa 2005-06
10
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 2005-06
11
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)
<?xml version= “1.0” encoding=“UTF-8” standalone=“yes”?>
dichiarazione del tipo di documento DTD
Descrizione formale dei marcatori usati per qualificare un elemento, i suoi attributi e
relazioni fra loro
<!DOCTYPE indirizzo SYSTEM ”indirizzo.dtd”>
Introduzione alle Griglie computazionali - aa 2005-06
12
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
<indirizzo>
<via > via Cimarosa, 30 </via>
<località>Collegno</località>
<provincia sigla=”TO” />
<cap codice=”10148” />
</indirizzo>
•
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 2005-06
13
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…)
bibliografia
•
Pubblicazione
Id=… tipo=..
autore
titolo
Learning XML
……
editore
Erik T. Ray
……
Introduzione alle Griglie computazionali - aa 2005-06
14
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:
<provincia sigla=”TO” />
oppure
<provincia sigla=”TO”></provincia>
•
•
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 2005-06
15
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 2005-06
16
DTD & XML Schema
Introduzione alle Griglie computazionali - aa 2005-06
17
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 2005-06
18
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
<?xml version=”1.0” ?>
<!DOCTYPE nome_root […contenuto della DTD…]>
...
DTD esterna: file separato da quello contenente il documento
<?xml version=”1.0” ?>
<!DOCTYPE nome_root SYSTEM “http://some.host/xmlDtd.dtd”>
...
• Vincolo di validità: nome_root = radice del documento.
Introduzione alle Griglie computazionali - aa 2005-06
19
DTD (3)
Ogni dichiarazione contenuta nella DTD è delimitata dai
simboli “<!” e “>”;
• Tipi di dichiarazione previsti:
•
elementi
attributi
entità
Introduzione alle Griglie computazionali - aa 2005-06
20
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 2005-06
29
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 2005-06
30
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 2005-06
31
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 2005-06
32
XML Schema (4) - Simple Type
<simpleType name="may_date">
<restriction base="date">
<pattern value="\d{4}-05-\d{2}"/>
</restriction>
</simpleType>
Introduzione alle Griglie computazionali - aa 2005-06
33
XML Schema (5) - Complex Type
Si parla di Complex Type in presenza di:
Dichiarazioni di attributi
<attribute name="..." type=".." use=".."/>
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)
<anyAttribute ... />
indica qualunque attributo tra quelli contenuti in uno dei namespaces definiti nel
documento dell’XML Schema.
Introduzione alle Griglie computazionali - aa 2005-06
34
XML Schema (6) - Complex Type
Uno tra i seguenti marcatori:
empty (default) il complexType è vuoto;
simple content: <simpleContent> ... </simpleContent> il complexType
contiene solo testo o un simpleType;
una combinazione di:
<sequence> ... </sequence> sequenza specifica di elementi
<choice> ... </choice> gruppo di elementi in alternativa fra loro
<all> ... </all> riferisce un gruppo di elementi senza riferimenti all’ordine
ognuno dei quali con riferimenti ad elementi
<element name="..." minOccurs=".." maxOccurs=".."/>
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 2005-06
35
XML Schema (7) - Complex Type
<xsd:complexType name="order_type">
<xsd:choice>
<xsd:element name="address" type=”xsd:string”/>
<xsd:sequence>
<xsd:element name="email" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="phone"/>
</sequence>
</choice>
<attribute name="id" type="unsignedInt"
use="required"/>
</complexType>
…
<xsd:element name=“order” type=“order_type”/>
Introduzione alle Griglie computazionali - aa 2005-06
36
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 2005-06
37
NAMESPACE
Introduzione alle Griglie computazionali - aa 2005-06
38
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 2005-06
39
Namespace (2)
<?xml version="1.0"?>
<prodotto>
<codice>cod01</codice>
<prezzo valuta=”eur”>100</prezzo>
</prodotto>
Significati diversi
• Nasce il conflitto se inglobati in un
unico documento senza definizione
di relativi Namespace...
•
<?xml version="1.0"?>
<cliente>
<codice>mr1979</codice>
<generalita>
<nome>Mario Rossi</nome>
<indirizzo>
via Sparone 13
</indirizzo>
<cap>10148</cap>
<comune>Torino</comune>
<generalita>
</cliente>
Introduzione alle Griglie computazionali - aa 2005-06
40
Namespace (3)
<?xml version="1.0"?>
<ordine xmlns=”http://www.neg.it/NS/ordine”
xmlns:prod = http://www.neg.it/NS/prodotto
xmlns:cli =”http://www.neg.it/NS/cliente”>
<prod:prodotto>
<prod:codice>cod01</prod:codice>
<prod:prezzo valuta=”eur”>100</prod:prezzo>
</prod:prodotto>
<cli:cliente>
<cli:codice>mr1979</cli:codice>
<cli:generalita>
<cli:nome>Mario Rossi</cli:nome>
<cli:indirizzo>via Sparone 13</cli:indirizzo>
<cli:cap>10148</cli:cap>
<cli:comune>Torino</cli:comune>
</cli:generalita>
</cliente>
</ordine>
Introduzione alle Griglie computazionali - aa 2005-06
41
XPATH
Introduzione alle Griglie computazionali - aa 2005-06
42
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 2005-06
43
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 2005-06
44
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 2005-06
45
XPath: gerarchie
<a>
<b/>
<c>
<e/>
<d xmlns:y=“…” x=“…”>
<f>
<g/>
</f>
</d>
<i/>
</c>
<h/>
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>
Introduzione alle Griglie computazionali - aa 2005-06
46
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 2005-06
47
XPath - Location Path
attribute::*: tutti gli attributi del
nodo corrente
child::Prezzo[@Valuta=“Euro”]:
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
<?xml version="1.0" encoding="ISO8859-1"?>
<Catalogo>
<cd Paese="USA">
<Titolo>The Best</Titolo>
<Artista>Bob Dylan</Artista>
<Prezzo valuta=‘dol’>10.90</Prezzo>
</cd>
<cd Paese=‘Ita’>
<Titolo>Hide your
heart</Titolo>
<Artista>Bonnie
Tyler</Artista>
<Prezzo Valuta=‘Euro’>9.90</Prezzo>
</cd>
</Catalogo>
Introduzione alle Griglie computazionali - aa 2005-06
48
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 2005-06
49
XSL
Introduzione alle Griglie computazionali - aa 2005-06
50
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 2005-06
51
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 2005-06
52
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 2005-06
53
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:
•
<xsl:stylesheet version=“1.0”
xmlns:xsl=“http://www.w3.org/1999/XSL/
Transform”>
Introduzione alle Griglie computazionali - aa 2005-06
54
XSL Template
<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: <xsl:template match = "/">
‘/’ seleziona la radice del documento XML (quindi l’intero
documento)
chiusura </xsl:template>
Introduzione alle Griglie computazionali - aa 2005-06
55
Esempio:
<?xml version = "1.0"?>
<xsl:stylesheet version = "1.0“
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match = "/">
<html>
<head>
<title>Module List</title>
</head>
<body>
<table border = "1" bgcolor = "cyan">
<thead>
<tr>
<th>Module Number</th>
<th>Name</th>
<th>Information</th>
</tr>
</thead>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Introduzione alle Griglie computazionali - aa 2005-06
56
Associare uno Stylesheet
<?xml version = "1.0"?>
<?xml-stylesheet type = "text/xsl" href="moduleTable.xsl" ?>
<moduleList>
<module no="CP3024">
<name>Web Information Systems</name>
<comment>Easy!</comment>
</module>
<module no="CP2027">
<name>Prog in Java</name>
<comment>Hard</comment>
</module>
</moduleList>
Introduzione alle Griglie computazionali - aa 2005-06
57
XSL Value-Of
Seleziona il valore di un elemento XML
Lo aggiunge all’output
Es: <xsl:value-of select="name"/>
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 2005-06
58
XSL For-Each
Seleziona tutti i nodi di un insieme specificato
ES: <xsl:for-each
select = "moduleList/module">
select contiene un espressione XPath che identifica l’insieme di
nodi su cui operare
Introduzione alle Griglie computazionali - aa 2005-06
59
Esempio
<?xml version = "1.0"?>
<xsl:stylesheet version = "1.0"
xmlns:xsl =
"http://www.w3.org/1999/XSL/Transf
orm">
<xsl:template match = "/">
<html>
<head>
<title>Module List</title>
</head>
<body>
<table border = "1" bgcolor =
"cyan">
<thead>
<tr>
<th>Module Number</th>
<th>Name</th>
<th>Information</th>
</tr>
</thead>
<tbody>
<xsl:for-each select =
"moduleList/module">
<tr>
<td><xsl:value-of select = "@no"/>
</td>
<td><xsl:value-of select = "name"/>
</td>
<td><xsl:value-of select =
"comment"/>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Introduzione alle Griglie computazionali - aa 2005-06
60
…output
Introduzione alle Griglie computazionali - aa 2005-06
61
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 2005-06
62
XQuery
Introduzione alle Griglie computazionali - aa 2005-06
63
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 2005-06
64
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
Introduzione alle Griglie computazionali - aa 2005-06
Query Prolog
Expr Sequence
65
Esempio
<libro>
<titolo>Titolo_del_libro</titolo>
<autore>Autore_del_libro</autore>
<editore>Editore_del_libro</editore>
<prezzo>Prezzo_del_libro</prezzo>
</libro>
document("arch_libri.xml")//libro[prezzo > 50] SORTBY (autore)
Ricerca tutti i nodi <libro> che hanno un prezzo maggiore di
50 e ordina il risultato in funzione del nome dell'autore.
Introduzione alle Griglie computazionali - aa 2005-06
66
Riferimenti...
• XML Tutorial:
http://www.w3schools.com/xml/default.asp
http://www.w3schools.com/dtd/dtd_intro.asp
http://www.w3schools.com/schema/schema_intro.asp
• XPath Tutorial:
http://www.w3schools.com/xpath/default.asp
• XSL Tutorial:
http://www.w3schools.com/xsl/xsl_languages.asp
• XQuery Tutorial:
http://www.w3schools.com/xquery/default.asp
Introduzione alle Griglie computazionali - aa 2005-06
72
Scarica

Introduzione alle griglie computazionali