Pergunta

Alguém (talvez um fã de XSL?) Pode me ajudar a encontrar alguma vantagem no tratamento da apresentação de dados em uma página da Web com XSL sobre ASP.NET MVC?

As duas alternativas são:

  1. ASP.NET (MVC/WebForms) com XSL
    Obtendo os dados do banco de dados e transformando-os em XML que são então exibidos nas diferentes páginas com modelos XSL.

  2. ASP.NET MVC
    Obtendo os dados do banco de dados como objetos C# (ou objetos LinqToSql/EF) e exibindo-os com código embutido em páginas MVC.

O principal benefício do XSL tem sido a exibição consistente de dados em muitas páginas diferentes, como WebControls.Então, corrija-me se estiver errado, o ASP.NET MVC pode ser usado da mesma maneira, mas com objetos fortemente tipados.Por favor, ajude-me a ver se há algum benefício no XSL.

Foi útil?

Solução

Posso ver que o principal benefício de empregar XSLT para transformar seus dados e exibi-los ao usuário seria o seguinte:

  • Os dados já estão em formato XML
  • Os dados seguem um esquema bem definido (isso facilita muito o uso de ferramentas como XMLSpy).
  • Os dados precisam ser transformados em vários formatos de saída diferentes, por ex.PDF, WMP e HTML

Se esta for a única saída para seus dados e não estiver no formato XML, o XSLT poderá não ser a melhor solução.

Da mesma forma, se a interação do usuário for necessária (como a edição dos dados), você acabará empregando código de back-end de qualquer maneira para lidar com atualizações, o que pode provar que uma tecnologia está longe demais...

Outras dicas

Sempre encontrei dois problemas principais ao trabalhar com transformações XML:

Em primeiro lugar, eles tendem a ser bastante lentos; todo o arquivo XML deve ser analisado e validado antes que você possa fazer qualquer coisa com ele.Sendo XML, também é excessivamente detalhado e, portanto, maior do que precisa ser.

Em segundo lugar, a forma como as transformações funcionam é um pouco complicada para o código - ferramentas personalizadas como o XmlSpy ajudam, mas ainda é um modelo diferente daquele com o qual a maioria dos desenvolvedores está acostumada.

No momento, o MVC é muito rápido e parece muito promissor, mas sofre com a tradicional praga do desenvolvimento web de <% e %> picadas de abelha em todo o seu código.O uso de transformações XML evita isso, mas é muito mais difícil de ler e manter.

Já usei essa técnica no passado e há aplicações em que a usamos no meu local de trabalho atual.(Admito que não sou totalmente fã disso, mas farei o papel de advogado do diabo) Na verdade, essa é uma das principais vantagens, e promover essa ideia pode ser bem legal.Você é capaz de criar dinamicamente o xsl em tempo real e alterar a aparência da página conforme desejar.É possível fazer isso através de outros métodos... sim, mas é realmente fácil construir um programa para modificar um documento xml/xsl instantaneamente.

Se você pensa em usar XSL para transformar um documento xml em outro e exibi-lo como html (que é realmente o que você está fazendo), você está abrindo seu sistema para permitir que outros programas acessem os dados da página via XML.Você pode fazer isso por meio de outros métodos, mas usar uma transformação xsl força a saída de xml sempre.

Eu agiria com cautela ao criar um sistema dessa maneira.Você encontrará muitas quedas que não esperava e, se não conhecer XSL muito bem, também haverá uma curva de aprendizado.

Verifique isso se você quiser usar XSLT e ASP.MVC

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

Jafar Husain oferece algumas vantagens em seu proposta para Pretty XSL, principalmente armazenamento em cache da folha de estilo para aumentar o carregamento da página e reduzir o tamanho dos seus dados.Steve Sanderson propôs uma abordagem ligeiramente diferente usando JavaScript como controlador aqui.

Outra abordagem semelhante seria usar Formulários X, embora o melhor suporte para isso seja através de um Biblioteca JavaScript.

Se você exibir apenas dados de modelos DB XSL, pode ser uma solução conveniente, mas se você for lidar com a interação do usuário.Hum...Eu não acho que será sustentável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top