Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
di Marco Giann
marco@ragusaonline.com
Questa guida, curata da Marco Giann, introduce, in 70 lezioni corredate da
esempi pratici, alle caratteristiche principali di XML. Dall'introduzione al
linguaggio al suo utilizzo pratico. Questo corso, completamente in italiano e di
facile comprensione, il primo passo per chi non ha alcuna conoscenza di XML.
Percorso consigliato: apprendisti
Livello di difficolt:
Hosting Italiano
INTRODUZIONE
CAPITOLO 1
1. Limportanza dellXML
Le altre news
cerca
2.3.2 Attributi
2.4 Documenti XML validi e ben formati
2.4.1 Documenti validi
2.4.2 Documenti ben formati
CAPITOLO 3
3. DEFINIZIONE DEL TIPO DI DOCUMENTO (DTD)
3.1 Struttura della DTD
3.2 Creazione di una DTD semplice
3.3 Dichiarazioni di elementi
3.4 Tipi di Dati
3.5 Simboli relativi alla struttura
3.6 Attributi
3.7 Entit
3.8 Le parole chiave IGNORE e INCLUDE
3.9 Istruzioni di elaborazione.
3.10 Commenti
3.11 DTD esterne
3.12 Vocabolari
3.13 Spazi dei nomi XML (XML Namespace)
3.13.1 Creazione di nomi univoci tramite gli spazi dei
nomi XML
CAPITOLO 4
4. AMPLIARE I DOCUMENTI XML
4.1 XSL: lXML con i fogli di stile
4.1.1 Nozioni fondamentali sul linguaggio XSL
4.1.2 Componenti del linguaggio XSL
4.1.3 Fogli di stile XSL
4.1.4 Utilizzo dei modelli
4.1.5 Visualizzazione degli elementi di output
5.2.5 Switching
5.2.6 Esempio SMIL (esempio file smil)
Conclusioni
Appendice A
Strumenti software
A.1 Il processore XML
A.2 Il parser Msxml
A.3 Panorama del software
A.4 Esempio di file XML (esempio file xml/xsl)
Bibliografia
cerca
Introduzione all'XMLIntroduzione
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
successiva
[Sommario]
http://www.html.it/xml/guida/introdu.htm12/10/04 16.13.49
Origine e obiettivi
LExtensible Markup Language (XML) un metalinguaggio che permette di
creare dei linguaggi personalizzati di markup; nasce dallesigenza di portare
nel World Wide Web lo Standard Generalized Markup Language (SGML), lo
standard internazionale per la descrizione della struttura e del contenuto di
documenti elettronici di qualsiasi tipo; ne contiene quindi tutta la potenza, ma
non tutte le complesse funzioni raramente utilizzate. Si caratterizza per la
semplicit con cui possibile scrivere documenti, condividerli e trasmetterli nel
Web.
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
Lutilizzo di XML permette di superare il grosso limite attuale del Web, che
quello della dipendenza da un tipo di documento HTML, singolo e non
estensibile. Questo linguaggio nato per permettere agli utenti del World Wide
Web di condividere le informazioni su sistemi differenti; il presupposto era che
quelle informazioni fossero testo con al pi alcune immagini e collegamenti
ipertestuali. Attualmente per, le informazioni sul World Wide Web sono
database di testo, immagini, suoni, video, audio. Quindi lHTML stato
chiamato sempre pi di frequente a fornire soluzioni a problemi che non aveva
lo scopo di risolvere, come dover descrivere tipi differenti e specifici di
informazioni, definire relazioni complesse di collegamenti fra documenti,
trasmettere informazioni in diversi formati. Per superare questi problemi, sono
state create delle estensioni dellHTML, spesso fra loro incompatibili.
LXML permette a gruppi di persone o ad organizzazioni di creare il proprio
linguaggio di markup, specifico per il tipo di informazione che trattano; per
molte applicazioni e per diversi settori, gli esperti hanno gi creato linguaggi di
markup specifici, come ad esempio il Channel Definition Format, il
Mathematical Markup Language ed altri (Fig. 1.1).
cerca
dal W3C.
Lobiettivo di questo gruppo di lavoro era di portare il linguaggio SGML nel
Web. LSGML un linguaggio per la specifica dei linguaggi di markup ed il
genitore del ben noto HTML.
La progettazione dellXML venne eseguita esaminando i punti di forza e di
debolezza dellSGML. Il risultato uno standard per i linguaggi di markup che
contiene tutta la potenza dellSGML ma non tutte le funzioni complesse e
raramente utilizzate. LXML venne mostrato per la prima volta al pubblico
quando lSGML celebr il suo decimo anno.
Gli obiettivi progettuali di XML sono:
1.
XML deve essere utilizzabile in modo semplice su Internet: in primo
luogo, lXML deve operare in maniera efficiente su Internet e soddisfare
le esigenze delle applicazioni eseguite in un ambiente di rete distribuito.
2.
XML deve supportare un gran numero di applicazioni: deve essere
possibile utilizzare lXML con unampia gamma di applicazioni, tra cui
strumenti di creazione, motori per la visualizzazione di contenuti,
strumenti di traduzione e applicazioni di database.
3.
XML deve essere compatibile con SGML: questo obiettivo stato
definito sulla base del presupposto che un documento XML valido
debba anche essere un documento SGML valido, in modo tale che gli
strumenti SGML esistenti possano essere utilizzati con lXML e siano in
grado di analizzare il codice XML.
4.
Deve essere facile lo sviluppo di programmi che elaborino
documenti XML: ladozione del linguaggio proporzionale alla
disponibilit di strumenti e la proliferazione di questi la dimostrazione
che questo obiettivo stato raggiunto.
5.
Il numero di caratteristiche opzionali deve essere mantenuto al
minimo possibile: al contrario dellSGML, lXML elimina le opzioni, in
tal modo qualsiasi elaboratore potr pertanto analizzare qualunque
documento XML, indipendentemente dai dati e dalla struttura contenuti
nel documento.
6.
I documenti XML dovrebbero essere leggibili da un utente e
ragionevolmente chiari: poich utilizza il testo normale per descrivere
i dati e le relazioni tra i dati, lXML pi semplice da utilizzare e da
leggere del formato binario che esegue la stessa operazione; inoltre
poich il codice formattato in modo diretto, utile che lXML sia
facilmente leggibile da parte sia degli utenti che dei computer.
7.
La progettazione di XML dovrebbe essere rapida: lXML stato
sviluppato per soddisfare lesigenza di un linguaggio estensibile per il
Web. Questo obiettivo stato definito dopo aver considerato
leventualit che se lXML non fosse stato reso disponibile rapidamente
come metodo per estendere lHTML, altre organizzazioni avrebbero
potuto provvedere a fornire una soluzione proprietaria, binaria o
entrambe.
8.
La progettazione di XML deve essere formale e concisa: questo
obiettivo deriva dallesigenza di rendere il linguaggio il pi possibile
conciso, formalizzando la formulazione della specifica.
9.
I documenti XML devono essere facili da creare: i documenti XML
possono essere creati facendo ricorso a strumenti di semplice utilizzo,
quali editor di testo normale.
10.
Non di nessuna importanza leconomicit nel markup XML:
nellSGML e nellHTML la presenza di un tag di apertura sufficiente
per segnalare che lelemento precedente deve essere chiuso. Bench
cos sia possibile ridurre il lavoro degli autori, questa soluzione
potrebbe essere fonte di confusione per i lettori, nellXML la chiarezza
ha in ogni caso la precedenza sulla concisione.
Lezione
successiva
[Sommario]
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
Pregi di SGML :
Le altre news
successiva
[Sommario]
cerca
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
cerca
Lezione
successiva
[Sommario]
Le propriet dell'XML
LXML importante in due classi di applicazioni Web: la creazione di
documenti e lo scambio dei dati; i server Web attualmente utilizzati richiedono,
per essere in grado di servire documenti XML, minime modifiche di
configurazione; inoltre il metodo standard di collegamento e la connessione
dei documenti XML, utilizza gli URL, che vengono interpretati correttamente
della maggior parte del software per Internet.
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
cerca
Fig 1.3: LXML pu essere utilizzato come piattaforma per lo scambio di dati
Poniamo il caso che si voglia scambiare le informazioni di database su
Internet. Si immagini di utilizzare un browser per rinviare al server le
informazioni su un questionario compilato dagli utenti. Questo processo, come
molti altri, richiede un formato che possa essere personalizzato per un utilizzo
specifico e che sia una soluzione aperta non proprietaria.
LXML la soluzione per questo tipo di problema. Questo linguaggio in futuro
diventer sempre pi importante per lo scambio di dati su Internet.
LXML in grado di fornire una sola piattaforma per lo scambio di dati tra le
applicazioni. Era sempre stato difficile trovare un formato di interscambio che
potesse essere utilizzato per il trasferimento di dati tra database di fornitori
differenti e sistemi operativi diversi. Quel tipo di interscambio ora diventato
una delle applicazioni principali dellXML.
Le pagine HTML hanno lunico scopo di essere visualizzate da un browser
(infatti si dice che i dati nellHTML sono orientati al video); per questo molto
difficile lelaborazione successiva delle informazioni contenute nelle pagine
HTML. I documenti basati sullXML invece, non fanno supposizioni su come
verranno utilizzati dal client; cos le informazioni ricevute possono essere
utilizzate da unapplicazione che comprende il linguaggio XML, utilizzando i
dati ivi contenuti in altri processi software; quindi uno stesso documento pu
essere facilmente utilizzato per scopi diversi.
Il collegamento ipertestuale una caratteristica specifica dellHTML;
attualmente per, esso supporta solo un tipo di collegamento, che quello
unidirezionale; in un vero sistema ipertestuale i tipi di collegamento sono
diversi. Anche se lXML uno standard, molte cose sulle tecnologie correlate,
quali i fogli di stile ed il collegamento, sono ancora in fase di sviluppo; quindi il
modo esatto in cui il collegamento deve essere implementato nellXML
ancora in fase di studio. Sicuramente dovr essere compatibile con i
meccanismi di collegamento HTML esistenti, supportare lestensibilit e le
propriet intrinseche dellXML e implementare i vari tipi di collegamenti propri
di un vero sistema ipertestuale. Attualmente lo standard di riferimento
lExtensible Linking Languge (XLL) del 3/3/1998; stato diviso in due parti:
XML Linking Language (XLink) e XML Pointer Language (XPointer).
LXSL definisce la specifica per la presentazione e laspetto di un documento
XML: stato presentato nel 1997 da un consorzio di industrie software (tra cui
anche la Microsoft) al W3C perch lo approvasse come linguaggio di stile
standard per i documenti XML. LXSL un sottoinsieme del Document Style
Semantics and Specification Language (DSSSL), il linguaggio di stile utilizzato
in ambiente SGML; gode delle propriet di essere estensibile, potente ma
nello stesso tempo di facile utilizzo.
Con lXSL possibile creare fogli di stile che permettono la visualizzazione di
un documento XML in un qualsiasi formato (audio, video, braille, etc.), come
mostra la Fig. 1.4. Attualmente lo standard di riferimento il documento WDxsl-19990421.
Fig 1.4: LXSL permette di creare fogli di stile per un qualsiasi formato
Lezione
successiva
[Sommario]
cerca
L'XML e il Web
Si possono individuare quattro categorie di applicazioni che utilizzeranno
lXML:
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
Le altre news
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/web.htm12/10/04 16.14.46
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
1.
Raggiungere il sito Web dellospedale
2.
3.
Accedere alla documentazione medica del paziente attraverso il
browser
Le altre news
4.
Stampare la documentazione
5.
Inserire manualmente i dati nel database (dalla stampa)
Attualmente questa soluzione proposta da un gran numero di ospedali
americani. Una versione leggermente pi sofisticata permette alloperatore di
inserire manualmente i dati letti dal browser direttamente in un form
dellagenzia (in una finestra separata), evitando cos la stampa del documento.
Anche questa per non una grande soluzione. La soluzione ideale sarebbe
la seguente:
1.
Raggiungere il sito Web dellospedale
2.
Diventare un utente autorizzato
3.
Accedere alla documentazione medica del paziente attraverso una
interfaccia Web che rappresenti la documentazione con una icona a
cartella
cerca
5.
Fare un drop della cartella nel database
Attualmente questa soluzione non possibile poich ci si scontra con i limiti
dellHTML; le ragioni sono due:
successiva
[Sommario]
Processi distribuiti
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Richiede uno specifico tag set che non pu essere ottenuto con il non
estensibile tag set dellHTML.
Le altre news
Lezione
successiva
cerca
[Sommario]
Viste differenti
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
cerca
successiva
[Sommario]
cerca
Motori di ricerca
XML permette di aggiungere informazioni semantiche al testo:
<Autore>Giancarlo Parma</Autore>
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
successiva
[Sommario]
http://www.html.it/xml/guida/motori.htm12/10/04 16.15.20
cerca
Struttura e sintassi
Una delle caratteristiche principali dellXML la possibilit di fornire una
struttura a un documento. Ogni documento XML comprende sia una struttura
logica che una struttura fisica. La struttura logica simile a un modello che
indica quali elementi includere in un documento e in quale ordine. La struttura
fisica contiene i dati effettivi utilizzati in un documento, quali il testo
memorizzato nella memoria del computer, unimmagine memorizzata nel
WWW e cos via. Per comprendere la struttura di un documento XML,
osserviamo questo modello:
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
Fig 1.5:Un documento XML ha sia una struttura logica che una struttura fisica.
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/struttura.htm12/10/04 16.15.29
XML: Capitolo II: Struttura e Sintassi - Struttura logica del linguaggio XML
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
PROLOGO
Il primo elemento strutturale di un documento XML un prologo opzionale,
costituito da due componenti principali anchessi opzionali: la dichiarazione
XML e la dichiarazione del tipo di documento.
DICHIARAZIONE XML La dichiarazione XML identifica la versione delle
specifiche XML a cui conforme il documento. Sebbene la dichiarazione XML
sia un elemento opzionale, deve sempre essere inserita in documento XML. Il
documento inizia con una dichiarazione XML di base:
<?xml version="1.0"?>
Una dichiarazione XML pu inoltre contenere una dichiarazione di codifica
(encoding) e una dichiarazione di documento autonomo (standalone). La
dichiarazione di codifica identifica lo schema di codifica dei caratteri, ad
esempio UTF-8 o EUC-JP. Schemi di codifica diversi assegnano formati di
caratteri o linguaggi diversi. La dichiarazione di documento autonomo
identifica lesistenza delle dichiarazioni di markup esterne al documento.
Questo tipo di dichiarazione pu assumere valore yes o no.
DICHIARAZIONE DEL TIPO DI DOCUMENTO La dichiarazione del tipo di
documento costituita da codice di markup che indica le regole grammaticali
o la definizione del tipo di documento DTD per una particolare classe di
documenti. Questa dichiarazione pu anche essere diretta a un file esterno
che contiene tutta o parte della DTD e deve essere visualizzata dopo la
dichiarazione XML e prima dellelemento Document. Queste stringhe di codice
aggiungono una dichiarazione del tipo di documento allesempio:
<?xml version="1.0"?>
<!DOCTYPE Wildflowers SYSTEM "Wldflr.dtd">
LELEMENTO DOCUMENT
Lelemento Document contiene tutti i dati di un documento XML inclusi tutti i
sottoelementi nidificati e le entit esterne. Pu essere considerato simile
allunit C: del computer. Tutti i dati del computer sono memorizzati in questa
singola unit in cui le cartelle e le sottocartelle contengono le singole parti di
dati in una struttura logica e di semplice gestione. Queste stringhe di codice
aggiungono un elemento Document, in questo caso lelemento Plant
allesempio:
<?xml version="1.0"?>
<!DOCTYPE Wildflowers SYSTEM "Wldflr.dtd">
<PLANT>
cerca
XML: Capitolo II: Struttura e Sintassi - Struttura logica del linguaggio XML
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
</PLANT>
La nidificazione il processo che consente di incorporare un oggetto o un
costrutto luno allinterno dellaltro. Un documento XML pu ad esempio
contenere elementi nidificati e altri documenti. Ogni elemento secondario, cio
un elemento diverso dallelemento Document risiede interamente allinterno
del relativo elemento principale, cos :
<DOCUMENT>
<PARENT1>
<CHILD1></CHILD1>
<CHILD2></CHILD2>
</PARENT1>
</DOCUMENT>
Lezione
successiva
[Sommario]
XML: Capitolo II: Struttura e Sintassi - Struttura fisica del linguaggio XML
ULTIM'ORA
Le altre news
cerca
XML: Capitolo II: Struttura e Sintassi - Struttura fisica del linguaggio XML
XML: Capitolo II: Struttura e Sintassi - Struttura fisica del linguaggio XML
successiva
[Sommario]
cerca
Sintassi XML
Le regole strutturali del linguaggio XML si riflettono nelle regole linguistiche o
sintassi.
Lezione
successiva
[Sommario]
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
http://www.html.it/xml/guida/sintassi.htm12/10/04 16.16.01
cerca
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
successiva
[Sommario]
http://www.html.it/xml/guida/tag.htm12/10/04 16.16.09
cerca
Attributi
Gli attributi consentono di associare valori a un elemento senza che siano
considerati parte del contenuto dellelemento stesso. Ad esempio osserviamo un
comune elemento HTML e lutilizzo di un attributo:
<A HREF = "http://www.microsoft.com">Microsoft Home Page</A>
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
In questo caso lelemento Anchor indicato dal tag <A> contiene un attributo
denominato HREF. Il valore dellattributo http://www.microsoft.com. Mentre il
valore non viene mai visualizzato dallutente, lattributo contiene importanti
informazioni relative allelemento e fornisce la destinazione dellancoraggio.
Questo formato del nome e del valore mostra il modo in cui sono utilizzati gli
attributi nel linguaggio XML.
<?xml version="1.0"?>
<!DOCTYPE Wildflowers SYSTEM "Wldflr.dtd">
<PLANT ZONE=3>
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
</PLANT>
Lattributo ZONE del tag di apertura <PLANT> segue il formato del nome e del
valore.
Le altre news
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/attributi.htm12/10/04 16.16.18
XML: Capitolo II: Struttura e Sintassi - Documenti XML validi e ben formati
cerca
successiva
[Sommario]
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
http://www.html.it/xml/guida/doc.htm12/10/04 16.16.26
cerca
Documenti validi
La definizione del tipo di documento DTD specificata nel prologo delinea tutte
le regole relative a un documento. Un documento XML valido segue tutte
queste regole rigidamente. Un documento valido conforme anche a tutti i
limiti di validit identificati dalle specifiche relative allXML.
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
Lezione
successiva
[Sommario]
Le altre news
http://www.html.it/xml/guida/validi.htm12/10/04 16.17.18
cerca
Hosting Italiano
ULTIM'ORA
Le altre news
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/formati.htm12/10/04 16.17.27
cerca
DTD<
Un documento XML comprende, come sappiamo, il prologo che contiene la
dichiarazione XML e la dichiarazione del tipo di documento, che identifica il
tipo di documento specifico elaborato e le regole che controllano il documento
completo. Queste regole sono denominate definizione del tipo di documento o
DTD e costituiscono la parte pi complessa della dichiarazione del tipo di
documento.
Hosting Italiano
Lezione
successiva
[Sommario]
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
http://www.html.it/xml/guida/dtd.htm12/10/04 16.17.34
XML: Capitolo III: Definizione del tipo di documento (DTD) - Struttura della DTD
cerca
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
Standard //EN"
Lezione
successiva
[Sommario]
Le altre news
http://www.html.it/xml/guida/strutturad.htm12/10/04 16.17.49
XML: Capitolo III: Definizione del tipo di documento (DTD) - Creazione di una DTD semplice
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
<!DOCTYPE EMAIL [
<!ELEMENT EMAIL (TO, FROM, CC, SUBJECT, BODY)>
<!ELEMENT TO (#PCDATA)>
<!ELEMENT FROM (#PCDATA)>
<!ELEMENT CC (#PCDATA)>
<!ELEMENT SUBJECT (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
]>
<EMAIL>
<TO>Jodie@msn.com</TO>
<FROM>Bill@msn.com</FROM>
<CC>Philip@msn.com</CC>
<SUBJECT>My first DTD</SUBJECT>
<BODY>Hello, World</BODY>
</EMAIL>
Si noti che il codice contiene informazioni aggiuntive nella dichiarazione del tipo
di documento. In questo caso si tratta del sottoinsieme DTD interno e identifica
gli elementi che possono essere presenti nel documento e il tipo di dati che deve
contenere. Se questo documento viene eseguito visualizzando la pagina XML, il
documento avr questo aspetto:
cerca
XML: Capitolo III: Definizione del tipo di documento (DTD) - Creazione di una DTD semplice
Allinterno di questa riga di codice tra le parentesi presente un elenco degli altri
elementi che possono essere contenuti nel documento. Questo elenco viene
definito modello di contenuto e identifica gli elementi secondari che lelemento
Email deve contenere e lordine in cui sono elencati.
Ad esempio rimuoviamo lelemento Subject dal modello di contenuto.
<!DOCTYPE EMAIL [
<!ELEMENT EMAIL (TO, FROM, CC, BODY)>
<!ELEMENT TO (#PCDATA)>
<!ELEMENT FROM (#PCDATA)>
<!ELEMENT CC (#PCDATA)>
<!ELEMENT SUBJECT (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
]>
XML: Capitolo III: Definizione del tipo di documento (DTD) - Creazione di una DTD semplice
<BODY>Hello, World</BODY>
<SIGNATURE>Bill</SIGNATURE>
</EMAIL>
successiva
[Sommario]
XML: Capitolo III: Definizione del tipo di documento (DTD) - Dichiarazioni di elementi
Dichiarazioni di elementi
Ogni dichiarazione di elemento contiene il nome dellelemento e il tipo di dati
definito specifiche di contenuto costituite da uno tra i quattro tipi seguenti:
Hosting Italiano
ULTIM'ORA
Le altre news
cerca
XML: Capitolo III: Definizione del tipo di documento (DTD) - Dichiarazioni di elementi
Lezione
successiva
[Sommario]
XML: Capitolo III: Definizione del tipo di documento (DTD) - Tipi di dati
cerca
Tipi di dati
Allinterno del contenuto dei documenti, il linguaggio XML consente di
utilizzare dati di caratteri analizzabili dichiarati mediante la parola chiave
#PCDATA e i dati di caratteri dichiarati mediante la parola chiave CDATA. I
dati di caratteri analizzabili sono dati di caratteri di markup, contengono quindi
tag di markup. I dati di caratteri sono costituiti da testo ordinario che pu
includere caratteri in genere riservati al markup. In base allimpostazione
predefinita, gli elaboratori di XML presuppongono che il contenuto di un file
XML sia costituito da dati di caratteri.
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
Lezione
successiva
[Sommario]
Le altre news
http://www.html.it/xml/guida/tipi.htm12/10/04 16.18.16
XML: Capitolo III: Definizione del tipo di documento (DTD) - Simboli relativi alla struttura
Hosting Italiano
ULTIM'ORA
Esempio
(content1,
content2)
Lelemento deve
contenere la sequenza
content1 e content2.
Virgola
(content1,
content2,
content3)
Lelemento deve
contenere content1,
content2 e content3
nellordine specificato.
Pipe
(content1|
Lelemento deve
contenere content1,
content2 o content3.
Significato
Scopo
content2|
content3)
Punto di
domanda
Indica che un
elemento deve essere
visualizzato una sola
volta o non apparire
mai
content1?
Lelemento pu
contenere content1. Se
content1 viene
visualizzato, deve
apparire una sola volta.
Asterisco
content1*
Lelemento pu
contenere content1. Se
viene visualizzato, pu
apparire una o pi volte.
Segno
pi
Indica che un
elemento deve essere
visualizzato una o pi
volte
content1+
Lelemento deve
contenere content1 una
volta, ma pu essere
visualizzato anche pi
di una volta.
Nessun
simbolo
content1
Lelemento deve
contenere content1.
Le altre news
Lezione
successiva
[Sommario]
cerca
XML: Capitolo III: Definizione del tipo di documento (DTD) - Simboli relativi alla struttura
Attributi
Oltre alla definizione della struttura di un elemento e al tipo di contenuto,
possibile associare attributi a un elemento. Gli attributi forniscono informazioni
aggiuntive relative allelemento o al contenuto dellelemento.
DICHIARAZIONI DI ATTRIBUTO
Hosting Italiano
Nel linguaggio XML gli attributi vengono dichiarati nella DTD utilizzando la
sintassi seguente:
<!ATTLIST ElementName AttributeName Type
Default>
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Utilizzo
CDATA
ENTITY
Le altre news
ENTITIES
ID
IDREF
IDREFS
NMTOKEN
cerca
NMTOKENS
NOTATION
Enumerated
Utilizzo
#REQUIRED
#IMPLIED
#FIXED fixedvalue
Default
]>
In questo esempio sono stati aggiunti attributi allelemento Email e al nuovo
elemento Bcc. Il primo attributo aggiunto allelemento Email LANGUAGE.
Questo attributo pu contenere una tra le numerose opzioni. Lattributo conterr il
valore predefinito Western se non verr specificato un altro valore. Lattributo
successivo dellelemento Email ENCRYPTED. Questo elemento deve
contenere i dati di carattere e poich limpostazione predefinita #IMPLIED,
lelaboratore ignorer questo attributo se non verr specificato alcun valore.
Lultimo attributo dellelemento Email PRIORITY. Questo attributo pu
assumere uno dei tre valori NORMAL, LOW e HIGH. Il valore predefinito
NORMAL.
Lattributo HIDDEN stato incluso nellelemento Bcc. Questo attributo di tipo
CDATA e il valore predefinito di #FIXED viene specificato dopo la parola chiave
#FIXED. Questo attributo deve sempre specificare il valore nella DTD, in questo
caso TRUE.
Lezione
successiva
[Sommario]
cerca
Entit
Oltre allentit generale viste nel capitolo precedente esiste un altro tipo di entit definita
entit di parametro.
La maggior parte delle entit deve essere dichiarata nella DTD. Alcune entit predefinite
sono incorporate nel codice XML e sono utilizzate per visualizzare i caratteri generalmente
impiegati per il markup. Le dichiarazioni di entit seguono la stessa sintassi di base utilizzata
dalle altre dichiarazioni:
Hosting Italiano
ULTIM'ORA
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Dirac, la BBC presenta il
codec video open source
Le altre news
successiva
[Sommario]
XML: Capitolo III: Definizione del tipo di documento (DTD) - Le parole chiave Ignore e Include
cerca
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
allinterno di una
DTD deve includere una
di dichiarazioni,
esempio dellutilizzo
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/ignore.htm12/10/04 16.23.08
XML: Capitolo III: Definizione del tipo di documento (DTD) - Istruzioni di elaborazione
cerca
Istruzioni di elaborazione
Le istruzioni di elaborazione (PI, Processing Instructions) forniscono
indicazioni allapplicazione che elabora il documento. Queste istruzioni
vengono in genere visualizzate nel prologo, ma possono essere posizionate in
un punto qualsiasi del documento XML. Listruzione di elaborazione pi
comune la dichiarazione XML inclusa nella parte superiore del documento di
esempio:
<?xml version=1.0"?>
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/pi.htm12/10/04 16.23.17
cerca
Commenti
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/commenti.htm12/10/04 16.23.28
XML: Capitolo III: Definizione del tipo di documento (DTD) - DTD esterne
cerca
DTD esterne
E possibile separare documenti e DTD per semplificarne lutilizzo. Dopo aver
creato una DTD separata, possibile farvi riferimento allinterno di qualsiasi
documento.
Per separare una parte della DTD nel documento XML basta tagliare
semplicemente la porzione di DTD e incollarla nel nuovo file di testo. Il nuovo
nome di file dovrebbe avere estensione .dtd.
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/dtdest.htm12/10/04 16.23.36
cerca
Vocabolari
Un vocabolario XML un insieme di elementi e della struttura di un tipo di
documento specifico. I vocabolari sono definiti in una DTD che rappresenta il
regolamento per quel vocabolario. I vocabolari sono utilizzati correntemente su
Internet e in alcune organizzazioni e aziende. Uno dei vocabolari principali e
maggiormente noti il Channel Definition Format (CDF) impiegato per definire
le pagine Web progettate per essere inviate automaticamente agli utenti client.
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
successiva
[Sommario]
http://www.html.it/xml/guida/vocabo.htm12/10/04 16.23.45
XML: Capitolo III: Definizione del tipo di documento (DTD) - Spazio dei nomi XML (XML Namespace)
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
successiva
[Sommario]
cerca
XML: Capitolo III: Definizione del tipo di documento (DTD) - Spazio dei nomi XML (XML Namespace)
XML: Capitolo III: Definizione del tipo di documento (DTD) - Creazione di nomi univoci tramite gli spazi dei nomi XML
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
NOMI QUALIFICATI
NellXML un nome qualificato si compone in due parti: il nome dello spazio dei
nomi e la parte locale. Il nome dello spazio dei nomi, ovvero un URI, definisce lo
spazio dei nomi, mentre la parte locale corrisponde al nome dellelemento o
dellattributo del documento locale. Poich lURI sempre univoco, il nome dello
spazio dei nomi crea insieme alla parte locale un nome di elemento
universalmente univoco. Per poter utilizzare uno spazio dei nomi in documento
XML, necessario includere una dichiarazione dello spazio dei nomi nel prologo
del documento. E inoltre possibile includere nella dichiarazione un prefisso dello
spazio dei nomi. Utilizzando i due punti (:), il prefisso pu essere aggiunto alla
parte locale in modo da associarla al nome dello spazio dei nomi. Nel documento
riportato nellesempio che segue, i due spazi dei nomi vengono dichiarati con
prefissi, quindi utilizzati nel documento.
<?xml version="1.0"?>
<?xml:namespace ns=http://inventory/schema/ns prefix="inv"?>
<?xml:namespace ns=http://wildflowers/schema/ns prefix="wf"?>
<PRODUCT>
<PNAME>Test1</PNAME>
<inv:quantity>1</inv:quantity>
<wf:price>323</wf:price>
<DATE>6/1</DATE>
</PRODUCT>
In questo esempio di codice, i prefissi vengono utilizzati per identificare elementi
appartenenti allo spazio dei nomi selezionato. Si otterranno in questo modo nomi
univoci, ma anche la conservazione del valore semantico dei nomi. Gli elementi
inv:quantity e wf:price contengono nomi completamente qualificati che
risulteranno univoci indipendemente dalla posizione in cui sono stati utilizzati. Il
prefisso parte del nome dellelemento e deve essere sempre incluso in modo
tale da indicare che lelemento appartiene allo spazio dei nomi.
NOMI NON QUALIFICATI
Un nome non qualificato non dispone di nome associato al nome dello spazio dei
nomi. I nomi di elementi XML tipici non sono qualificati poich non specificano
uno spazio dei nomi.
AREA DI VALIDITA DELLO SPAZIO DEI NOMI
Il prologo non lunica opzione disponibile per la posizione della dichiarazione
dello spazio dei nomi. E infatti possibile includere tale dichiarazione direttamente
cerca
XML: Capitolo III: Definizione del tipo di documento (DTD) - Creazione di nomi univoci tramite gli spazi dei nomi XML
</INDEX>
<PRODUCT xmlns:wf="urn:shemas-wildflowers-com>
<NAME>Bloodroot</NAME>
<QUANTITY>10</QUNTITY>
<PRICE>$2.44</PRICE>
</PRODUCT>
</CATALOG>
Lelemento Product contiene la dichiarazione di uno spazio dei nomi senza
prefisso associato. In quanto tale, lo spazio dei nomi viene utilizzato per
lelemento Product e tutti i relativi elementi secondari, ma per nessun altro
elemento oltre Product.
DICHIARAZIONE DELLO SPAZIO DEI NOMI COME URL O URN
In quanto univoci, gli URL possono essere utilizzati per rendere univoci i nomi
degli spazi dei nomi. Se uno spazio dei nomi mappato a un URL, tale spazio dei
nomi risulter univoco nellintero contesto in cui viene utilizzato.
Unaltra situazione tipica rappresentata dallesistenza di uno schema dello
spazio dei nomi che identifica tutti i nomi contenuti nello spazio dei nomi e il modo
in cui sono strutturati. Il nome dello spazio dei nomi XML non fornisce alcun
meccanismo per il recupero di tale schema, meccanismo che tuttavia pu essere
reso disponibile utilizzzando gli URN (Uniform Resource Names).
Un URN consente di individuare e recuperare un file di schema che definisce un
determinato spazio dei nomi. Sebbene funzionalit simili possano essere fornite
da un comune URL, a questo scopo lURN pi efficiente e facile da gestire
poich pu essere riferito a pi URL.
Il codice seguente mostra lutilizzo di un URN nel contesto di uno spazio dei nomi
XML:
XML: Capitolo III: Definizione del tipo di documento (DTD) - Creazione di nomi univoci tramite gli spazi dei nomi XML
<CATALOG>
<INDEX>
<ITEM>Trees</ITEM>
<ITEM>Wildflowers</ITEM>
</INDEX>
<wf:product xmlns:wf="urn:shemas-wildflowers-com>
<wf:name>Bloodroot>/wf:name>
<QUANTITY>10</QUNTITY>
<PRICE>$2.44</PRICE>
</wf:product>
</CATALOG>
Lo schema relativo allo spazio dei nomi disponibile nella posizione identificata
dallURN e lapplicazione di elaborazione in grado di recuperare tale schema.
Lo schema contiene informazioni dettagliate relative agli elementi dello spazio dei
nomi utilizzabili nel documento.
SPAZIO DEI NOMI DEGLI ATTRIBUTI
Gli spazi dei nomi sono applicabili cos come agli elementi, anche agli attributi. Ad
esempio:
<wf:product TYPE="plant" class:kingdom="plantae"
xmlns:wf="urn:wildflowers:schemas:product"
xmlns:class="urn:bio:botany:classification">
<PNAME>Test1</PNAME>
<QUANTITY>1</QUNTITY>
<PRICE>323</PRICE>
<DATE>6/1</DATE>
</wf:product>
In questo esempio sia allelemento wf:product che allattributo class:kingdom sono
associate dichiarazioni degli spazi dei nomi. Lo spazio dei nomi degli attributi
viene utilizzato in modo simile allo spazio dei nomi degli elementi.
Limportanza degli spazi dei nomi aumenta parallelemente allo sviluppo di nuovi
vocabolari e di nuove tecnologie basate sul linguaggio XML. Sono comunque gi
tecnologie che utilizzano gli spazi dei nomi, tra cui XML-Data, i tipi di dati XML e il
linguaggio SMIL (Syncronized Multimedia Integration Language).
Lezione
successiva
[Sommario]
cerca
Hosting Italiano
ULTIM'ORA
Abbiamo visto come, seguendo la specifica del linguaggio XML, sia possibile
creare dei DTD personali e dei documenti XML. Il fatto che sia possibile creare
dei DTD personali, rende lXML un metalinguaggio, cio un linguaggio di livello
superiore con cui possibile creare altri linguaggi. Il gruppo di lavoro del W3C,
fornita la prima versione stabile della specifica XML, ha orientato gran parte
dei suoi sforzi proprio nello sviluppo di linguaggi di markup basati sullXML,
orientati ad argomenti che fanno contorno allambiente in cui lXML si trova ad
operare. Anche in questo caso lo scopo del gruppo di lavoro quello di creare
degli standard per argomenti fondamentali quali i collegamenti ipertestuali, la
rappresentazione di strutture dati relazionali o ad oggetti e i fogli di stile.
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/amplia.htm12/10/04 16.24.15
XML: Capitolo IV: Ampliare i documenti XML - XSL: l'XML con i fogli di stile
cerca
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/xsl.htm12/10/04 16.24.22
XML: Capitolo IV: Ampliare i documenti XML - Nozioni fondamentali sul linguaggio XSL
cerca
Hosting Italiano
ULTIM'ORA
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/nozioni.htm12/10/04 16.24.29
XML: Capitolo IV: Ampliare i documenti XML - Componenti del linguaggio XSL
cerca
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
successiva
[Sommario]
http://www.html.it/xml/guida/compone.htm12/10/04 16.24.35
cerca
successiva
[Sommario]
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
http://www.html.it/xml/guida/fogli.htm12/10/04 16.24.42
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
PATTERN
Il linguaggio XSL utilizza i pattern per specificare gli elementi XML a cui viene
applicato il modello XSL. Questo metodo di corrispondenza dei pattern rende
XSL un linguaggio di dichiarazioni in contrapposizione con i linguaggi basati
sulle procedure. Questo significa che i pattern definiscono il "livello" specifico
della struttura del documento da far corrispondere identificandone la gerarchia
della struttura. Per avere unidea della struttura di un modello, sar sufficiente
prendere in esame un semplice foglio di stile. Sar quindi necessario creare
un documento XML a cui applicare il foglio di stile:
<CATALOG>
<PLANT>
<COMMON>Bloodroot</COMMON>
<BOTANICAL>Sanguinaria canadensis</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$7.05</PRICE>
<AVAILABILITY USONLY="true">02/01/99</AVAILABILITY>
</PLANT>
</CATALOG>
Quindi procedere con la creazione di un foglio di stile XSL per un unico
modello dellelemento Common:
<?xml version="1.0"?>
<xsl:template xmlns:xsl="uri:xsl">
<HTML>
<BODY>
<xsl:repeat for="CATALOG/PLANT">
<DIV>
<SPAN STYLE="font-weight:bold; font-size:20">
<xsl:get-value for="COMMON"/>
</SPAN>
</DIV>
</xsl:repeat>
</BODY>
</HTML>
</xsl:template>
Quando il documento XML viene elaborato con il foglio di stile XSL,
lelaboratore genera il seguente codice HTML:
<HTML>
cerca
<BODY>
<DIV>
<SPAN STYLE="font-weight:bold; font-size:20">
Bloodroot
</SPAN>
</DIV>
</BODY>
</HTML>
ANALISI DEL MODELLO
Ogni modello comprende uno o pi pattern. Lesempio che segue riporta la
sezione che contiene due pattern:
<xsl:repeat for="CATALOG/PLANT">
<DIV>
<SPAN STYLE="font-weight:bold; font-size:20">
<xsl:get-value for="COMMON"/>
</SPAN>
</DIV>
</xsl:repeat>
Il primo pattern specifica qualsiasi elemento Plant secondario allelemento
Catalog. Il secondo pattern per questa regola specifica lelemento Common. In
base alla regola, qualsiasi dato trovato nellelemento del pattern verr inserito
nellelemento Span a cui viene quindi applicato lo stile "font-weight:bold; fontsize:20". Questo modello espresso in modo discorsivo, sarebbe formulato nel
seguente modo: "Ripetere quanto segue per ogni elemento Plant secondario
dellelemento Catalog: prendere il valore dellelemento Common e inserirlo
nellelemento Span applicando il grassetto e una dimensione di carattere pari
a 20".
Il modello viene applicato a ogni elemento che risponda al pattern o ai criteri
definiti in esso.
Questa una delle potenzialit del linguaggio XSL. Utilizzando le funzionalit
di pattern matching, o corrispondenza dei pattern, del linguaggio XSL,
possibile riorganizzare in modo efficiente i dati XML, per soddisfare esigenze
precise. Se non si desidera includere uno o pi elementi nel risultato finale,
sar sufficiente escludere il pattern relativo a tali elementi. Se invece si
desidera includere un unico elemento in una sezione specifica del documento,
possibile creare un pattern dettagliato per convertirlo per la visualizzazione.
STRUTTURA A MODELLO SINGOLO
Il modello inizia con il tag <xsl:template xmlns:xsl="uri:xsl"> e termina con il
tag </xsl:template>. Questi due tag, o contenitori, facilitano lapplicazione di
diverse sezioni del foglio di stile quando vengono utilizzati pi modelli. Dal
momento che questo foglio di stile contiene un solo modello, possibile
utilizzare anche il contenitore <xsl:document> </xsl:document>. Ad esempio il
foglio di stile seguente equivale a quello precedente:
<?xml version="1.0"?>
<xsl:document xmlns:xsl="uri:xsl">
<HTML>
<BODY>
<xsl:repeat for="CATALOG/PLANT">
<DIV>
<SPAN STYLE="font-weight:bold; font-size:20">
<xsl:get-value for="COMMON"/>
</SPAN>
</DIV>
</xsl:repeat>
</BODY>
</HTML>
http://www.html.it/xml/guida/modelli.htm (2 di 5)12/10/04 16.24.49
</xsl:document>
Ambedue i fogli di stile sono esempi di una struttura a modello singolo, ossia
ciascuno dei due fogli di stile costituito da un unico modello. Ma un foglio di
stile pu avere anche una struttura a pi modelli, nella quale il foglio di stile
contiene pi modelli che possono essere applicati indipendentemente dagli
altri.
STRUTTURA A PIU MODELLI
Un foglio di stile a pi modelli utilizza i tag <xsl:stylesheet> </xsl:stylesheet>,
che a loro volta possono contenere diverse coppie di tag <xsl:template> </xsl:
template>. Ciascuna di queste coppie pu essere applicata
indipendentemente dalle altre. Nellesempio che segue possibile esaminare
in modo pi approfondito questa struttura:
<CATALOG>
<PLANT BESTSELLER="no">
<NAME>
<COMMON>Bloodroot</COMMON>
<BOTAN>Sanguinaria canadensis</BOTAN>
</NAME>
<GROWTH>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
</GROWTH>
<SALESINFO>
<PRICE>$3.00</PRICE>
<AVAILABILITY>4/21/99</AVAILABILITY>
</SALESINFO>
</PLANT>
<PLANT BESTSELLER="yes">
<NAME>
<COMMON>Columbine</COMMON>
<BOTAN>Aquilegia canadensis</BOTAN>
</NAME>
<GROWTH>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
</GROWTH>
<SALESINFO>
<PRICE>$9.00</PRICE>
<AVAILABILITY>4/10/99</AVAILABILITY>
</SALESINFO>
</PLANT>
<PLANT BESTSELLER="no">
<NAME>
<COMMON>Marsh Marigold</COMMON>
<BOTAN>Caltha palustris</BOTAN>
</NAME>
<GROWTH>
<ZONE>4</ZONE>
<LIGHT>Mostly Sunny</LIGHT>
</GROWTH>
<SALESINFO>
<PRICE>$9.00</PRICE>
<AVAILABILITY>4/19/99</AVAILABILITY>
</SALESINFO>
</PLANT>
</CATALOG>
Nel listato seguente riportato il foglio di stile dellesempio precedente, il
quale contiene diversi modelli che vengono applicati in modo indipendente alle
diverse sezioni del documento XML:
http://www.html.it/xml/guida/modelli.htm (3 di 5)12/10/04 16.24.49
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="uri:xsl">
<xsl:template match="/">
<HTML>
<BODY>
<TABLE BORDER="1">
<TR STYLE="font-weight:bold">
<TD>Common Name</TD>
<TD>Botanical Name</TD>
<TD>Zone</TD>
<TD>Light</TD>
<TD>Price</TD>
<TD>Availability</TD>
</TR>
<xsl:for-each select="CATALOG/PLANT">
<TR>
<xsl:apply-templates/>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="NAME">
<TD><xsl:value-of select="COMMON"/></TD>
<TD><xsl:value-of select="BOTAN"/></TD>
</xsl:template>
<xsl:template match="GROWTH">
<TD><xsl:value-of select="ZONE"/></TD>
<TD><xsl:value-of select="LIGHT"/></TD>
</xsl:template>
<xsl:template match="SALESINFO">
<TD><xsl:value-of select="PRICE"/></TD>
<TD><xsl:value-of select="AVAILABILITY"/></TD>
</xsl:template>
</xsl:stylesheet>
Il foglio di stile inizia con il tag <xsl:stylesheet> e termina con il tag </xsl:
stylesheet>.
La sigla xmlns una parola riservata e serve per identificare un particolare
namespace; ad esempio in questo caso tutte le parole riservate che iniziano
con xsl: fanno parte del vocabolario individuato dallURL htttp://www.w3.org/
TR/WD-xsl.
Dal momento che il documento XML pu avere un solo elemento principale e
che lXSL un profilo di XML, il solo elemento xsl:stylesheet consente di
includere pi elementi xsl:template nel foglio di stile.
Il pattern di questo modello semplicemente "/" e definisce lelemento
principale del documento XML. E presente anche lelemento xsl:for-each
allinterno del modello, che definisce un altro pattern, CATALOG/PLANT, e
stabilisce che la struttura generata che segue deve essere applicata a ogni
sezione corrispondente al pattern. Allinterno di tale struttura contenuto
lelemento xsl:apply-templates che avvia la ricerca da parte dellelaboratore di
altri modelli nel foglio di stile, ciascuno con il suo pattern. Poich lelemento xsl:
apply-templates si trova allinterno del pattern CATALOG/PLANT, gli altri
modelli verranno applicati solo quando verr trovata una corrispondenza
allinterno dellelemento. Ad esempio, il modello NAME verr applicato solo
agli elementi nella gerarchia CATALOG/PLANT/NAME.
1.
Un foglio di stile specifica pattern che corrispondono ai dati rilevati nel
documento XML. Questi pattern fanno parte di singoli modelli che
contengono strutture di output.
2.
Lelaboratore rileva i dati che corrispondono ai pattern e li converte
nella struttura di output.
3.
Una volta elaborato lintero foglio di stile, nella memoria del computer
esiste una nuova struttura di dati basata sulloutput del foglio di stile.
Lezione
successiva
[Sommario]
XML: Capitolo IV: Ampliare i documenti XML - Visualizzazione degli elementi di output
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Fino a poco tempo non esistevano software XML che erano in grado di visualizzare
un file XML secondo quanto espresso nei principi base del progetto del consorzio
W3. La situazione era quindi tale che in attesa di un processore o di un browser che
supportasse completamente XML si potevano seguire diverse strade, ad esempio
visualizzare i file XML con viewer SGML, utilizzare lActive X Msxml, generare offline dei file HTML da sorgenti XML e XSL utilizzando script .
Questa ultima modalit consentiva di elaborare e visualizzare
contemporaneamente il documento, in modo che lutente non doveva far altro che
controllarne il risultato. Pur essendo una modalit ottima per una fase di passaggio
pur sempre lontana dalla filosofia di partenza del progetto XML, che prevede
lutilizzo diretto di XML sul Web, perch comunque deve sempre tener conto dei
limiti di HTML.
La Microsoft quella che per prima ha gi sviluppato due parser XML che si
integrano con il suo ultimo browser.
Infatti con lavvento di Microsoft Internet Explorer 5 possibile adesso visualizzare i
dati XML utilizzando i fogli di stile XSL come dei file HTML e indipendentemente da
questi.
Per visualizzare un file XML utilizzando XSL bisogna indicare il tipo e la locazione
del foglio di stile XSL con le istruzioni di elaborazione (PI). La forma base per
queste istruzioni di elaborazione sono del tipo
<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>
Quando Internet Explorer 5 sfoglia il documento XML, elabora listruzione di
elaborazione, scarica il foglio di stile e lo utilizza per visualizzare il documento XML.
Il valore dellattributo type descrive il tipo del foglio di stile da attuare, se XSL "text/
xsl" se CSS "text/css". Lattributo href un collegamento URL relativo al foglio di
stile. Se il documento XML non contiene queste istruzioni di elaborazione, Internet
Explorer 5 visualizzer il documento XML come un albero gerarchico con il codice
di vario colore.
Ecco come verr visualizzato lesempio utilizzato in questo capitolo usando
Microsoft Explorer 5:
cerca
XML: Capitolo IV: Ampliare i documenti XML - Visualizzazione degli elementi di output
Per quanto riguarda Netscape, che inizialmente non aveva dimostrato molto
interesse verso XML, sembra essere ritornata sui suoi passi. La versione 5 del
browser Navigator dovrebbe contenere un processore in grado di leggere e
formattare i file XML.
Lezione
successiva
[Sommario]
XML: Capitolo IV: Ampliare i documenti XML - Estrazione dei dati dall'XML
Hosting Italiano
ULTIM'ORA
Descrizione
xsl:apply-templates
xsl:attribute
xsl:cdata
xsl:choose
xsl:comment
xsl:copy
xsl:define-template-set
xsl:element
xsl:entity-ref
xsl:eval
xsl:for-each
xsl:if
cerca
XML: Capitolo IV: Ampliare i documenti XML - Estrazione dei dati dall'XML
xsl:node-name
xsl:otherwise
xsl:pi
xsl:script
xsl:stylesheet
xsl:template
xsl:value-of
xsl:when
METODI XSL
Oltre agli elementi, nellXSL sono inclusi anche metodi. Questi metodi possono
essere chiamati dallelemento xsl:eval o da un normale codice script. Ad
esempio, il metodo formatIndex potrebbe essere utilizzato come di seguito:
<xsl:template match="NAME">
<TD STYLE="font-style:italic; font-size:20">
<xsl:value-of select="COMMON"/>
item number:
<xsl:eval>
formatIndex(childNumber(this),"1")
</xsl:eval>
</TD>
</xsl:template>
Ecco un elenco dei metodi supportati:
Metodo XSL
Descrizione
AbsoluteChildNumber
AncestorChildNumber
ChildNumber
XML: Capitolo IV: Ampliare i documenti XML - Estrazione dei dati dall'XML
Depth
ElementIndexList
FormatDate
FormatIndex
FormatNumber
FormatTime
UniqueID
Lezione
successiva
[Sommario]
XML: Capitolo IV: Ampliare i documenti XML - XLL: collegamenti con il linguaggio XML
cerca
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
successiva
[Sommario]
http://www.html.it/xml/guida/xll.htm12/10/04 16.25.31
XML: Capitolo IV: Ampliare i documenti XML - XLink: il sistema per i collegamenti XML
cerca
successiva
[Sommario]
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
http://www.html.it/xml/guida/xlink.htm12/10/04 16.25.44
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
XML:LINK
Gli sviluppatori dellXLink avrebbero potuto riservare un nome di tag (ad
esempio <A> nellHTML), riservare un nome di attributo o lasciare la scelta al
software dellapplicazione per riconoscere un elemento come elemento di
collegamento. Decisero di adottare un nome di attributo, ritenendo che questo
avrebbe consentito agli autori di definire elementi personalizzati e
contemporaneamente mantenere lelemento di collegamento come parte del
collegamento della struttura dellelemento. Il risultato lattributo XML:LINK,
http://www.html.it/xml/guida/semplici.htm (1 di 4)12/10/04 16.25.52
cerca
HREF="http://www.miosito.com">
successiva
[Sommario]
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
cerca
</MYELINK>
<REVIEW ID="Chrysler">
<TITLE="Chrysler Town and Country"</TITLE>
<!--Questa la sezione della Chrysler-- >
</REVIEW>
<REVIEW ID="Ford">
<TITLE ="Ford Windstar"</TITLE>
<!--Questa la sezione della Ford-- >
</REVIEW>
<REVIEW ID="Chevy">
<TITLE ="Chevrolet Venture"</TITLE>
<!--Questa la sezione della Chevrolet -- >
</REVIEW>
<REVIEW ID="Honda">
<TITLE ="Honda Odyssey"</TITLE>
<!--Questa la sezione della Honda-- >
</REVIEW>
REVIEW ID="Nissan">
<TITLE ="Nissan Quest"</TITLE>
<!--Questa la sezione della Nissan-- >
</REVIEW>
REVIEW ID="Toyota">
<TITLE ="Toyota Sienna"</TITLE>
<!--Questa la sezione della Toyota-- >
</REVIEW>
In questo esempio i localizzatori sono mantenuti nella relativa sezione e non sono
vincolati ad alcuna risorsa di collegamento locale. I localizzatori contengono tutte le
informazioni necessarie per fornire le connessioni alle sezioni appropriate nel
documento, ma compito dellapplicazione visualizzare i collegamenti per lutente.
Lapplicazione potrebbe ad esempio fornire un elenco separato dal contenuto che
consenta allutente di connettersi allelemento desiderato in qualunque momento. In
</MYELINK>
Poich i localizzatori sono contenuti in documento distinto, qualsiasi applicazione che
utilizzi questo documento sar in grado di rendere disponibili tali collegamenti. Anche in
questo caso, la struttura creata per i collegamenti multidirezionale in quanto da
qualunque documento sar possibile accedere a un collegamento a qualsiasi altro
documento. Un ulteriore vantaggio deriva dalla possibilit di gestire lelenco dei
collegamenti in maniera separata dai documenti nei quali vengono utilizzati, grazie al
fatto che lelenco dei localizzatori risiede in un documento specifico. Questo tipo di
struttura consente inoltre di aggiungere collegamenti a documenti che normalmente non
possono essere modificati in modo tale da contenere collegamenti in linea propri.
Lapplicazione pu infine verificare che i documenti identificati nei localizzatori siano
disponibili anche prima che i collegamenti vengano visualizzati, evitando in tal modo
linterruzione dei collegamenti.
La configurazione di destinazioni multiple per i collegamenti, i collegamenti non in linea
estesi e i collegamenti multidirezionali sono gestiti da un numero esorbitante di
collegamenti. LXLink fornisce un metodo in grado di risolvere alcuni di questi aspetti: i
gruppi di collegamenti estesi.
GRUPPI DI COLLEGAMENTI ESTESI
I gruppi di collegamenti estesi semplificano la gestione delle informazioni sui
collegamenti correlati impostando elementi contenenti elenchi di documenti correlati.
Supponiamo di pubblicare mensilmente per una rivista di consumo un servizio sulle
novit automobilistiche. Anzich creare un singolo documento contenente elenchi di
tutte le automobili delle varie categorie per ogni mese, possibile raggruppare gli
elenchi in modo da renderli pi facilmente gestibili. Per utilizzare i gruppi di collegamento
estesi, sono necessari due elementi, uno per definire il gruppo (GROUP) e laltro per
specificare i documenti appartenenti al gruppo (DOCUMENT). Ecco un esempio di
dichiarazioni:
<!ELEMENT GROUP (DOCUMENT*)>
<!ATTLIST GROUP
XML:LINK CDATA #FIXED "group"
STEPS CDATA #IMPLIED
>
<!ELEMENT DOCUMENT EMPTY>
<!ATTLIST DOCUMENT
XML:LINK CDATA #FIXED "document"
HREF CDATA #REQUIRED
>
STEPS consiste nellindicare allapplicazione il numero di livelli dei documenti in cui
eseguire la ricerca prima di terminarla. Questo attributo risulta particolarmente utile
quando il gruppo contiene documenti nel quale sono inclusi altri gruppi, a loro volta
contenenti nuovi documenti che contengono ulteriori gruppi e cos via. Dopo aver
Lezione
successiva
[Sommario]
cerca
XPointer
Un altro linguaggio basato sullXML lXPointer che consente di ottenere
collegamenti ancora pi precisi allinterno di documenti XML.
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/xpointer.htm12/10/04 16.26.18
XML: Capitolo IV: Ampliare i documenti XML - Concetti fondamentali relativi al linguaggio XPointer
HREF="uri#Xpointer"
HREF="uri|Xpointer"
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
cerca
XML: Capitolo IV: Ampliare i documenti XML - Concetti fondamentali relativi al linguaggio XPointer
XML: Capitolo IV: Ampliare i documenti XML - Concetti fondamentali relativi al linguaggio XPointer
XML: Capitolo IV: Ampliare i documenti XML - Concetti fondamentali relativi al linguaggio XPointer
successiva
[Sommario]
cerca
XML-Data
LXML un linguaggio orientato agli oggetti e, come altri linguaggi di questo
tipo, permette di creare oggetti e di specificare i loro attributi. In generale si fa
riferimento ad un oggetto XML come ad un elemento XML. LXML Data un
DTD costruito secondo le specifiche XML, che pu essere utilizzato per
rappresentare strutture dati comunque complesse attraverso uno schema.
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/xmldata.htm12/10/04 16.26.37
1.
Gestione dei documenti dello schema senza necessit di utilizzo
di strumenti speciali. Le DTD vengono scritte utilizzando una sintassi
particolare specifica. Per questo motivo, la funzionalit dellXML per
lutilizzo delle DTD richiede non solo autori esperti del linguaggio DTD,
ma anche strumenti speciali in grado di leggere e scrivere nelle DTD,
per ogni strumento XML sviluppato. Il primo obiettivo di XML-Data
quindi leliminazione dellutilizzo di strumenti speciali ed raggiunto
mediante il semplice utilizzo della sintassi XML per il linguaggio.
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
2.
Flessibilit degli schemi. Gli schemi devono essere sufficientemente
flessibili per consentirne ladattamento a unapplicazione specifica,
eliminando i relativi vincoli. In altre parole, non necessaria la
flessibilit dellapplicazione per lo schema. Questa flessibilit ottenuta
mediante una sintassi di definizione aperta dello schema, con la quale
uno schema pu essere reso specifico aggiungendo elementi o attributi.
3.
Semplicit del linguaggio al fine di consentirne limplementazione
in tutti gli elaboratori XML. Questo obiettivo garantisce che il
linguaggio XML-Data non sia complesso e possa quindi essere
implementato da tutti gli sviluppatori di elaboratori XML. Questo
obiettivo pu essere raggiunto utilizzando la sintassi XML per definire il
linguaggio dello schema. In questo modo, limplementazione viene
semplificata e non pi necessario disporre di un particolare
elaboratore per analizzare lo schema.
4.
XML-Data deve soddisfare i requisiti delle applicazioni Web (ad
esempio le applicazioni per scambi commerciali) che riguardano
la convalida dei dati aggiuntivi e di quelli espressi dalla DTD
corrente. La DTD definisce la struttura e le regole del documento, ma
presenta dei limiti nella definizione dei tipi di dati e nella convalida dei
dati. Il linguaggio XML-Data definisce i tipi di dati primitivi e permette di
determinare intervalli di valori di dati, ad esempio, consentendo
allautore di determinare i valori massimi e minimi. Questo tipo di
caratteristiche sono tipiche dei linguaggi di database relazionali, come
SQL (Structured Query Language), e dei linguaggi di programmazione
pi recenti.
5.
Il linguaggio dello schema deve supportare la funzionalit che
consente ai singoli documenti di comprendere parti definite in
fonti di dati diverse. I documenti XML, come sappiamo, possono
comprendere altri documenti o parti di altri documenti mediante
linserimento di puntatori allinterno della DTD. Questo obiettivo
stabilisce che XML-Data, fornir una funzionalit simile, ottenuta
mediante lutilizzo dello spazio dei nomi negli schemi XML-Data.
cerca
Lezione
successiva
[Sommario]
cerca
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/schema.htm12/10/04 16.27.58
XML: Capitolo IV: Ampliare i documenti XML - Struttura del documento dello schema
cerca
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
<?xml version="1.0"?>
<Schema name="nomeschema" xmlns="urn:schemas-microsoft-com:xml-data">
<!-- Qui vi sono le dichiarazioni -->
<ElementType name="nomeelemento" content="tipocontent"/>
</Schema>
Lelemento Schema deve essere derivato dallo spazio del nome xml-data urn:schemasmicrosoft-com:xml-data. Non necessario dichiarare lo spazio del nome nel prologo dello
schema.
Le dichiarazioni dello schema possono avere aree di validit diverse. Questo significa che
possono essere sia dichiarazioni di primo livello sia dichiarazioni di livello locale. Larea di
validit di una dichiarazione identifica dove e come viene utilizzato un elemento dichiarato
allinterno di un documento dello schema.
DICHIARAZIONI DI PRIMO LIVELLO
Le dichiarazioni di primo livello includono qualsiasi tipo di elemento o di attributo dichiarato
allinterno dellelemento Schema. I tipi di elemento o attributo dichiarati nellarea di validit di
primo livello possono essere indicati nella dichiarazione del contenuto di altri tipi di elemento
presenti nello stesso schema. Ad esempio, nello schema che segue, il nome del tipo di
elemento dichiarato al primo livello e ne facciamo riferimento anche nella dichiarazione del
tipo di elemento Plant:
<Schema name="wildflowers" xmlns="urn:schemas-microsoft-com:xml-data">
<ElementType name="name" content="textOnly"/>
<ElementType name="plant">
<element type="name"/>
</ElementType>
</Schema>
DICHIARAZIONI DI LIVELLO LOCALE
Una dichiarazione che appare allinterno di unaltra dichiarazione, che non di primo livello,
considerata di area di validit di livello locale. E possibile fare riferimento alla dichiarazione di
livello locale solo allinterno della dichiarazione in cui contenuta. Ad esempio, se
aggiungiamo una dichiarazione dellattributo di livello locale alla dichiarazione del tipo di
elemento Plant otteniamo quanto segue:
<Schema name="wildflowers" xmlns="urn:schemas-microsoft-com:xml-data">
<ElementType name="name" content="textOnly"/>
<ElementType name="plant">
<element type="name"/>
<attribute name="bestseller" values="yes no"/>
</ElementType>
</Schema>
XML: Capitolo IV: Ampliare i documenti XML - Struttura del documento dello schema
Lattributo bestseller pu essere utilizzato solo nella dichiarazione del tipo di elemento Plant.
Lezione
successiva
[Sommario]
XML: Capitolo IV: Ampliare i documenti XML - Dichiarazioni del tipo di elemento
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
seq - Gli elementi devono apparire nella stessa sequenza degli elementi a
cui si fa riferimento nella dichiarazione del tipo di elemento. Questo il
pattern predefinito per il contenuto eltOnly.
cerca
XML: Capitolo IV: Ampliare i documenti XML - Dichiarazioni del tipo di elemento
name="name" content="textOnly"/>
name="zone" content="textOnly"/>
name="light" content="textOnly"/>
name="price" content="textOnly"/>
Numero di ripetizioni
dellelemento o del gruppo
maxOccurs
1 o non specificato
1 o non specificato
1 (Necessario)
1 o non specificato
0 o 1 (opzionale)
Maggiore di 1
Maggiore di n
Maggiore di 1
Minore di 1
"*"
0
Qualsiasi numero di ripetizioni
XML: Capitolo IV: Ampliare i documenti XML - Dichiarazioni del tipo di elemento
"*"
Almeno unoccorrenza
Maggiore di 0
"*"
Qualsiasi valore
name="name" content="textOnly"/>
name="zone" content="textOnly"/>
name="light" content="textOnly"/>
name="price" content="textOnly"/>
Lezione
successiva
[Sommario]
XML: Capitolo IV: Ampliare i documenti XML - Dichiarazioni del tipo di attributo
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Lezione
successiva
[Sommario]
cerca
XML: Capitolo IV: Ampliare i documenti XML - Dichiarazioni del tipo di attributo
cerca
Tipi di dati
XML-Data supporta una gamma di tipi di dati pi vasta rispetto ai 10 tipi di dati dellXML.
Come gli schemi sono definiti dallo spazio dei nomi xml-data, alo stesso modo i tipi di dati
sono definiti dallo spazio dei nomi datatypes, come il seguente esempio:
<Schema name="wildflowers" xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
<AttributeType name="dateorder"/>
<ElementType name="plant">
<attribute type="dateorder"/>
</ElementType>
</Schema>
ATTRIBUTO type
Un tipo di dati viene definito riferendosi ad esso con lattributo type nello spazio dei nomi
datatypes. Nellesempio seguente, viene specificato un tipo di dati per il tipo di attributo
dateorder:
char
string
int
float
boolean
number
uri
uuid
VINCOLI DEI TIPI DI DATI
E possibile applicare vincoli a valori dei tipi di dati. I vincoli facilitano lidentificazione del tipo
dei dati contenuti in un elemento o attributo.
min e max Gli attributi min e max definiscono i limiti e superiori inclusi relativi ai dati
contenuti in un elemento o attributo.
enumeration A volte necessario enumerare i valori di un elemento o attributo. Questo
possibile mediante il tipo di dati enumeration e lattributo values.
maxLength Lattributo maxLength specifica la lunghezza del valore in numero di caratteri.
Lezione
successiva
[Sommario]
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
<?xml version="1.0"?>
<!DOCTYPE EMAIL SYSTEM "my.dtd">
<EMAIL LANGUAGE="Western" ENCRYPTED="128" PRIORITY="HIGH">
<TO>Marco@msn.com</TO>
<FROM>&SIGNATURE;@msn.com</FROM>
<CC>Giuseppe@msn.com</CC>
<BCC>Naomi@msn.com</BCC>
<SUBJECT>Congratulazioni</SUBJECT>
<BODY>
Ciao, questo e' un esempio
di file XML !
</BODY>
</EMAIL>
Il documento contiene attributi, entit interne e riferimenti alla DTD nel prologo.
DTD
Una delle operazioni che verranno effettuate sar la sostituzione della DTD con uno
schema. Prima di tutto sar necessario rivedere la DTD:
<?xml version="1.0"?>
<!ELEMENT EMAIL (TO+, FROM, CC*, BCC*, SUBJECT?, BODY?)>
<!ATTLIST EMAIL
LANGUAGE (Western|Greek|Latin|Universal) "Western"
ENCRYPTED CDATA #IMPLIED
PRIORITY (NORMAL|LOW|HIGH) "NORMAL">
<!ELEMENT TO (#PCDATA)>
<!ELEMENT FROM (#PCDATA)>
<!ELEMENT CC (#PCDATA)>
<!ELEMENT BCC (#PCDATA)>
<!ATTLIST BCC
HIDDEN CDATA #FIXED "TRUE">
<!ELEMENT SUBJECT (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
<!ENTITY SIGNATURE "Flavio">
Sar necessario incorporare alcuni elementi della DTD nello schema. Oltre a definire
cerca
Gli elementi Cc e Bcc sono dichiarati con un asterisco (*), a indicare che gli
elementi sono opzionali, ma possono occorrere pi di una volta.
Gli elementi Subject e Body sono dichiarati con un punto di domanda (?), a
indicare che gli elementi sono opzionali, ma possono essere ripetuti pi di
una volta.
Gli elementi Email e Bcc hanno attributi associati, con valori predefiniti.
</SPAN>
</DIV>
<BR></BR>
<DIV STYLE="font-weight:bold;font-size:20">
Subject:
<SPAN STYLE="font-weight:normal;color:red">
<xsl:value-of select="EMAIL/SUBJECT"/>
</SPAN>
</DIV>
<HR></HR>
<SPAN STYLE="font-style:italic;font-size:32;color:orange">
<xsl:value-of select="EMAIL/BODY"/>
</SPAN>
</xsl:template>
La visualizzazione del documento la seguente:
clicca qui per vedere l'esempio email.xml (solo MSIE 5.0 o superiore)
SCHEMA
A questo punto procediamo con la creazione dello schema. E necessario
innanzitutto creare il documento dello schema. Le regole semantiche e strutturali
dovranno essere le stesse utilizzate nella DTD. Lesempio seguente contiene il
codice dello schema:
<?xml version="1.0"?>
<Schema name="email" xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<AttributeType name="language" dt:type="enumeration"
dt:values="Western Greek Latin Universal"/>
<AttributeType name="encrypted"/>
<AttributeType name="priority" dt:type="enumeration"
dt:values="NORMAL LOW HIGH"/>
<AttributeType name="hidden" default="true"/>
<ElementType name="to" content="textOnly"/>
<ElementType name="from" content="textOnly"/>
<?xml version="1.0"?>
<em:email xmlns:em="x-schema:myschema.xml" language="Western"
encrypted="128" priority="HIGH">
<em:to>Marco@msn.com</em:to>
<em:from>Flavio@msn.com</em:from>
<em:cc>Giuseppe@msn.com</em:cc>
<em:subject>Congratulazioni</em:subject>
<em:body>Ciao, questo e' un esempio di file</em:body>
</em:email>
In questo modo possibile notare due importanti differenze rispetto alla versione
DTD nel documento XML. Innanzitutto, invece del riferimento alla DTD nel prologo,
nellelemento em:email presente lo spazio del nome dello schema. Inoltre nel
documento tutti i tag degli elementi contengono il prefisso em, che li identifica come
parte di un namespace associato. Ad eccezione di queste due piccole ma importanti
differenze, il documento fondamentalmente lo stesso utilizzato per lesempio del
messaggio di posta elettronica iniziale. Le regole strutturali del documento sono
uguali perch da un punto di vista funzionale lo schema corrisponde alla DTD creata
precedentemente. Per formattare il documento XML, viene utilizzato lo stesso foglio
di stile XSL del messaggio di posta elettronica con lunica differenza che nei pattern
viene inserito il prefisso em.
<?xml version="1.0"?>
<xsl:template xmlns:xsl="uri:xsl">
<DIV STYLE="font-weight:bold;font-size:20">
To:
<SPAN STYLE="font-weight:normal;color:red">
<xsl:value-of select="em:email/em:to"/>
</SPAN>
</DIV>
<BR></BR>
<DIV STYLE="font-weight:bold;font-size:20">
From:
<SPAN STYLE="font-weight:normal;color:red">
<xsl:value-of select="em:email/em:from"/>
</SPAN>
</DIV>
<BR></BR>
<DIV STYLE="font-weight:bold;font-size:20">
Cc:
<SPAN STYLE="font-weight:normal;color:red">
<xsl:value-of select="em:email/em:cc"/>
</SPAN>
</DIV>
<BR></BR>
<DIV STYLE="font-weight:bold;font-size:20">
Subject:
<SPAN STYLE="font-weight:normal;color:red">
<xsl:value-of select="em:email/em:subject"/>
</SPAN>
</DIV>
<HR></HR>
<SPAN STYLE="font-style:italic;font-size:32;color:orange">
<xsl:value-of select="em:email/em:body"/>
</SPAN>
</xsl:template>
E possibile notare che nonostante il codice sia molto diverso rispetto ai documenti di
origine, il risultato pressoch lo stesso. Inoltre si ottiene un documento convalidato
con i vantaggi offerti da uno schema, invece di una DTD, insieme alle potenzialit e
alla flessibilit dellXSL per la formattazione.
Lezione
successiva
[Sommario]
cerca
Lezione
ULTIM'ORA
successiva
[Sommario]
http://www.html.it/xml/guida/cdf.htm12/10/04 16.30.36
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Lezione
successiva
[Sommario]
cerca
Hosting Italiano
<?XML version="1.0"?>
<CHANNEL HREF="http://www.miosito.com/index.html"
LASTMOD="1998-07-07T12.00"
LEVEL="2"
PRECACHE="YES">
<TITLE>Il mio sito</TITLE>
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
cerca
</SCHEDULE>
Infine lelemento Logo associa al canale unimmagine; lattributo Style specifica le
dimensioni dellimmagine:
Value Size
"ICON" 16H x 16W
"IMAGE" 32H x 80W
"IMAGE-WIDE" 32H x 194W
Se un canale diviso in varie sezioni, possibile impostare delle gerarchie nel file
CDF. Lelemento root Channel pu contenere altri elementi Channel; ogni elemento
Channel pu contenere degli elementi Item. Vediamo un esempio:
<?XML VERSION="1.0"?>
<CHANNEL
BASE="http://www.stream.it/iechannel/" HREF="home/stream.htm">
<TITLE>I Canali Stream</TITLE>
<ABSTRACT>I canali Stream: intrattenimento, viaggi, news...
e molto altro!</ABSTRACT>
<LOGO HREF="images/80x32.gif" STYLE="IMAGE"/>
<SCHEDULE>
<INTERVALTIME DAY="1"/>
<EARLIESTTIME HOURS="6"/>
</SCHEDULE>
<CHANNEL HREF="games/news/gamenews.htm">
<TITLE>InGame</TITLE>
<ABSTRACT>Giochi sempre nuovi, insieme a tutte le news
dal mondo ludico</ABSTRACT>
<LOGO HREF="games/16_ingame.ico"STYLE="ICON"/>
<ITEM HREF="games/fotomisteriosa/fotomisteriosa.html"
LASTMOD="1997.09.30T14:49+0100" PRECACHE="YES" LEVEL="1">
<TITLE>La foto misteriosa</TITLE>
<ABSTRACT>Confrontati con questo rompicapo...
Buon divertimento</ABSTRACT>
<LOGO HREF="games/fotomisteriosa/icona.ico" STYLE="ICON"/>
</ITEM>
</CHANNEL>
<CHANNEL HREF="plugintv/root.htm">
<TITLE>PlugINTV</TITLE>
<ABSTRACT>La televisione a portata di click</ABSTRACT>
<LOGO HREF="plugintv/16_plugintv.ico" STYLE="ICON"/>
</CHANNEL>
<CHANNEL HREF="cinema/default.htm">
<TITLE>Cinematografo</TITLE>
<ABSTRACT>Cinematografo: tutto sui nuovi film nelle sale
e in videocassetta</ABSTRACT>
<LOGO HREF="cinema/16_cinematografo.ico" STYLE="ICON"/>
</CHANNEL>
<CHANNEL HREF="tecnologia/default.htm">
<TITLE>Tecnologia</TITLE>
<ABSTRACT>Informazioni sulle ultime novit della
tecnologia</ABSTRACT>
<LOGO HREF="tecnologia/16_tecnologia.ico" STYLE="ICON"/>
</CHANNEL>
<CHANNEL HREF="viaggi/viagginews.htm">
<TITLE>Canale Viaggi</TITLE>
Fig. 5.1: Esempio di file CDF visualizzato nella barra dei canali di MSIE.
Lezione
successiva
[Sommario]
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
cerca
Lezione
successiva
[Sommario]
Esempio di un canale
Questo un semplice esempio su come far diventare il proprio sito Web un canale
con tecnologia CDF. Questo il file HTML:
<HTML>
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
<HEAD>
<TITLE>Marco Giann - Canale Personale/TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#800000" VLINK="#000080">
<BR><BR>
<H1> Salve,</H1>
<IMG SRC="casa.gif" BORDER="0" ALIGN="right">
<H3>sono Marco Giann e questo il mio canale personale.
Qui potete trovare le informazioni sulle mie ricerche.</H3>
<H2>Sottoscriviti, gratis</H2>
<BR>
<A HREF="javascript:window.external.addChannel
('http://www.miosito.com/mio.cdf')">
<IMG SRC="ieaddchanne.gif" BORDER="0">
</A>
<BR>
</BODY>
</HTML>
Lelemento significativo il valore di Href dellancora A, che richiama una funzione
javascript che MSIE utilizza per effettuare la procedura di abbonamento. Questo il
file CDF:
<?XML VERSION="1.0"?>
<CHANNEL HREF="http://www.miosito.com/index.htm">
<TITLE>Marco Giann- Canale Personale</TITLE>
<ABSTRACT>Mia homepage</ABSTRACT>
<SCHEDULE>
<INTERVALTIME DAY="1"/>
</SCHEDULE>
</CHANNEL>
La Fig. 5.4 mostra la pagina del canale.
cerca
successiva
[Sommario]
cerca
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
Lo standard proposto dallo SMIL definisce i tag (per esempio, <audio> per i
file audio, <video> per i file video, <text> per i file di testo, <img> per le
immagini), ma lo standard non stabilisce un formato particolare per un
determinato tag. Si pu decidere di utilizzare il formato di file Wav per il suono,
il formato di file Mpeg per il video e i formati Gif, Jpeg e/o Png per le immagini.
Il linguaggio SMIL stato progettato sulla base di alcune idee e su due
concetti: le presentazioni parallele e quelle in sequenza. Le prime combinano
contemporaneamente componenti multimediali per fornire unimmagine
completa; le seconde vengono fornite in una serie di fasi individuali.
Lezione
successiva
[Sommario]
http://www.html.it/xml/guida/smil.htm12/10/04 16.32.06
Struttura di SMIL
Una descrizione SMIL incorporata allinterno del tag SMIL. I documenti SMIL
sono composti da due parti: una testa e un corpo. Ognuna di queste parti
potrebbe contenere istruzioni XML speciali, quali commenti e istruzioni di
elaborazione. La testa di un documento indicata dal tipo di elemento Head, il
corpo dal tipo di elemento Body.
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
<smil>
<head>
<!-- questa la parte della testa -->
</head>
<body>
<!-- Questa al parte del corpo -->
</body>
</smil>
IN TESTA
La sezione della testa di un documento SMIL viene utilizzata per descrivere gli
aspetti legati al layout della presentazione e contiene alcune metainformazioni
sulla presentazione. I metadati possono stabilire che un documento SMIL non
abbia limiti precisi. La sintassi ufficiale per descrivere alcuni metadati :
<meta
name="NomeDellaVariabile"
content="ValoreDellaVariabile"
/>
Il linguaggio SMIL ha alcuni nomi predefiniti per i metadati:
successiva
cerca
[Sommario]
Stile parallelo
Lo stile parallelo viene utilizzato per descrivere come due oggetti sono
presentati contemporaneamente e come linizio e la fine sono correlati tra di
loro (Fig. 5.5).
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
Un blocco parallelo viene indicato dal tag <par>. Per esempio, un oggetto
audio e un oggetto immagine per lo stile parallelo possono essere descritti in
questo modo:
<par>
<audio ... />
<img ... />
</par>
Per default, lora di conclusione di una presentazione parallela lora massima
di conclusione di tutti gli oggetti. Tuttavia si pu controllare lora di
conclusione. Lattributo facoltativo endsync specifica che la fine della sezione
parallela dipende dal tempo specificato di conclusione di uno dei suoi figli.
Esso pu avere due valori distinti e ha una sintassi generica:
Lezione
successiva
[Sommario]
cerca
Stile in sequenza
Una sequenza definisce una serie di oggetti che devono essere eseguiti in
ordine sequenziale. Per esempio, prima si vede video 1 e poi video 2 (Fig. 5.6).
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
successiva
[Sommario]
cerca
Specifiche dell'impostazione
La specifica SMIL afferma che possibile utilizzare un assortimento di formati di
specifica dellimpostazione differenti insieme alla presentazione SMIL. Tuttavia,
SMIL viene fornito con una proposta di un semplice meccanismo di specifica
dellimpostazione.
Hosting Italiano
ULTIM'ORA
top: questo valore viene definito come la distanza rispetto alla parte
superiore dellarea di rappresentazione.
cerca
Lezione
successiva
[Sommario]
Switching
Spesso la descrizione di una presentazione come quella SMIL, dovrebbe
fornire un metodo per descrivere una serie di alternative dalle quali possibile
effettuare una selezione in base allinput dellutente o alle variabili di ambiente.
Il linguaggio SMIL utilizza la primitiva switch per fornire questa funzione. Lo
switching SMIL si basa su alcuni attributi predefiniti. Ma, nello spirito dellXML,
si possono specificare i propri attributi di switching.
BITRATE
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
cerca
Lezione
successiva
[Sommario]
Esempio SMIL
Bench Microsoft Internet Explorer e Netscape Navigator non siano al momento in grado
di supportare direttamente il linguaggio SMIL, diversi produttori forniscono il supporto
browser necessario. Per visualizzare quindi un file SMIL possibile utilizzare un utilit o
un plug-in separato di riproduzione, quale RealPlayer G2 sviluppato da RealNetworks.
Comunque, nel tentativo di non essere completamente esclusa dal gioco, Microsoft ha
recentemente annunciato una controproposta di standard chiamata HTML+TIME.
Hosting Italiano
Vediamo un esempio realizzato con SMIL Composer, un software gratuito che permette
di creare un file SMIL in modo semplice e veloce e che potr poi essere visualizzato con
RealPlayer.
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
<smil>
<head>
<meta name="author" content="Marco"/>
<meta name="title" content="Demo"/>
<meta name="copyright" content=" 1999"/>
<layout>
<root-layout height="196" width="136"/>
<region id="composer_Region" left="0" top="0"
height="100" width="106" z-index="1"/>
<region id="my_Region" left="0" top="0"
height="196" width="136" z-index="0"/>
</layout>
</head>
<body>
<seq>
<video id="composer" src="media/composer.rm"
region="composer_Region"
system-bitrate="13178"/>
<par>
<img id="my" src="media/my.rp" region="my_Region"
system-bitrate="12000"/>
<switch>
<audio id="france" src="media/france.ra" systemlanguage="fr"
system-bitrate="8041"/>
<audio id="usa" src="media/usa.ra" system-language="en"
system-bitrate="8041"/>
<audio id="turkey" src="media/turkey.ra" systemlanguage="tr"
system-bitrate="8041"/>
</switch>
</par>
</seq>
</body>
</smil>
La parte destra della schermata nella figura seguente mostra il codice SMIL della
presentazione multimediale.
cerca
clicca qui per vedere l'esempio demo.smi (solo con RealPlayer G2)
Lezione
successiva
[Sommario]
XML: Conclusioni
Conclusioni
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
cerca
XML: Conclusioni
successiva
[Sommario]
Il processore XML
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
<?xml version="1.0"?>
cerca
Lezione
successiva
[Sommario]
Il parser Msxml
Il processore fornito dalla Microsoft pu essere scaricato allindirizzo http://www.
microsoft.com/xml/parser/xmlinst.exe. Questo pacchetto contiene oltre al
processore anche unutile serie di esempi su come utilizzare documenti XML
nelle pagine Web.
Hosting Italiano
ULTIM'ORA
<?xml version="1.0">
il processore notifica:
cerca
Fig. A.1: Il Java applet XML Viewer visualizza la struttura dati di un file XML.
Lezione
successiva
[Sommario]
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
Per quanto riguarda i browser lunica soluzione fino a pochi mesi fa consisteva
nell'utilizzo di appositi browser SGML, magari integrati nei tradizionali programmi
di navigazione. Attualmente sul mercato esistono sostanzialmente dei Software:
Panorama, prodotto dalla SoftQuad, una delle aziende leader nel settore SGML,
Multidoc PRO, della finlandese Citec e Jumbo, una applicazione Java usata per
Chemical Markup Language (CML), un'applicazione specifica di XML. Panorama
disponibile in due versioni, una commerciale e l'altra gratuita. La versione
commerciale, a sua volta, consiste di due moduli: Panorama Publisher, un
browser stand-alone dotato di strumenti per la creazione di fogli di stile e reti
ipertestuali tra pi documenti; Panorama Viewer, un plug-in per Netscape ed
Explorer che pu solo visualizzare i documenti (di quest'ultimo viene distribuita
una versione di prova, con alcune limitazioni funzionali, sul sito della SoftQuad).
La versione gratuita invece basata sulla release 1 del browser ed reperibile
dal sito Web della OCLC al proprio indirizzo. Multidoc Pro, disponibile solo in
versione commerciale, ma chi interessato pu scaricarne una versione
funzionante per tre settimane presso il sito della Citec. Jumbo disponibile in
versione freeware presso il sito della "Venus".
La Microsoft ha finalmente rilasciato la versione 5 del suo browser che, oltre a
contenere un processore XML di tipo validating e supportare pienamente la
specifica XML 1.0 i Namespace e gli schemi (XML-Data), in grado di
visualizzare le pagine XML come se fossero pagine HTML grazie al supporto
dellXSL.
Per quanto riguarda i parser il panorama molto pi variegato. A parte i software
che permettono anche la visualizzazione, di cui si parlato, che ovviamente
prima eseguono il controllo formale, esistono in versione freeware molti parser,
tra i quali vanno ricordati Sax della "Microstar Software Ltd.", XML for Java da
IBM AlphaWorks, TclXML.
Infine i tool di sviluppo. Recentemente Microsoft ha rilasciato la prima release di
un tool per la costruzione di file XML; si chiama "XML Notepad" ed disponibile
freeware nel sito della societ Americana. Anche la "Arbortext", che da tempo
produce software per SGML ha implementato un tool di sviluppo "XML Styler, la
"Vervet Logic" commercializza un tool "XML Pro" ", ed infine anche la "Architag"
ha sviluppato il "Real-Time XML Editor" che molto semplice da imparare per
creare documenti XML in quanto avverte in tempo reale se si stanno
commettendo errori (fig. A.2).
cerca
successiva
[Sommario]
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
Microsoft ripropone una
falla gi patchata
'AOL Browser', il dopoNetscape si basa su IE
P2P, Grokster e StreamCast
in tribunale
FSF Europe esclusa dalla
Commissione Vigevano
46645: manda un SMS e
Google risponde
Falla grave in Microsoft
Word, non c' la patch
cerca
</maturita>
<laurea>
<universita>Statale di Milano</universita>
<facolta>Filosofia</facolta>
<votol>90</votol>
</laurea>
</studi>
<esperienze>Da 2 anni collabora con l'ufficio
Arte e cultura del Corriere</esperienze>
<lingua>Spagnolo</lingua>
</curriculum>
<curriculum>
<dati>
<nome>Francesca</nome>
<cognome>Marillo</cognome>
<sesso>femminile</sesso>
<indirizzo>
<via>Via Piave 7</via>
<cap>21057</cap>
<city>Como</city>
<provincia>CO</provincia>
<nazione>Italia</nazione>
</indirizzo>
<telefono>031634340</telefono>
<posta>marillo@tin.it</posta>
</dati>
<studi>
<maturita>
<titolo>Maturita' Scientifica</titolo>
<voto>38/60</voto>
</maturita>
<laurea>
<universita>Cattolica</universita>
<facolta>Scienze Politiche</facolta>
<votol>106</votol>
</laurea>
</studi>
<esperienze>Nessuna</esperienze>
<lingua>Tedesco</lingua>
</curriculum>
<curriculum>
<dati>
<nome>Stefano</nome>
<cognome>Bassi</cognome>
<sesso>maschile</sesso>
<indirizzo>
<via>Via Piave 7</via>
<cap>21057</cap>
<city>Como</city>
<provincia>CO</provincia>
<nazione>Italia</nazione>
</indirizzo>
<telefono>031908765</telefono>
<posta>stefano@cio.it</posta>
</dati>
<studi>
<maturita>
<titolo>Maturita' Tecnica Industriale in
meccanica</titolo>
<voto>42/60</voto>
</maturita>
<laurea>
<universita>Politecnico</universita>
<facolta>Ingegneria Civile</facolta>
<votol>106</votol>
</laurea>
</studi>
<esperienze>Impiegato al comune di
Como</esperienze>
<lingua>Tedesco</lingua>
</curriculum>
<curriculum>
<dati>
<nome>Paolo</nome>
<cognome>Bellucci</cognome>
<sesso>maschile</sesso>
<indirizzo>
<via>Via Piave 7</via>
<cap>21057</cap>
<city>Seregno</city>
<provincia>MI</provincia>
<nazione>Italia</nazione>
</indirizzo>
<telefono>0234546787</telefono>
<posta>bellucci@dido.it</posta>
</dati>
<studi>
<maturita>
<titolo>Maturita' Artistica</titolo>
<voto>60/60</voto>
</maturita>
<laurea>
<universita>Politecnico</universita>
<facolta>Architettura</facolta>
<votol>101</votol>
</laurea>
</studi>
<esperienze>Nessuna</esperienze>
<lingua>Tedesco</lingua>
</curriculum>
<curriculum>
<dati>
<nome>Camilla</nome>
<cognome>Silvestri</cognome>
<sesso>femminile</sesso>
<indirizzo>
<via>Via Piave 7</via>
<cap>21057</cap>
<city>Torino</city>
<provincia>TO</provincia>
<nazione>Italia</nazione>
</indirizzo>
<telefono>03434322098</telefono>
<posta>camilla@tin.it</posta>
</dati>
<studi>
<maturita>
<titolo>Maturita' Scientifica</titolo>
<voto>46/60</voto>
</maturita>
<laurea>
<universita>Cattolica</universita>
<facolta>Scienze Ambientali</facolta>
<votol>106</votol>
</laurea>
</studi>
<esperienze>Lavora part-time presso uno studio
veterinario</esperienze>
<lingua>Inglese</lingua>
</curriculum>
</radice>
Il DTD il seguente:
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
radice (curriculum+)>
curriculum (dati, studi, esperienze, lingua, hobbies*)>
dati (nome+, cognome, sesso, indirizzo, telefono*, posta*)>
nome (#PCDATA)>
cognome (#PCDATA)>
sesso (#PCDATA)>
indirizzo (via, cap, city, provincia, nazione)>
via (#PCDATA)>
cap (#PCDATA)>
city (#PCDATA)>
provincia (#PCDATA)>
nazione (#PCDATA)>
telefono (#PCDATA)>
posta (#PCDATA)>
studi (maturita*, laurea*)>
maturita (titolo, voto)>
laurea (universita, facolta, votol)>
titolo (#PCDATA)>
voto (#PCDATA)>
universita (#PCDATA)>
facolta (#PCDATA)>
votol (#PCDATA)>
esperienze (#PCDATA)>
lingua (#PCDATA)>
<xsl:value-of select="universita"/>
</SPAN> - Corso di Laurea: <SPAN STYLE="color:teal">
<xsl:value-of select="facolta"/>
</SPAN> - Voto : <SPAN STYLE="color:teal">
<xsl:value-of select="votol"/>
</SPAN>
</DIV>
</xsl:for-each>
<DIV STYLE="background-color:#EEEEEE; color:black;
margin-top:1em; font-size:24">
Esperienze Lavorative </DIV>
<DIV STYLE="font-style:italic; color:teal;font-size:18pt;
margin-top:0.5em; margin-left:20px">
<xsl:value-of select="esperienze"/>
</DIV>
<DIV STYLE="background-color:#EEEEEE; color:black;
margin-top:0.5em; font-size:24">
Lingua Straniera </DIV>
<DIV STYLE="font-style:italic; color:teal;font-size:18pt;
margin-top:0.5em;
margin-bottom:2em; margin-left:20px">
<xsl:value-of select="lingua"/>
</DIV>
</xsl:for-each>
</BODY>
</HTML>
Il risultato questo :
Lezione
successiva
[Sommario]
XML: Bibliografia
Bibliografia
Hosting Italiano
ULTIM'ORA
Truffa 100 utenti eBay per
godersi la 'bella vita'
cerca
XML: Bibliografia