.NET e XSLT 2.0

XSLT è uno degli strumenti decisamenti più interessanti per operare trasformazioni di dati derivati da flussi e sistemi diversi. Da gennaio 2007 sono disponibili le specifiche di XSLT 2.0 ("XSL Transformations (XSLT) Version 2.0", XSLT 2.0 is a revised version of the XSLT 1.0 ). XPath 2.0, XQuery 1.0 e XSLT 2.0 rendono diponibili una serie di nuove funzioni davvero interessanti che fanno fare un buon salto al sistema di trasformazione basato su Xml... che nella sua versione 1.0 (uscita nel 1999) appare ancora un pò limitato/incompleto.

Come si pone il framework .NET nei confronti di XSLT 2.0? Il framework 2.0 include XslCompiledTransform per processare trasformazioni XSL (vedi namespace System.Xml.Xsl). La classe è una evoluzione della precedente classe "XslTransform" ormai deprecata, qui "Migrating From the XslTransform Class". XslTransform supportava XSLT 1.0 e purtoppo the XslCompiledTransform class is an XSLT processor that supports the XSLT 1.0 syntax.. Ovviamente gennaio 2007 è una data troppo prossima per pretendere che le nuove specifiche fossero già supportato dal framework... anche se l'editor xml di Visual Studio 2005 "sembra" validare correttamente la sintassi XSLT 2.0.

Per chi volesse usare XSLT 2.0 con il Framework .NET? E' disposnibile Saxon e come si legge "Release 8.9 is the latest milestone in Saxonica's implementation of the XPath 2.0, XSLT 2.0, and XQuery 1.0 specifications". La libreria è scaricabile da sourceforge "Saxon XSLT and XQuery Processor". Non ho ancora avuto modo di testare la libraria e per ora ho solo dato un'occhiata alle API della libreria. Il progetto deriva da un progetto nato prima in java... e come per NHibernate le firme dei metodi ne sono un chiara firma (si, avete letto bene: vuole essere una nota polemica:-p)

oO0( su CodePlex non c'è traccia di progetti in tal senso... e MS non sembra avere fretta di introdurre XSLT 2.0 nelle prossime versioni del Framework... avere un pò di tempo ci farei un pensierino)

posted @ mercoledì 6 giugno 2007 00:53

Print
Comments have been closed on this topic.
«dicembre»
domlunmarmergiovensab
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678