Ascolta la musica di GrooveRadio

MircoWeb

  ctrl+d per aggiungermi ai preferiti

Appendice A: Strumenti software - Il processore XML


 

Nuove tecnologie per il Web:

XML eXtensible Markup Language



Appendice A: Strumenti software

Il processore XML

Un processore XML è un modulo software utilizzato per leggere documenti XML e verificare che soddisfino la specifica XML. La sua funzione principale consiste nell’analisi e nella convalida dei dati XML. Un processore XML fornisce anche il contenuto di un documento ad una eventuale applicazione; questo vuol dire che una qualsiasi applicazione che deve interagire con documenti XML deve avere al suo interno un processore XML. Un processore può essere utilizzato in modo standalone, per verificare che un documento appena scritto soddisfi la specifica XML, quindi che sia o ben formattato (se non è accompagnato da nessun DTD) o valido (se è accompagnato da DTD). È dunque uno strumento necessario per chi scrive file XML in generale.

Per indicare al processore a quale specifica un documento si riferisce bisogna sempre indicare nella prima istruzione il numero di versione di tale specifica:

<?xml version="1.0"?>

Chiaramente un processore segnala errore se riceve un documento con un numero di versione che non supporta.

In generale gli errori che un processore riporta sono di due tipi:

  • Error: violazione di una regola della specifica; il processore notifica all’applicazione l’errore rilevato e continua sia ad analizzare il documento, sia a fornirne il contenuto all’applicazione; è quest’ultima che deve decidere il comportamento rispetto all’errore (ignorarlo, cercare di correggerlo, etc.).

  • Fatal error: grave violazione di una regola della specifica; il processore notifica all’applicazione l’errore rilevato e può o meno continuare l’analisi del documento per cercare altri errori; non deve però continuare a fornire il contenuto del documento all’applicazione.

Ad esempio una violazione di un vincolo espresso in un DTD (chiaramente non il DTD dell’XML, ma un DTD scritto dall’utente) è considerata un "error"; una violazione di una regola di buona formattazione è invece considerata un "Fatal error" (violare una regola di buona formattazione vuol dire violare un vincolo espresso nel DTD dell’XML).

Ci sono due tipi di processori XML: validating e non-validating (in genere un processore di tipo validating viene chiamato parser). Sia i processori validating che quelli non-validating, devono riportare le violazioni delle regole di buona formattazione incontrate nell’entità documento ed in generale in una qualsiasi entità parsed. Un processore validating deve anche riportare le violazioni dei vincoli espressi attraverso le dichiarazioni nel DTD; per far questo deve poter leggere e processare l’intero DTD. Un processore non-validating deve poter accedere all’intera entità documento, incluso l’eventuale DTD interno (ma solo per verificare che anche questa parte del documento sia ben formattata); quest’ultimo fornisce vantaggi nelle prestazioni dato che non deve leggere ed elaborare la DTD.

Allo stato attuale sono disponibili alcuni processori di pubblico dominio (shareware e freeware) che possono essere utilizzati in modo standalone. La maggior parte degli elaboratori disponibili viene creata mediante il linguaggio di programmazione Java e anche le applicazioni tendono ad essere più lente rispetto alle applicazioni basate su C++; Java consente spesso di utilizzare piattaforme multiple.

Per controllare che gli esempi forniti in questa tesi fossero conformi alle specifiche XML, ho utilizzato il processore fornito dalla Microsoft, l’elaboratore Msxml. Microsoft Internet Explorer è dotato di un elaboratore di XML incorporato. Questo elaboratore, Msxml, è progettato come componente di Windows e può essere utilizzato come controllo Active X nelle pagine Web o nelle applicazioni di Visual Basic o C++. Microsoft ha inoltre contribuito allo sviluppo di un elaboratore di XML su Java.

INTRODUZIONE

1.1 Origine e obiettivi

1.2 Relazioni tra XML e altri linguaggi

1.2.1 Relazione tra XML e SGML

1.2.2 Relazione tra XML e HTML

1.3 Le proprietà dell’XML

1.4 L’XML e il Web

1.4.1 Database eterogenei

1.4.2 Processi distribuiti

1.4.3 Viste differenti

1.4.4 Motori di ricerca

2. STRUTTURA E SINTASSI

2.1 Struttura logica del linguaggio XML

2.2 Struttura fisica del linguaggio XML

2.3 Sintassi XML

2.3.1 Apertura e chiusura dei tag

2.3.2 Attributi

2.4 Documenti XML validi e ben formati

2.4.1 Documenti validi

2.4.2 Documenti ben formati

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

4. AMPLIARE I DOCUMENTI XML

4.1 XSL: l’XML 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

4.1.6 Estrazione dei dati dall’XML

4.2 XLL: Collegamenti con il linguaggio XML

4.2.1 XLink: il sistema per i collegamenti XML

4.2.2 Collegamenti semplici nell’XML

4.2.3 Collegamenti estesi nell’XML

4.3 XPOINTER

4.3.1 Concetti fondamentali relativi al linguaggio XPointer

4.4 XML-Data

4.4.1 Gli obiettivi di XML-Data

4.4.2 Linguaggio schema XML-Data

4.4.3 Struttura del documento dello schema

4.4.4 Dichiarazioni del tipo di elemento

4.4.5 Dichiarazioni del tipo di attributo

4.4.6 Tipi di dati

4.4.7 Funzionamento degli schemi

(esempio file xml/xsl)

5.1 Channel Definition Format (CDF)

5.1.1 Webcasting (tecnologia push)

5.1.2 Struttura di un file CDF

5.1.3 Utilizzo del file CDF

5.1.4 Esempio di un canale

5.2 Synchronized Multimedia Integration Language (SMIL)

5.2.1 Struttura di SMIL

5.2.2 Stile parallelo

5.2.3 Stile in sequenza

5.2.4 Specifiche dell’impostazione

5.2.5 Switching

5.2.6 Esempio SMIL

(esempio file smil)

Conclusioni

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