Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Mini sistema editoriale con ASP / XML / XSL

Sfruttiamo la potenza di XML/XSLT per creare un sistema di pubblicazione
Sfruttiamo la potenza di XML/XSLT per creare un sistema di pubblicazione
Link copiato negli appunti

Un Sistema editoriale è semplicemente un sistema che raccoglie il contenuto
degli articoli e li combina direttamente con la grafica, generando un documento(html, pdf, wml). Tutto ciò è comodo per le aziende di web Design per vari motivi, per esempio si riesce a dividere il lavoro del grafico da quello del programmatore e da colui che inserisce i testi, portando notevoli vantaggi alla comprensione del codice e quindi alla velocità di consegna di un prodotto finito.

Potete immaginare come può essere utile per un'azienda poter decidere di compiere un restilyng del sito senza mettere mani nel codice, ma solo nella grafica, o anche porre il cliente in condizione di gestirsi le notizie. Tutto ciò è ormai possibile grazie al boom che hanno avuto negli ultimi mesi l'xml e l'xslt , linguaggi destinati a rivoluzionare il web . Ma cosa sono xml e xslt ? XML (sta per Extenseble Markup language) è un metalinguaggio che permettere di creare altri linguaggi, mi spiego meglio con un esempio:

<Utenti>
<utente id="1">
<nome>Tizio</nome>
</utente>
<utente id="2">
<nome>Caio</nome>
</utente>
</Utenti>

Come potete capire dall'esempio, l'xml è un linguaggio strutturato ad albero
ed ogni tag descrive il contenuto di se stesso.
Ma cosa manca a questi tag per diventare una pagina web?Chiaramente gli manca
la formattazione, che gli verrà applicata tramite l'xslt, il quale è un linguaggio in grado di formattare e manipolare l'xml a vostro piacimento.

Progettazione e realizzazione

Per permettervi di comprenderne al meglio l'utilità e il funzionamento, ho
progettato un semplicissimo Sistema editoriale che consente di gestire le parti
fondamentali di un articolo e costituisce una base su cui costruire qualcosa di
più concreto.

Dapprima inseriamo nel database le principali parti di una notizia, cioè titolo, testo , e/o notizia in breve , autore, email dell'autore, in seguito costruiamo una consolle per gestire questi record (cancellazione, modifica,inserimento) e le conferiamo la possibilità di generare pagine e di vedere la preview.

Struttura del database

Articoli
IdArticolo contatore (chiave primaria)
Titolo varchar(255)
Testo memo
Breve varchar(255)
Autore varchar(255)
EmailAutore varchar(255)

Il processo di creazione di una pagina html tramite sistema editoriale può
essere suddiviso in quattro processi fondamentali:

- configurazione del sistema
- gestione dei dati
- generazione dinamica dell'xml
- output dei dati

1) Configurazione del sistema

Lo script di configurazione setta alcune variabili pubbliche a tutto il sistema, per cui prima di incominciare a lavorare, impostate tutte le opzioni di questo script ;)

<%
'Nel parametro qui sotto inserite il path dove è situato il db access
path_db ="c:inetpubwwwroothtml-itsed.mdb"

'--------- XSL -------------------------------
' Inserire il path dove sono situati gli xsl
path_base_xsl="c:inetpubwwwroothtml-itxsl"
'inserire qui l'url relativo al path sovrastante
url_base_xsl ="http://127.0.0.1/html-it/xsl/"
'------------- Informazioni generali ---------
url_base ="http://127.0.0.1/html-it/"
path_base_file_da_generare ="c:inetpubwwwroothtml-ithtml"
%>

2) Gestione dei Dati

La gestione dei record a sua volta è suddivisa in quattro sezioni, cioè:
a) elenco
b) inserimento
c) modifica
d) cancellazione

a) Elenco dei record (in questo caso, gli articoli)

Questa procedura propone tutti gli articoli presenti nel database, suddivisi
per pagine a seconda del numero degli articoli. Visualizza
il codice ASP

b) Inserimento dei dati

L'inserimento avviene attraverso un form, che contiene delle EditBox (o caselle
di testo) quanti sono i campi della nostra tabella, questo form porta ad una procedura
(InsArticolo) in cui vengono raccolti i dati provenienti dal form e vengono immagazzinati
nella tabella. Visualizza
il codice ASP

c) Modifica

Anche la modifica avviene come l'inserimento, ma la differenza sarà che il
form proporrà i dati inseriti precedentemente, che andranno sostituiti con i nuovi.
Visualizza il codice ASP

d) Cancellazione dell'articolo

La cancellazione dell'articolo viene chiamata da un link nella pagina iniziale
della consolle. Questo link chiama la procedura passandogli l'id univoco della
tabella , in modo tale che si vada a rimuovere solo il record interessato.

Sub cancella()
id = getHttpVariable("id",3)
if id>0 then
DeleteSQL "Articoli","idArticolo="&id
End if
response.redirect "articoli.asp"
End Sub

3 ) Generazione dinamica dell'xml

Questa procedura è chiamata da uno script che specifica l'id, seleziona il
record tramite una query sql , e visualizza il risultato sotto forma di xml. Visualizza
il codice ASP

4) Output del sistema (generazione o preview)

Eccoci arrivati al cuore del sistema, qui viene selezionato l'Url che chiama
l'xsl , verifica l'esistenza del file tramite l'activex "Scripting.FileSystemObject",
verifica se ci sono errori nell'xml o nell'xsl e stampa il risultato su file se
l'utente decide di generare la pagina o su schermo se decide di vedere il preview.
Visualizza il codice ASP

Le varie funzioni utilizzate nel codice. Di seguito ho inserito delle piccole
funzioni che ho utilizzato in tutto il codice. Visualizza
il codice ASP

Conclusioni

Il mio intento nello scrivere questo tutorial è quello mostrarvi chiaramente
che, con un semplice codice come quello sopra scritto, si possono creare sistemi
in grado di generare quanti siti si vogliono con lo stesso contenuto ma ognuno
di loro con un target grafico differente. Scarica
il file ZIP di questo tutorial

Ti consigliamo anche