2010-06-09 40 views

Respuesta

13

Mientras XQuery puede ser utilizado para las transformaciones sencillas, carece de la potencia y sofisticación de XSLT (especialmente las plantillas y la instrucción <xsl:apply-templates>).

XSLT es un lenguaje especialmente diseñado para procesar estructuras de árbol. Aún es mejor para hacer esto.

En los casos de acceso a una base de datos XML, sería una buena decisión usar (la eficacia de) XQuery para extraer los nodos XML necesarios y luego hacer la transformación con XSLT a partir de ahora. Algunos procesadores XSLT 2.x/XQuery permiten esto (a través de extensiones) incluso ahora. La próxima ola de especificaciones XSLT 2.x/XQuery 1.x probablemente hará que dicha interoperabilidad sea una característica oficial de estos lenguajes.

-4

Depende del tipo de "transformación" que necesite, XQuery le permite realizar consultas en sus datos XML, un poco como SQL.

XSLT le permite aplicar un estilo en XML, como CSS lo hace con HTML.

+8

Estoy totalmente en desacuerdo con la afirmación "XSLT le permite aplicar un estilo en XML, como CSS lo hace con HTML". XSLT no quiere XML qué CSS es a HTML. CSS le dice a un procesador cómo mostrar el HTML. XSLT se usa para transformar los datos en otra cosa. Puede usar XSLT para transformar XML en HTML para que el procesador sepa cómo deben mostrarse los datos, pero la forma en que el procesador muestra el HTML resultante no tiene nada que ver con XSLT. –

+0

XSLT es mucho más sofisticado que CSS. Con XSLT puede agregar/eliminar elementos y atributos desde o hacia el archivo de salida. También puede reorganizar y ordenar elementos, realizar pruebas y tomar decisiones sobre qué elementos ocultar y mostrar, y mucho más. – Premraj

0

Si mira el Wikipedia Entry tienen una sección que compara los dos.

En mi opinión, veo XSLT como una capa de presentación programable para los datos.