Settimana I...1 Giorno 1 - Introduzione all XSLT...3 Generalità su XSLT...3 Introduzione a XML e XSLT... 4 Cos è XSLT?... 5 Che cosa fa XSLT?... 6 Come si presenta XSLT?... 6 XSLT e la famiglia di XML... 7 Breve storia di XML e XSLT... 7 Origini di XML... 8 Origini di XSLT... 8 Altri componenti della famiglia XML... 9 Definire strutture XML... 9 Distinguere fra i vocabolari... 10 Il Document Object Model... 11 Simple API for XML... 11 Indirizzare elementi e attributi... 12 I vantaggi di XSLT...12 XML e XSLT nell immagazzinamento dati... 12 XML e XSLT nella comunicazione... 15 Quando non utilizzare XSLT... 17 Problemi di prestazioni di XSLT... 18 Applicazioni di immagazzinamento dati... 18 Applicazioni di elaborazione... 18 Utilizzare CSS invece di XSLT... 19 Come opera XSLT?...19 Spiegazione della trasformazione XSLT... 19 Comprendere la programmazione dichiarativa... 23 Creare file XSLT...24 Utilizzare un editor di testi... 24 Utilizzare un editor di XML... 24 Editor e debugger XSLT... 25 excelon Stylus Studio... 25 Marrowsoft Xselerator... 25 Debugger XSL... 26 Visual Studio.NET... 26 Strumenti di progettazione XSLT... 26 Processori per trasformazione di XML con XSLT...26 MSXML... 27 Installazione di MSXML e MSXSL... 27 i
ii XML Guida completa Esecuzione di MSXSL...27 Saxon...28 Installazione di Saxon...28 Esecuzione di Saxon...28 Xalan...28 Installazione di Xalan-Java...29 Esecuzione di Xalan-Java...29 Riepilogo... 29 Domande e risposte... 30 Esercizi... 30 Quiz...31 Esercizio...31 Giorno 2 - Trasformazione del primo XML... 33 Anatomia di un foglio stile... 33 Che cos è un foglio stile?...33 Elementi base del foglio stile...34 Il prologo di XML...34 L elemento foglio stile...35 L elemento transform...36 Contenuti dei fogli stile...37 Creare le proprie regole...38 Utilizzare l attributo match...38 Far corrispondere l elemento radice...41 Applicare più modelli...41 Ottenere dati da un sorgente XML...44 Sintassi semplificata del foglio stile...46 Applicare un foglio stile a un sorgente XML... 48 Collegare un foglio stile a un sorgente XML...48 Rivolgersi a più media...50 Incorporare un foglio stile in un sorgente XML...51 Eseguire un foglio stile utilizzando il codice...53 Riepilogo... 54 Domande e risposte... 55 Esercizi...55 Quiz...55 Esercizio...56 Settimana II -...1 Giorno 8 - Lavorare con le variabili... 1
Capire la variabili...1 Che cosa sono le variabili?... 2 Quali vantaggi danno le variabili?... 3 Creare e utilizzare variabili...4 Utilizzo di variabili semplici... 4 Utilizzo di variabili complesse... 8 Creare variabili partendo da espressioni...11 Utilizzare variabili per rimpiazzare un espressione... 11 Utilizzare variabili per dati fuori contesto... 15 Creare variabili da elementi XSLT... 19 Riepilogo...21 Domande e risposte... 22 Esercizi... 22 Quiz... 22 Esercizio... 23 Giorno 9 - Lavorare con i parametri...1 Capire i parametri...1 Che cosa sono i parametri?... 2 Quali sono i vantaggi dei parametri?... 3 Utilizzare parametri...4 Utilizzare parametri per modificare l output... 4 Utilizzare parametri per creare funzioni modello... 8 Espandere funzioni in XSLT... 11 Acquisire dati dall esterno del foglio stile... 13 Ottenere output differenti... 13 Utilizzare parametri per aggiungere dati... 15 Impostare parametri tramite codice... 17 Riepilogo...20 Domande e risposte...20 Esercizi... 21 Quiz... 21 Esercizio... 22 Giorno 10 - Capire i tipi di dati...1 Concetti base dei tipi di dati...1 Che cos è un tipo di dato?... 2 Tipi di dati in XSLT... 3 Il tipo di dato booleano... 4 Il tipo di dato numerico... 5 Il tipo di dato stringa... 9 iii
iv XML Guida completa Il tipo di dato insieme di nodi...9 Il tipo di dato frammento di albero...10 Conversione fra tipi di dati... 12 Conversione esplicita del tipo di dato...12 Conversione in booleano...12 Conversione in numero...13 Conversione in stringa...14 Conversione implicita del tipo di dato...15 Tranelli delle conversioni...15 Confrontare valori... 15 Tranelli nei confronti...16 Riepilogo... 17 Domande e risposte... 18 Esercizi... 19 Quiz...19 Esercizio...19 Settimana III -...1 Giorno 15 - Uso dei namespace...375 Che cosa sono i namespace... 376 Spazi di nomi...376 Che cosa sono i vocabolari XML...376 Collisioni di vocabolario...377 Uso dei namespace...378 I vantaggi dei namespace...380 Gli svantaggi dei namespace...381 Namespace, DTD e schemi...382 Elaborazione di sorgenti XML con namespace... 384 Recupero di informazioni sui namespace... 386 Inserimento ed eliminazione di namespace... 388 Inserimento di nodi con namespace...388 Modifica dei Namespace...390 Eliminazione di namespace...392 Eliminazione di prefissi di namespace...395 Riepilogo... 397 Domande e risposte... 398 Esercizi... 398
v Quiz... 398 Esercizio... 398 Giorno 16 - Tecniche avanzate di selezione dei dati...401 Ancora sulle espressioni... 401 Corrispondenza e selezione... 402 Confronto di valori... 403 Selezione di valori distinti... 404 Uso delle chiavi... 406 Che cos è una chiave?... 406 Uso delle chiavi per selezionare dati... 407 Lavorare con ID univoci... 415 Selezione di dati con un ID univoco... 416 Inserimento di ID univoci... 417 Chiavi e ID generati per selezionare valori distinti... 421 Riepilogo... 422 Domande e risposte... 423 Esercizi... 423 Quiz... 423 Esercizio... 424 Giorno 17 - Uso della ricorsione...425 La ricorsione... 425 Che cosè la ricorsione?... 425 Perché e quando si usa la ricorsione?... 427 Gli svantaggi della ricorsione... 429 Creazione di modelli ricorsivi... 430 Ricorsione con valori singoli... 434 Totali con la ricorsione... 436 Riepilogo... 439 Domande e risposte... 440 Esercizi... 441 Quiz... 441 Esercizi... 441 Giorno 18 - Costruzione di fogli stile di calcolo...443
vi XML Guida completa Fogli stile computazionali... 443 Che cos è un foglio stile computazionale?...443 Quando si usa un foglio stile computazionale?...444 Operatori e funzioni che si usano nei calcoli... 445 Operatori...445 Funzioni...447 Applicazioni computazionali... 452 Classifica di un torneo...452 Manipolazione di stringe...459 Conversione di valute...462 Riepilogo... 464 Domande e risposte... 464 Workshop... 465 Quiz...465 Esercizio...465 Giorno 19 - Le estensioni di XSLT...467 Introduzione alle estensioni di XSLT... 467 Che cosa sono le estensioni di XSLT?...467 Quali sono i vantaggi delle estensioni?...468 Gli svantaggi delle estensioni di XSLT...469 Come funzionano le estensioni di XSLT?...470 Uso di estensioni predefinite... 470 Uso degli elementi di estensione...471 Uso delle funzioni di estensione...475 Uso delle estensioni con altri processori...477 Creazione di funzioni di estensione... 477 Uso di funzioni Java come funzioni di estensione...477 Creazione di una funzione di estensione con uno script...480 Riepilogo... 484 Domande e risposte... 485 Workshop... 486 Quiz...486 Esercizi...486 Giorno 20 - Lavorare con processori diversi... 1 Al lavoro con più processori...1 Differenze principali fra i processori...2 Gestione degli spazi...3
Codifica dei caratteri... 3 Gestione dei conflitti... 4 Ordine degli attributi... 4 Gestione dei namespace... 4 Performance Differences... 5 Come trattare le differenze fra processori... 6 Controllo delle proprietà del processore... 6 Controllo dell esistenza di elementi... 8 Controllo dell esistenza di funzioni... 10 Come trattare con versioni diverse di XSLT... 11 Capacità XML dei server di database...14 Reperimento e trasformazione di dati XML con Oracle... 14 Recupero di dati XML da Microsoft SQL Server... 18 Riepilogo...20 Domande e risposte...20 Esercizi...21 Quiz... 21 Esercizio... 22 Giorno 21 - Progettazione di applicazioni XML e XSLT...1 Progettazione XML...1 Considerazioni di progettazione XML... 4 Impostazione di una gerarchia... 4 Elementi o attributi?... 9 Un documento o tanti documenti?... 10 Uso dei namespace... 11 Strumenti di progettazione... 12 Progettazione XSLT...13 Considerazioni sulla progettazione XSLT... 14 La base di un foglio stile... 14 Corrispondenza, chiamata o iterazione?... 15 Variabili e insiemi di attributi... 17 Fogli stile in più file... 17 Gestione degli errori... 17 Progettazione XSLT: le cose da fare, quelle da evitare... 18 Riepilogo...19 Domande e risposte...20 Verifica...20 vii
viii XML Guida completa Quiz...20 Esercizio...21 Settimana 3 - Ripasso... 1 Il progetto 3...1 Creazione di un carrello della spesa in XSLT...2 I dati dei prodotti...2 Il carrello della spesa...3 Visualizzazione dei dati...4 Aggiornamento del carrello...9 Invocazione del processore...13