2

これは、コーディングの問題というよりも、「最良の設計アプローチ」の問題です。XSLT でデータをフィルタリングするための最良の方法を探しています。XML、XSLT、および CSS から生成されたブログを持っています。各ブログ投稿は、第 1 週、第 2 週、または第 3 週のカテゴリに分類されます。

ここに画像の説明を入力

現時点では、すべてのカテゴリを横に表示しています。WEEK1 をクリックすると、第 1 週の投稿だけを表示したいのですが、これは、各週の XML ファイルを持たずにこれを行う方法はありますか?

副業として... これは XSLT ができることのデモです。php のようなものの方がこの仕事には適していたでしょうが、これは XSLT/HTML/JavaScript/CSS で行う必要があります。

質問が明確でない場合は、質問してください。言い直すよう最善を尽くします。

4

3 に答える 3

1

多くのアプローチがあるかもしれません。

すべての投稿にその週に関連するクラス名を付けます (例: post week1post week2など)。

横のリンクをクリックすると、すべての投稿の共通アンカーに、クリックされた週に関連するクラスも与えられます。posts week1

今必要なのは、少しの css だけです。

.posts .post{
  display:none;
}
.posts.week1 .post.week1,
.posts.week2 .post.week2,
.posts.week3 .post.week3{
  display:block;
}
于 2012-12-27T08:50:23.213 に答える
0

xslt ができることを実証したい場合は、たとえば//WEEKS[.="WEEK1"]のような単純な xpath クエリで十分です。

于 2012-12-27T09:22:14.667 に答える
0

ここで XLink が役に立ちますが、残念なことに、ブラウザーのサポートは依然として哀れです。

私が試みるのは、XML を JS と XPath で前処理することです。そのため、必要な週だけが含まれます。次に、その XML のみを に送信してXSLTProcessor()、それらのみを出力します。ただし、XSL の外部で HTML 文書全体を組み立てる必要があるかもしれませんが、確かではありません。

XML パラメーターをパラメーターとしてプロセッサーに送信し、それらを変換で使用することもできます。

しかし、XML の一部のみを表示する場合、XML 全体をネットワーク経由で送信するのは依然として非効率的です。したがって、実際に必要な XML のみを生成するサーバー側のソリューションの方が適しています。

最後になりましたが、おそらくSaxon-CEを見てください。

于 2012-12-27T14:39:23.733 に答える