View Single Post
Old 07-12-2007, 15:46   #2
Strat
Member
 
L'Avatar di Strat
 
Iscritto dal: Oct 2003
Messaggi: 126
Xsl e XQuery sono due cose diverse con scopi diversi.

XML da solo è un "contenitore" di informazioni. In verità è qualcosa di più in quanto queste informazioni grazie all'utilizzo di tag semantici hanno una loro ben precisa definizione.
Non contiene però alcuna indicazione strutturale o di presentazione.

Il W3C assieme allo strumento XML mette a disposizione una serie di altri strumenti che permettono di strutturare e presentare le informazioni, nonché di ricercarle al suo interno.

1) I DTD e gli Xml Schema permettono di strutturare il documento.

2) Xsl può essere visto come l'insieme di tre elementi(XPath, XSLT e XSLFO) che utilizzati assieme permettono di presentare il documento aggiungendo stili di formattazione e impostando la visualizzazione.
In particolare XPath permette di selezionare gli elementi da formattare all'interno del file XML e XSLT permette di definire le regole di trasformazione (è un foglio di stile).
Esiste anche un altro strumento fondamentale, ossia il processore XSLT, che è un software che fonde assieme XML e XSLT e in base al target di presentazione scelto (XHTML, PDF, ecc...) genera il documento finale.
I moderni browser come Firefox e IE7 hanno implementato nativamente il processore XSLT per cui basta dare loro in pasto i vari file correttamente preparati e la trasformazione avviene real-time. E' anche possibile fare la trasformazione a priori attraverso le librerie messe a disposizione da vari linguaggi di programmazione (per .NET trovi tutto in System.XML)
In questa fase è possibile generare documenti XHTML validi e ben formati.

3) XQuery non è altro che un' evoluzione di XPath che permette di realizzare query più complesse. Praticamente con le espressioni XPath trovi gli elementi e con apposite espressioni XQuery le estrapoli.
Sinceramente io lo trovo un po' complesso e macchinoso, ma in realtà non ho approfondito molto la questione.
Secondo i creatori dovrebbe diventare lo standard per le interrogazioni su XML, cioè quello che è (standard più o meno) SQL per i database relazionali.

Ciao!
Strat è offline   Rispondi citando il messaggio o parte di esso