# Viste differenti

Un utente puo' decidere di cambiare la visualizzazione dei dati senza dover scaricare differenti formati dal Web server. Una possibile applicazione di questa categoria e' un dinamico tables of contents (TOC); e' possibile attraverso un server Web, presentare all'utente il contenuto di una struttura dati utilizzando un TOC dinamico; con un click del mouse su una parte del TOC, l'utente puo' ottenere livelli di dettaglio piu' specifici della struttura dati. Un TOC dinamico di questo tipo puo' essere generato a run-time direttamente dalla struttura gerarchica dei dati memorizzati in un database; sfortunatamente il ritardo intrinseco della rete Internet, rende il processo di espansione o di contrazione del TOC fastidioso per molti utenti. Una soluzione migliore e' quella di scaricare l'intera struttura TOC sul Web client; quindi l'utente puo' espandere, contrarre, navigare nel TOC, supportato da processi molto veloci che girano direttamente sul suo client.

Un gruppo di studio alla Sun ha implementato questo tipo di soluzione nel Java-based HTML Help browser, ma le limitazioni dell'HTML richiedono al team ingegnose "capriole". In questa applicazione un TOC e' costruito manualmente (le carenze dell'HTML rendono impossibile la generazione automatica del TOC direttamente dal documento), utilizzando un set di tag inventato per questo proposito. Quindi il TOC e' inserito in un commento dentro la pagina HTML, per fare in modo che il Web browser non abbia problemi di riconoscimento del set di tag non convenzionale; un applet Java scaricato con il documento HTML interpreta il markup del TOC, fornendolo all'utente.

In pratica questa soluzione lavora molto bene; ma in ambiente XML, la creazione manuale del TOC non e' necessaria; naturalmente attraverso un editor e' necessario creare la struttura generale del TOC, ma il TOC specifico di una particolare struttura dati puo' essere generato a run-time e scaricato nel browser che lo visualizza grazie al Java applet.

La capacita' di catturare e trasmettere le informazioni semantiche e strutturale dei dati, rende possibile attraverso l'XML, l'implementazione di una grande varieta' di questo tipo di applicazioni; ad esempio:

- Con un semplice click del mouse si puo' optare per visualizzare la versione per macchine Sparc del manuale tecnico del sistema operativo Solaris, o la versione per macchine x86.
- Oppure si puo' optare per visualizzare il manuale in differenti lingue internazionali.
- Un documento che contiene molte annotazioni puo' essere visualizzato senza queste, oppure solo con le annotazioni, oppure sia con il testo che con le annotazioni, semplicemente attraverso un menu di selezione.
- Una agenda telefonica ordinata sul Cognome, puo' istantaneamente essere ordinata sul nome.
Questi sono solo alcuni esempi che possono essere implementati in ambiente Web grazie all'XML.