Question

Quelqu'un (peut-être un fan de XSL ?) peut-il m'aider à trouver des avantages dans la gestion de la présentation des données sur une page Web avec XSL sur ASP.NET MVC ?

Les deux alternatives sont :

  1. ASP.NET (MVC/WebForms) avec XSL
    Récupérer les données de la base de données et les transformer en XML qui est ensuite affiché sur les différentes pages avec des modèles XSL.

  2. ASP.NET MVC
    Récupérer les données de la base de données sous forme d'objets C# (ou d'objets LinqToSql/EF) et les afficher avec du code en ligne sur des pages MVC.

Le principal avantage de XSL réside dans l’affichage cohérent des données sur de nombreuses pages différentes, comme les WebControls.Alors corrigez-moi si je me trompe, ASP.NET MVC peut être utilisé de la même manière, mais avec des objets fortement typés.S'il vous plaît, aidez-moi à voir si XSL présente des avantages.

Était-ce utile?

La solution

Je peux voir que le principal avantage de l'utilisation de XSLT pour transformer vos données et les afficher à l'utilisateur serait le suivant :

  • Les données sont déjà au format XML
  • Les données suivent un schéma bien défini (cela facilite grandement l'utilisation d'outils comme XMLSpy).
  • Les données doivent être transformées dans un certain nombre de formats de sortie différents, par ex.PDF, WMP et HTML

S'il s'agit de la seule sortie de vos données et qu'elle n'est pas au format XML, alors XSLT n'est peut-être pas la meilleure solution.

De même, si une interaction de l'utilisateur est requise (comme la modification des données), vous finirez de toute façon par utiliser du code back-end pour gérer les mises à jour, ce qui pourrait donc prouver qu'une technologie est trop loin...

Autres conseils

J'ai toujours rencontré deux problèmes principaux lorsque je travaille avec des transformations XML :

Premièrement, ils ont tendance à être assez lents, l'ensemble du fichier XML doit être analysé et validé avant que vous puissiez en faire quoi que ce soit.Étant XML, il est également excessivement verbeux et donc plus volumineux que nécessaire.

Deuxièmement, la façon dont fonctionnent les transformations est un peu difficile à coder - des outils personnalisés comme XmlSpy aident, mais il s'agit toujours d'un modèle différent de celui auquel la plupart des développeurs sont habitués.

Pour le moment, MVC est très rapide et semble très prometteur, mais souffre du fléau traditionnel du développement Web. <% et %> des piqûres d'abeilles partout dans votre code.L'utilisation de transformations XML évite cela, mais est beaucoup plus difficile à lire et à maintenir.

J'ai utilisé cette technique dans le passé, et il existe des applications où nous l'utilisons sur mon lieu de travail actuel.(J'avoue que je n'en suis pas totalement fan, mais je vais me faire l'avocat du diable) Vraiment, c'est l'un des principaux avantages, et pousser cette idée peut être plutôt sympa.Vous êtes capable de créer dynamiquement le fichier XML à la volée et de modifier l'apparence de la page sur un coup de tête.Est-il possible de le faire via les autres méthodes... oui, mais il est vraiment facile de créer un programme pour modifier un document XML/XSL à la volée.

Si vous envisagez d'utiliser XSL pour transformer un document XML en un autre et de l'afficher au format HTML (ce qui est vraiment ce que vous faites), vous ouvrez votre système pour permettre à d'autres programmes d'accéder aux données de la page via XML.Vous pouvez le faire via les autres méthodes, mais l'utilisation d'une transformation XML l'oblige à générer du XML à chaque fois.

Je ferais preuve de légèreté en créant un système de cette façon.Vous rencontrerez de nombreuses chutes auxquelles vous ne vous attendez pas, et si vous ne connaissez pas vraiment très bien XSL, il y aura également une courbe d'apprentissage.

Vérifiez ceci si vous souhaitez utiliser XSLT et ASP.MVC

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

Jafar Husain offre quelques avantages dans son proposition pour Pretty XSL, principalement la mise en cache de la feuille de style pour augmenter le chargement des pages et réduire la taille de vos données.Steve Sanderson a proposé une approche légèrement différente en utilisant JavaScript comme contrôleur ici.

Une autre approche similaire consisterait à utiliser XForms, même si le meilleur support pour cela passe par un Bibliothèque JavaScript.

Si vous affichez uniquement les données des modèles DB XSL, cela peut être une solution pratique, mais si vous souhaitez gérer l'interaction de l'utilisateur.Hum...Je ne pense pas que ce sera du tout maintenable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top