3

このトピックに関して他にもいくつか質問があることを認識しています。一般的なコンセンサスは、選択した言語を使用してXMLを操作することです。ただし、このソリューションは私の状況に完全には適合しません。

まず、プロジェクトの範囲:プラットフォームに依存しないeラーニングを開発したいと考えています。現在はHTMLページがたくさんありますが、成長して発展するにつれて、保守が難しくなります。すでに約30のモジュールがあり、それぞれに10〜30のHTMLページがあり、これは常に成長しています。

アイデア:XMLファイル+スキーマpre eLearning Moduleを用意してから、XMLをeラーニングモジュールに処理するXSLTファイルをいくつか作成します。XSLTを介したXMLからHTMLへ。

理由:CSSがここで実行可能な代替手段であることに気付いたコンテンツを簡単に再フォーマットできるように柔軟性を持たせたいのですが、特にルックアンドフィールを視覚的に変更するには、これよりも少し強力な機能が必要になる可能性があります。ページ。とにかくページのレイアウトや機能を変更することにした場合、「共有」XSLTファイルを変更する方がHTMLファイルを更新するよりも簡単だと思います。

いくつかの「パラメータ」に応じて、CSSが実行できる以上に、大幅に異なるページレイアウト/構造を出力できます。XSLTはQueryStringパラメーターを受け取ることができますか?わからない..

さて、これはすべてプラットフォームに依存せず、「オフライン」で実行できる必要があります。つまり、サーバーがHTMLに電力を供給しないため、サーバー側のテクノロジーは問題外です(C#、PHP)

XSLTについてこれまで読んだネガティブ:

  • オーバーヘッド?理由は正確にはわかりません...HTMLに変換するために計算能力が必要なのですか?
  • 学ぶのが難しい
  • より良い選択肢

さて、私が正確に知りたいのは次のとおりです。

  • この「オフライン」の実行可能な代替案は実際にありますか?
  • 私はそれを正しい方法で行っていますか
  • アドバイスや代替案はありますか?

編集:XSLの有無にかかわらず、CSSとJQueryは、私たちが開発するソリューションの非常に重要な部分になります。一般的な片付け(ずさんなengrish!)

4

4 に答える 4

8

これにXSLTスキームを使用することは正当です。XSLTは、専門知識を身に付ければ強力です。

  • オーバーヘッド:はい、大きなドキュメントの場合、変換には数秒かかる場合があります。1分間に何度も呼び出される大きなドキュメントで変換を行うことは、悪い戦略になる可能性があります。修正したいときにオンデマンドでこれらの変換を実行しないため、これは大きな問題にはなりません。
  • 学ぶのは難しい。XSLTはすぐに生産的になる可能性がありますが、注意してください。XSLTが簡単になっているように見えるとき、突然トリッキーになることに驚かれることでしょう。難しいと思うことは簡単なこともあれば、その逆もあり得ます。たとえば、単純な日付の書式設定を行うためだけに、いくつかのテンプレートをインポートまたは作成する必要がある場合があります。しかし、それはすべて実行可能です。「テンプレート」の作成方法を学ぶことを恐れないでください。
  • より良い選択肢。はい、より良い選択肢がありますが、それらはプラットフォーム固有です。たとえば、私は.NETの土地にいて、新しいXElementsなどを操作するためにXSLTを削除しました。また、VB.NET組み込みXMLは非常に強力で簡単です。ただし、XSLTは、特定のプラットフォームに依存することを避けたい場合でも優れています。

あなたはまだあなたの戦略の一部としてCSSを使うつもりですよね?XSLTを一貫して出力スタイルに変更することは、30モジュールで手動で行うよりも優れていますが、十分に計画されたCSSスタイルシートは、物事を単純化するのに役立ちます(保守性と柔軟性を向上させます)。

要約:静的なhtmlページのレイアウト/改訂をプラットフォームに依存せずに整理し、柔軟に配布するために:はい、私が見ることができることから、あなたは良い状態を持っています。また、XSLTで開発した専門知識は、将来的にも役立ちます。そして、XSLTをマスターすると、 XMLを本当に理解できるようになります。これは永遠に役立ちます。

于 2010-05-20T18:42:09.147 に答える
4

XSLTは、説明した状況でXMLドキュメントからHTMLを生成するために使用する理想的なツールです。XSLTの処理オーバーヘッドに関する一般的な苦情(ソースXMLドキュメント全体をメモリにロードする必要がある)は、XSLTを使用して静的HTMLページを生成している場合、おそらく何十万ものページを生成している場合を除いて、実際には関係ありません。

(実際、苦情はソースXMLドキュメントが大きい場合にのみ関係します。大きなXMLドキュメントからHTMLを動的に生成するアーキテクチャを構築した場合、テクノロジとしてXSLTを選択するのは間違いかもしれませんが、そうではありません。大きな間違いです。)

もちろん、 CSS使用する必要があります。

于 2010-05-20T21:26:02.177 に答える
2

データをプレゼンテーションから分離します。

プレゼンテーションレンダリングをブラウザにオフロードし、CSSおよびSASS、LessなどのCSS「エンハンサー」を使用します。

厳密なXHTMLを生成します-CSSでフォーマットでき、XMLパーサーで解析できますなど

双方向性のようにJQueryを使用する

XSLTは非常に重量があり、拡張性が高くありませんが、XHTML + XSS + JQueryは非常によく理解されており、多くのツールが存在します。

于 2010-05-20T18:59:27.293 に答える
0

C#またはVB.NETがLINQ to XMLの使用を検討していることをすでに知っている場合、コードは長くなりますが、XSLTの専門家がいない場合は、作成と保守の手間が少なくて済みます。

それはすべて、必要なXML変換の数に帰着します。1つか2つだけで、XSLTの学習に時間を費やすことはありません。

于 2010-07-29T14:48:51.543 に答える