質問
誰か (おそらく XSL ファンでしょうか?)、ASP.NET MVC 上で XSL を使用して Web ページ上のデータのプレゼンテーションを処理する利点を見つけるのを手伝ってくれませんか?
2 つの代替案は次のとおりです。
XSL を使用した ASP.NET (MVC/WebForms)
データベースからデータを取得し、それを XML に変換し、XSL テンプレートを使用してさまざまなページに表示します。ASP.NET MVC
データベースからデータを C# オブジェクト (または LinqToSql/EF オブジェクト) として取得し、MVC ページ上のインライン コードで表示します。
XSL の主な利点は、WebControl などのさまざまなページでデータを一貫して表示できることです。ASP.NET MVC も同じように使用できますが、厳密に型指定されたオブジェクトを使用できます。XSL に利点があるかどうかを確認するのを手伝ってください。
解決
XSLT を使用してデータを変換し、ユーザーに表示する主な利点は次のとおりです。
- データはすでに XML 形式になっています
- データは明確に定義されたスキーマに従います (これにより、XMLSpy などのツールの使用がはるかに簡単になります)。
- データは、さまざまな出力形式に変換する必要があります。PDF、WMP、HTML
これがデータの唯一の出力であり、XML 形式ではない場合、XSLT は最適なソリューションではない可能性があります。
同様に、ユーザーの操作が必要な場合 (データの編集など)、更新を処理するためにバックエンド コードを使用することになるため、1 つのテクノロジが行き過ぎていることが証明される可能性があります...
他のヒント
XML 変換を扱うとき、私は常に次の 2 つの主要な問題に気づきました。
まず、XML ファイルは非常に遅い傾向にあり、何かを行う前に XML ファイル全体を解析して検証する必要があります。XML であるため、非常に冗長であるため、必要以上に大きくなります。
次に、変換の仕組みはコーディングが少し面倒です。XmlSpy のようなカスタム ツールが役に立ちますが、それでもほとんどの開発者が慣れ親しんでいるモデルとは異なります。
現時点では、MVC は非常に高速で非常に有望に見えますが、従来の Web 開発の欠点に悩まされています。 <%
そして %>
コード全体に蜂が刺されます。XML 変換を使用するとこれを回避できますが、読み取りと保守が非常に困難になります。
私は過去にそのテクニックを使用したことがあり、現在の職場でもそれを使用しているアプリケーションがあります。(認めますが、私はこのアイデアの完全なファンではありませんが、悪魔の擁護者を演じるつもりです)実際、それは主な利点の 1 つであり、このアイデアを推進するのはちょっといいことかもしれません。その場で動的に XSL を作成し、ページの外観や雰囲気を気まぐれに変更することができます。他の方法でこれを行うことは可能ですか...はい、ただし、xml/xsl ドキュメントをその場で変更するプログラムを構築するのは非常に簡単です。
XSL を使用して 1 つの XML ドキュメントを別の XML ドキュメントに変換し、それを HTML として表示することを考えると (これが実際にやっていることです)、他のプログラムが XML 経由でページ上のデータにアクセスできるようにシステムを開放することになります。他の方法でもこれを行うことができますが、xsl 変換を使用すると、毎回 xml が出力されます。
私なら、この方法でシステムを作成することに慎重に取り組みます。予期せぬ落とし穴がたくさんあります。xsl についてよく知らない場合は、学習曲線も必要になります。
XSLT と ASP.MVC を使用する場合は、これを確認してください。
ジャファル・フセイン氏は、次の点でいくつかの利点を提供しています。 Pretty XSLの提案, 、主にページの読み込みを増やし、データのサイズを減らすためにスタイルシートをキャッシュします。Steve Sanderson は、JavaScript をコントローラーとして使用する、少し異なるアプローチを提案しました。 ここ.
別の同様のアプローチは、次のように使用することです Xフォーム, ただし、それに対する最良のサポートは、 JavaScriptライブラリ.
DB XSL テンプレートからのデータを表示するだけの場合は便利なソリューションかもしれませんが、ユーザーとの対話を処理する場合は。うーん...全く維持できるものではないと思います。