Xml annessi e connessi
-
Upload
domenico-briganti -
Category
Documents
-
view
289 -
download
1
description
Transcript of Xml annessi e connessi
![Page 1: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/1.jpg)
XMLannessi e connessi
Domenico Briganti
Francesco Angelillo
![Page 2: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/2.jpg)
Eidon School 2
L’eXtensible Markup Language, fin dalla sua nascita, ha avuto un gran consenso da parte di tutti gli attori che operano nel mondo informatico, diventando di fatto la base di molte applicazioni, in particolar modo di quelle che fondano la loro attività sullo scambio di informazioni, per la sua semplicità ed interoperabilità.
![Page 3: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/3.jpg)
Eidon School 3
Agenda
XML e Namespace Accenni di
XMLSchema XSL XPath XSL-Fo
![Page 4: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/4.jpg)
Eidon School 4
XML
![Page 5: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/5.jpg)
Eidon School 5
Le origini di XML 1/2L’XML è un metalinguaggio, derivato da SGML (Standard Generalized Markup Language standard internazionale ISO 8879 del 1986) che ha il compito di rappresentare informazioni strutturate più rigidamente rispetto al suo predecessore. L’SGML deriva dal GML, creato da IBM nel ’69, che aveva come obiettivo quello di rendere i documenti elettronici più comprensibili e versatili, indipendenti dal mezzo di consultazione e di sollevare l’autore dal compito di impaginazione (per qualunque output, carta, pagina web, presentazione, ecc.)...e per durare per tempo!
![Page 6: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/6.jpg)
Eidon School 6
Le origini di XML 2/2L’SGML non ha avuto notorietà essendo complicato da implementare.
L’HTML, un altro derivato di SGML, ha avuto invece un successo enorme per la sua semplicità e per il boom dei web browser.
L’XML è un metalinguaggio che mira a migliorare sia l’SGML perché complesso, sia l’HTML (perché mischia nel testo informazioni di impaginazione e formattazione).
È stato formalizzato dal W3C nel febbraio ’98, attualmente (2009) la versione 1.1 è W3C recommendation.
![Page 7: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/7.jpg)
Eidon School 7
Ma cos’è XML? È una raccomandazione del W3C
http://www.w3.org/XML Consiste in un insieme di tag (marcatori di testo che
sono racchiusi da “<“ e “>”) e attributi definiti dall’utente che permettono di rappresentare un’informazione in maniera gerarchica.
È uno standard aperto libero da royalty, brevetti, copyright o segreti industriali.
Auto esplicativo. Creabile ed editabile con un semplice editor di testo.
![Page 8: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/8.jpg)
Eidon School 8
..e cosa non è! Un linguaggio di programmazione. Un sostituto di HTML. Un protocollo di comunicazione. Uno standard binario.
![Page 9: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/9.jpg)
Eidon School 9
Vediamo un esempio di XML<?xml version="1.1" encoding=”UTF-8”?><computer>
<!—questo è un commento--><memoria tipo=”DDR” unit=”Mb”>512</memoria><CPU>1.2 GHz</CPU><tastiera>400 tasti</tastiera><HD>
<HardDisk>7200 rpm 5Gb</HardDisk><HardDisk>7200 rpm 224Tb</HardDisk>
</HD><descrizione><![CDATA[ questo è
un ottimo <<PC>>!]]></descrizione><lettore/>
</computer>
![Page 10: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/10.jpg)
Eidon School 10
Esaminiamolo!Questa è una fantomatica descrizione di un computer.
Un documento XML è formato da due parti: Un prologo facoltativo (ma raccomandato per
indicare la versione del documento xml e la codifica) che vedremo tra pochissimo
Il corpo del documento
![Page 11: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/11.jpg)
Eidon School 11
Processing Instructions Sono delle direttive che forniscono informazioni su
come leggere/parserizzare i file xml. Sono racchiusi tra “<?” e “?>”. Come per i commenti, possono trovarsi in
qualunque punto del documento ma non dentro un tag es. <tag NO-QUI>.
<?robots index="yes" follow="no"?>
<?xml-stylesheet href="person.css" type="text/css"?>
<?php mysql_connect("database.unc.edu", "debra", "secret"); ?>
![Page 12: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/12.jpg)
Eidon School 12
Il prologo (XML Declaration) È una process instruction riservata Se c’è, deve trovarsi in testa al documento
Nell’esempio che abbiamo visto era:
<?xml version="1.1" encoding=”UTF-8”?>
Il primo indica la versione di XML utilizzata, la più recente è la 1.1. Il secondo l’encoding del documento (in questo caso UTF-8, che è anche il charterset di default per XML).
È possibile indicare anche standalone="yes" Xml, XML, xml ecc. in qualunque combinazione di case sono
riservati.
![Page 13: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/13.jpg)
Eidon School 13
Il corpoDopo il possibile prologo, segue una radice da cui si origina l’albero del documento. Come l’esempio dimostra, la radice dell’elemento contiene i dati (le informazioni vere e proprie) tra i marcatori mentre quest’ultimi si occupano di definire la struttura gerarchica del documento.
![Page 14: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/14.jpg)
Eidon School 14
Strutturare al meglio!Vediamo che le informazioni, i dati veri e propri, del documento sono contenuti dentro dei tag all’interno dei quali è possibile inserire anche altri tag figli.
Benché sia ammissibile avere tag figli e testo dentro lo stesso marcatore (“tag a contenuto misto”), ad esempio:
<HD>Haqdrdisk<HardQ>5</ HardQ>
</HD>
è sconsigliato, in quanto si complica la creazione di documenti che controllano la correttezza del nostro XML
![Page 15: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/15.jpg)
Eidon School 15
AttributiI nostri elementi possono contenere anche attributi come questi:
<memoria tipo=”DDR” unit=”Mb”>512</memoria>
possiamo anche scrivere le stesse informazioni così:
<memoria tipo=”DDR” unit=”Mb” qta=”512”/>
oppure cosi:<memoria>
<tipo>DDR</tipo>
<unit>Mb</unit>
<qta>512</qta>
</memoria>
oppure cosi ancora:
<memoria>512Mb DDR</memoria>
Qual è secondo voi la rappresentazione migliore?
BENE!! OVVIAMENTE LA PRIMA FORMA!!è più utilizzata perché si tende a inserire negli
attributi delle proprietà che riguardano il valore contenuto nel tag, evitando cosi di andare a
modificare il valore di un attributo, meno flessibile di un testo contenuto in un tag, o di
dover analizzare la stringa “512Mb DDR” come nell’ultimo caso.
![Page 16: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/16.jpg)
Eidon School 16
Sezioni CDATAPossiamo notare una sezione CDATA (Character Data):
<descrizione><![CDATA[ questo è
un ottimo <<PC>>!]]>
</descrizione>
Questa è utilizzata per inserire del testo in cui sono presenti anche caratteri particolari come “&”, “<”, “>” senza che siano interpretati come riferimenti a markup.
Deve iniziare con “<![CDATA[”. E terminare con “]]>”. Non può contenere al suo interno la stringa “]]>”.
![Page 17: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/17.jpg)
Eidon School 17
Dove lo abbiamo già visto?
Entità 1/2
Per poter usare caratteri significativi per XML si usano le entità: Cinque sono le predefinite <(<) >(>) &(&) "(“)
'(‘) Il DTD viene usato per dichiarare entità:
<!ENTITY fnof "ƒ">
<!ENTITY coordinate "((x, y) | (y, x) | (q, r) | (r, q))“ >
Cosa succede se scrivo <alert>Il totale è < 0</alert> ?server.dtd:<!ENTITY jvmRoute "rcstom01cinematv"><!ENTITY SHUTDOWNport "8419"><!ENTITY HTTPport "8097"><!ENTITY AJPport "8031">
conf/server.xml:<!DOCTYPE Server SYSTEM "../server.dtd"><Server port="&SHUTDOWNport;“
shutdown="SHUTDOWN">
![Page 18: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/18.jpg)
Eidon School 18
DEMORisolvi entità
![Page 19: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/19.jpg)
Eidon School 19
Entità 2/2
È possibile inserire come entità anche un intero documento, anche esterno:
<!ENTITY footer SYSTEM "http://www.oreilly.com/boilerplate/footer.xml">
![Page 20: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/20.jpg)
Eidon School 20
I tipi di documento XMLI documenti XML possono essere di due tipi:
Ben Formati: è il documento che rispetta le regole di XML (non può altrimenti essere un documento xml!).
Validi: oltre a essere ben formati deve anche rispondere correttamente ad un controllo semantico che permette di sapere se il documento ha un significato rispetto a quello che vogliamo. Un programma di elaborazione matematica gestisce l’importazione di documenti XML contenenti determinati tag, diversi per un programma bancario. Questo controllo è opzionale.
![Page 21: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/21.jpg)
Eidon School 21
Le regole di XML per documenti well-format
L’intero documento deve essere racchiuso in un unico tag radice.
I tag devono essere annidati in maniera corretta, ogni tag di apertura deve essere seguito dal suo di chiusura dentro i quali possono esserci altri tag sempre annidati in maniera corretta.
Gli attributi possono essere solo inseriti nei tag di apertura. Lo stesso attributo non può comparire più di una volta
all’interno dello stesso tag. Ogni attributo inserito deve avere un valore e deve essere
racchiuso tra doppi o singoli apici. I nomi dei marcatori e degli attributi sono Case Sensitive.
![Page 22: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/22.jpg)
Eidon School 22
DOC TYPE Un documento valido deve avere un DTD (o,
come vedremo più avanti, un XML Schema) con cui può essere validato
Il DOCTYPE deve essere inserito tra l’xml declaration e il root element
Subito dopo “<!DOCTYPE” è presente in nome del tag di root del documento
SYSTEM o PUBLIC?
![Page 23: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/23.jpg)
Eidon School 23
DOCTYPE: esempi XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
![Page 24: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/24.jpg)
Eidon School 24
DOCTYPE: esempi<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>XHTML 1.0 Example</title>
….
![Page 25: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/25.jpg)
Eidon School 25
DOCTYPE: esempi<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>CommunityAtCasa</display-name>
…
![Page 26: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/26.jpg)
Eidon School 26
NAMESPACE
![Page 27: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/27.jpg)
Eidon School 27
Il problemaIn un unico documento XML possiamo rappresentare informazioni di natura diversa:
<autovettura>
<modello type="I">Honda CRW</modello>
<pneumatici>
<modello>Pirelli P9999</modello>
</pneumatici>
</autovettura>
Come distinguere i vari tag in base al loro significato?
![Page 28: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/28.jpg)
Eidon School 28
La soluzionePer dare un significato differente ai vari tag si usano dei prefissi, identificatori posti prima del nome del marcatore e separati dai “:” da quest’ultimo:
<?xml:namespace ns="http://some/uri1" prefix="au"?> <?xml:namespace ns="http://some/url2" prefix="pn"?>
<au:autovettura>
<au:modello type="I">Honda CRW</au:modello>
<pn:pneumatici>
<pn:modello>Pirelli P9999</pn:modello>
</pn:pneumatici>
</au:autovettura>
![Page 29: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/29.jpg)
Eidon School 29
Namespace È una recommendation di W3C dal 1999. La direttiva “xml:namespace” indica a quale URI
(Uniform Resource Identifier) si riferisce un determinato prefisso. Si usa un URI perché unico in Internet.
Un marcatore che usa un prefisso di dice che ha un “nome qualificato”.
Si può specificare anche al suo primo utilizzo e/o dentro un tag (e ha validità solo nei nodi figli):
<au:autovettura xmlns:au="http://some/uri">
![Page 30: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/30.jpg)
Eidon School 30
Namespace di default Tutti i tag che non hanno un prefisso appartengono
al namespace di default. Il namespace di default può anche essere dichiarato
attraverso la parola chiave riservata xmlns NON seguita da prefisso:
<autovettura xmlns="http://some/uri"> Il namespace di default non dichiarato ha l’URI ""
![Page 31: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/31.jpg)
Eidon School 31
Namespace e attributi I namespace si possono applicare anche agli
attributi:
<au:modello au:type="I">Honda CRW</au:modello> Il namespace di default non si applica agli attributi
privi di prefisso. Se relativi a namespace diversi, e che puntano a URI
diversi, gli attributi possono avere nome locale uguale.
![Page 32: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/32.jpg)
Eidon School 32
Un esempio<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>msite</display-name>
<description>
MSITE - sito mobile della gazzetta dello sport
</description>
…
![Page 33: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/33.jpg)
Eidon School 33
Facciamo un altro esempio!<!-- http://www.w3.org is bound to n1 and n2 and is the
default -->
<x xmlns:n1="http://www.w3.org"
xmlns:n2="http://www.w3.org"
xmlns="http://www.w3.org" >
<alex a="1" b="2" />
<frantz a="1" n1:a="2" />
<ficarra a="1" a="2" />
<picone n1:a="1" n2:a="2" />
</x>
![Page 34: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/34.jpg)
Eidon School 34
DEMOTest Namespace
![Page 35: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/35.jpg)
Eidon School 35
DEMOMathML e SVG in Mozilla
![Page 36: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/36.jpg)
Eidon School 36
ENCODING
![Page 37: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/37.jpg)
Eidon School 37
Mai visto qualcosa del genere? Simbolo dell'euro � € anche questo è il simbolo dell’euro!! Vari “?” <?xml version='1.0' encoding='UTF-8'?>
Quante volte vi hanno detto che su una pagina html/xml le accentate non si vedono?
…€…
![Page 38: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/38.jpg)
Eidon School 38
Character-Set Quasi tutti i caratteri di ogni lingua sono codificati
nello standard UNICODE che associa un numero ad un simbolo
L’encoding dice come quel numero è scritto fisicamente nel file
I parser XML possono applicare un meccanismo di auto-detection dell’encoding (anche grazie al Byte Order Mark di UTF)
MIME Type text/xml -> US-ASCII, applicazion/xml -> Il client tenta di capire l’econding come nel punto precedente
![Page 39: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/39.jpg)
Eidon School 39
Encoding declaration<?xml version="1.0" encoding="ISO-8859-1"?>
È caldamente consigliato dichiarare l’encoding Se non viene fatto, il default è UTF-8 o UTF-16 Un XML scritto con caratteri ASCII puri non ha
problemi a non dichiarare l’encoding…ma è,à,ù,€ non fanno parte di ASCII 7 bit!
ASCII: <città>Mondovì più Como</città>
Letto da UTF-8: <città >Mondovì più Como</città >
Letto da Latin1: <citt?>Mondov? pi? Como</citt?>
![Page 40: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/40.jpg)
Eidon School 40
Character References 1/2 Da la possibilità di inserire un carattere usando il
codice UNICODE: њ decimale њ esadecimale
Non può essere usato nei nomi di tag e attributi Può essere usato nelle Entità:
<!ENTITY sigma "σ"> (σ)
![Page 41: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/41.jpg)
Eidon School 41
Character References 2/2 Esempio (proverbio greco):
<maxim>σοφός έαυτόν γιγνώσκει</maxim>
“The wise man knows himself”
![Page 42: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/42.jpg)
Eidon School 42
DEMOEncoding
![Page 43: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/43.jpg)
Eidon School 43
Accenni ai contenuti del corso
![Page 44: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/44.jpg)
Eidon School 44
CSS e XSLL’importanza che il W3C ha dato alla separazione delle informazioni in dati e presentazione ha portato la necessita di sviluppare nuove tecnologie capaci di supportare tale divisione. Nasce cosi CSS per HTML, seguito da XSL per XML, due tecnologie chiave per il futuro del web, il web semantico, in cui le macchine sono capaci di comprendere e trattare le informazioni senza la fatica di dover riconoscerle tra le parti di formattazione.
![Page 45: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/45.jpg)
Eidon School 45
XSLÈ una famiglia di linguaggi per la trasformazione e presentazione di documenti XML, si compone di: XPath: recupera determinati elementi di un XML XSLT: Trasforma i file XML in altri formati XSL-Fo: Formattazione
Non sostituisce il CSS, l’XSL è molto utile per
trasformare nella forma i contenuti, mentre il
CSS resta per assegnare gli stili di formattazione ai
tag HTML.
![Page 46: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/46.jpg)
Eidon School 46
XPath Sintassi per localizzare elementi o attributi in
documenti XML Namespaces aware String-based (non XML) Riesce a manipolare stringhe, valutare espressioni
booleane o far calcoli sui nodi o sui loro contenuti. Usato anche da altre tecnologie come XSLT e
XPointer È considerato l’SQL di XML
![Page 47: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/47.jpg)
Eidon School 47
XSLT Raccomandazione del W3C (1.0) del novembre 1999 . W3C: “Linguaggio per trasformate un documento
XML in un altro documento sempre XML”, ma fa molto altro! (unire due documenti XML, ordinare elementi, filtrarli, crearne di nuovi, cambiare strutturalmente il documento).
Namespace: “http://www.w3.org/1999/XSL/Transform”. È spesso utilizzato per trasformare un XML in
XHTML per la visualizzazione sul web. La trasformazione di un XML attraverso un XSLT
viene effettuata dal parser XML.
![Page 48: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/48.jpg)
Eidon School 48
XSL-Fo Raccomandazione del W3C dell’ottobre 2001. Namespace: xmlns:fo=“http://www.w3.org/1999/XSL/Format”
Trasforma un documento XML in uno Formattato secondo un determinato XSL-Fo.
Formati di output: PostScript PDF Testo PCL RTF …
![Page 49: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/49.jpg)
Eidon School 49
XMLSchema Linguaggio per definire delle regole di validità per documenti
XML W3C Raccommendation dal 2001 Più potente del DTD (datatypes…) È XML quindi manipolabile come qualunque altro documento
XML Supporta i namespaces Estensibile Uno schema può validare anche solo una porzione di
documenti in cui è definito un namespace, viceversa, uno documento XML può avere molti XSD per i diversi namespace che ingloba.
![Page 50: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/50.jpg)
Eidon School 50
Java & XML Parser DOM, SAX, StAX, TrAX
![Page 51: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/51.jpg)
Eidon School 51
Parser: DOM vs. SAX Quando usare DOM:
Per percorrere l’albero avanti e indietro Manipolare il documento in molte parti Si ha a disposizione molta memoria perché
l’albero XML viene ricostruito in essa Creare un nuovo documento
Quando usare SAX: Percorrere l’albero solo “forward only” Leggere solo poche informazioni Si ha poca memoria a disposizione
![Page 52: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/52.jpg)
Eidon School 52
Ci vediamo al corso!!Ci vediamo al corso!!
![Page 53: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/53.jpg)
Eidon School 53
Riferimenti XML in a Nutshell, 3rd Edition (ISBN: 0-596-00764-7) http://en.wikipedia.org/wiki/
Standard_Generalized_Markup_Language http://www.sgmlsource.com/history/roots.htm
![Page 54: Xml annessi e connessi](https://reader035.fdocumenti.com/reader035/viewer/2022062220/55894b35d8b42a186d8b46c9/html5/thumbnails/54.jpg)
Eidon School 54