2010-06-09 13 views

risposta

13

Mentre XQuery può essere utilizzato per semplici trasformazioni, manca la potenza e la sofisticazione di XSLT (soprattutto i modelli e le istruzioni <xsl:apply-templates>).

XSLT è un linguaggio appositamente progettato per elaborare strutture ad albero. È ancora meglio farlo.

Nei casi in cui si accede a un database XML sarebbe una buona decisione usare (l'efficienza di) XQuery per estrarre i nodi XML necessari e quindi effettuare la trasformazione con XSLT da qui in poi. Alcuni processori XSLT 2.x/XQuery consentono questo (tramite le estensioni) anche adesso. La prossima ondata di specifiche XSLT 2.x/XQuery 1.x molto probabilmente renderà tale interoperabilità una caratteristica ufficiale di queste lingue.

-4

Dipende dal tipo di "trasformazione" necessario, XQuery consente di eseguire query sui dati XML, un po 'come SQL.

XSLT consente di applicare uno stile su XML, come il CSS con HTML.

+8

Non sono affatto d'accordo con l'affermazione "XSLT ti permette di applicare uno stile su XML, come il CSS con HTML.". XSLT non è per XML quale CSS è per HTML. CSS dice a un processore come visualizzare l'HTML. XSLT è usato per trasformare i dati in qualcos'altro. È possibile utilizzare XSLT per trasformare XML in HTML in modo che un processore sappia come visualizzare i dati, ma come il processore visualizza l'HTML risultante non ha nulla a che fare con XSLT. –

+0

XSLT è molto più sofisticato di CSS. Con XSLT puoi aggiungere/rimuovere elementi e attributi al o dal file di output. È inoltre possibile riorganizzare e ordinare elementi, eseguire test e prendere decisioni su quali elementi nascondere e visualizzare e molto altro ancora. – Premraj

0

Se si guarda il Wikipedia Entry hanno una sezione che confronta i due.

A mio avviso, vedo XSLT come un livello di presentazione programmabile per i dati.

Problemi correlati