Pregunta

¿Alguien (¿quizás un fanático de XSL?) ¿Puede ayudarme a encontrar alguna ventaja en el manejo de la presentación de datos en una página web con XSL sobre ASP.NET MVC?

Las dos alternativas son:

  1. ASP.NET (MVC/WebForms) con XSL
    Obtener los datos de la base de datos y transformarlos a XML que luego se muestran en las diferentes páginas con plantillas XSL.

  2. ASP.NETMVC
    Obtener los datos de la base de datos como objetos C# (u objetos LinqToSql/EF) y mostrarlos con código en línea en páginas MVC.

El principal beneficio de XSL ha sido la visualización consistente de datos en muchas páginas diferentes, como WebControls.Entonces, corrígeme si me equivoco, ASP.NET MVC se puede usar de la misma manera, pero con objetos fuertemente tipados.Por favor ayúdenme a ver si XSL tiene algún beneficio.

¿Fue útil?

Solución

Puedo ver que el principal beneficio de emplear XSLT para transformar sus datos y mostrarlos al usuario sería el siguiente:

  • Los datos ya están en formato XML.
  • Los datos siguen un esquema bien definido (esto facilita mucho el uso de herramientas como XMLSpy).
  • Los datos deben transformarse a varios formatos de salida diferentes, p.PDF, WMP y HTML

Si esta va a ser la única salida para sus datos y no está en formato XML, entonces XSLT podría no ser la mejor solución.

Del mismo modo, si se requiere la interacción del usuario (como la edición de los datos), terminará empleando el código de back-end de todos modos para manejar las actualizaciones, por lo que podría resultar que una tecnología esté demasiado lejos...

Otros consejos

Siempre he encontrado dos problemas principales al trabajar con transformaciones XML:

En primer lugar, tienden a ser bastante lentos; todo el archivo XML debe analizarse y validarse antes de poder hacer algo con él.Al ser XML, también es excesivamente detallado y, por lo tanto, más grande de lo necesario.

En segundo lugar, la forma en que funcionan las transformaciones es un poco complicada de codificar: las herramientas personalizadas como XmlSpy ayudan, pero sigue siendo un modelo diferente al que la mayoría de los desarrolladores están acostumbrados.

Por el momento, MVC es muy rápido y parece muy prometedor, pero sufre la tradicional plaga del desarrollo web de <% y %> picaduras de abejas por todo tu código.El uso de transformaciones XML evita esto, pero es mucho más difícil de leer y mantener.

He usado esa técnica en el pasado y hay aplicaciones en las que la usamos en mi lugar de trabajo actual.(Lo admito, no soy totalmente un fanático de esto, pero haré el papel de abogado del diablo). Realmente esa es una de las principales ventajas, e impulsar esta idea puede ser bastante interesante.Puede crear dinámicamente el xsl sobre la marcha y cambiar la apariencia de la página a su antojo.¿Es posible hacer esto a través de otros métodos? Sí, pero es realmente fácil crear un programa para modificar un documento xml/xsl sobre la marcha.

Si piensa en usar XSL para transformar un documento xml en otro y mostrarlo como html (que es realmente lo que está haciendo), está abriendo su sistema para permitir que otros programas accedan a los datos de la página a través de XML.Puede hacer esto a través de otros métodos, pero el uso de una transformación xsl lo obliga a generar xml cada vez.

Yo andaría con cuidado al crear un sistema de esta manera.Encontrarás muchos errores que no esperas, y si no conoces muy bien xsl, también habrá una curva de aprendizaje.

Mira esto si quieres usar XSLT y ASP.MVC

http://www.bleevo.com/2009/06/aspnet-mvc-xslt-iviewengine/

Jafar Husain ofrece algunas ventajas en su propuesta para Pretty XSL, principalmente almacenamiento en caché de la hoja de estilo para aumentar la carga de la página y reducir el tamaño de sus datos.Steve Sanderson propuso un enfoque ligeramente diferente utilizando JavaScript como controlador aquí.

Otro enfoque similar sería utilizar XFormas, aunque el mejor apoyo para ello es a través de un biblioteca de javascript.

Si solo va a mostrar datos de plantillas DB XSL puede ser una solución conveniente, pero si va a manejar la interacción del usuario.Mmm...No creo que sea mantenible en absoluto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top