View Full Version : Xquery??? come utilizzarlo e perchè
texerasmo
07-12-2007, 14:00
Ciao a tutti ho trovato questo tutorial su xquery
http://www.w3schools.com/xquery/default.asp
Volevo chidervi un paio di cose.
A) quali sono i vantaggi di xquey? perchè non utilizzare xsl?
B) Se volessi fare un test di xquery come posso fare?
ho bisogno di un parser?
tnks
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!
texerasmo
07-12-2007, 15:05
Grazie.
vorrei capire meglio questa cosa che hai detto
"Xsl e XQuery sono due cose diverse con scopi diversi."
Xsl manipola xml
quello che dici qui
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
mi fa capire che xquery va analizzare un xml cosa che posso fare anche con xsl
faccio un esempio
<root>
<nome>ERASMO</nome>
</root>
con xsl potrei fare
...
<xsl:value-of select="nome">
con xquery non sono sicuro
doc("mioxml")/root/nome
a questo punto qual'è la differenza?
Il problema è l'uso dei termini.
E' vero se dici quello che faccio con XPath (che fa parte di XSL) lo posso fare anche con XQuery, infatti è un'espansione. In parte anche quello che fai con XSLT lo puoi fare con XQuery.
Ma nel complesso quello che fai con XSL, ovvero applicare stili e formattarlo non puoi farlo con XQuery
Con XQuery reperisci solo le informazioni.
Non puoi con il solo uso di XQuery generare per esempio un documento XHTML da un file XML.
Ciao
texerasmo
08-12-2007, 01:51
ok ho capito
Se volessi fare un prova e lanciare un xquery come posso fare?
Rileggendo la mia risposta ho notato che non è del tutto corretta :rolleyes:, o almeno non mi sono spiegato bene. Infatti tu puoi creare degli "script" XQuery che inglobando tag HTML ti permettono di generare pagine appunto HTML. Era quello che intendevo con : "In parte anche quello che fai con XSLT lo puoi fare con XQuery".
Resta comunque il fatto che con XSL anche se verboso è molto più semplice per mia esperienza diretta.
Adesso non vorrei dire idiozie in quanto non ho mai provato, ma credo sia necessario fare un passo di compilazione dello script con un linguaggio lato server.
Io ho usato XQuery solo in interrogazioni su campi XML di SQLServer 2005 in locale.
Ho un link che fa al caso tuo, è un po' complicato, ma leggilo fino alla fine in quanto con le prime due pagine capisci poco:
link (http://www.xml.com/pub/a/2002/12/23/xquery.html?page=1)
C'è anche questo:
link2 (http://www.w3.org/TR/2005/WD-xquery-use-cases-20050404/)
Vorrei aver tempo anche io per approfondire, se trovi cose interessanti postale.
Ciao!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.