Normal
0
14
false
false
false
IT
X-NONE
X-NONE
Ecco a voi un po’ di
notizie sull'utilità degli xslt e in
particolare della classe “XslCompiledTransform”
del .Net Framework.
Mi è capitato di recente
di aver a che fare con dei flussi di dati provenienti da un provider di servizi
web,
dati che dovevo
ovviamente processare, ma avevo la necessità di farlo con degli strumenti
preesistenti;
riuscendo a trovare un
escamotage avrei evitato anche di impegolarmi nello sviluppo di qualcosa che
fondamentalmente già avevo ma che avrei dovuto customizzare.
La soluzione che ho
adottato è stata relativamente semplice: ho adattato i metadati che ricevevo
rendendoli conformi a ciò che la mia applicazione era predisposta a processare.
Ciò è stato possibile
grazie agli xslt (eXtensible Stylesheet Language
Transformations), il linguaggio di trasformazione dell'XML, e alla classe “XslComplitedTrasform”.
Sapendo come è formato il
messaggio contenente i dati di nostro interesse, la definizione di un file xslt
ci permette di riorganizzarli in una struttura congeniale alle nostre
necessità;
l'xslt si presenta come un vero e proprio linguaggio di programmazione
che permette a chi lo usa di poter utilizzare costrutti condizionali e cicli.
Vediamo ora un esempio di
quello di cui accennato:
Di seguito è definito l’ipotetico
file xml che riceviamo e contenente i dati che vogliamo recuperare e passare
alla nostra applicazione per l’elaborazione:

Normal
0
14
false
false
false
IT
X-NONE
X-NONE
Andiamo ora a definire il
nostro xslt stylesheet:


Normal
0
14
false
false
false
IT
X-NONE
X-NONE
Quindi ora abbiamo a disposizione due tipi di informazioni,
un xml contenete i dati a cui siamo interessati e un file di stylesheet (xslt);
grazie alla classe “XslComplitedTrasform”
possiamo utilizzare queste due informazioni per ottenere un file xml formato secondo
le nostre esigenze e contenente i dati a cui siamo interessati.

Normal
0
14
false
false
false
IT
X-NONE
X-NONE
Ecco fatto! Ora abbiamo
un file xml contenente i dati ricevuti, ma organizzati secondo le specifiche
richieste dalla nostra applicazione.

Questo però è solo un esempio e rappresenta solo una piccola
parte delle potenzialità offerte dagli xslt
e dalla classe “XsltComplitedTrasform”;
per maggiori riferimenti su questa classe potete visitare il link http://msdn.microsoft.com/it-it/library/system.xml.xsl.xslcompiledtransform.aspx
.