2011-12-05 23 views
1

UIに質問をレンダリングするxslファイルがあります。 質問は異なるカテゴリに分かれています。xslファイルにパラメータを渡してそれを応答に使用する方法

私の要件は、Javaコードからxslファイルにパラメータを渡すことです。そのパラメータに基づいて、UIを生成するための特定の操作を実行したいと考えています。

JAXコードからパラメータをXSLファイルに渡す方法を教えてもらえますか?

例:

/form/A/Question-Category, 
/form/B/Question-Category, 
/form/c/Question-Category, 
/form/D/Question-Category 

A、B、C、Dは、私はJavaコードから渡すと、質問の私のXPathを取得するには、そのトークンを使用するカテゴリです、Javaコードから渡されたトークンがBであれば言う 式は'/form/B/Question-Category'になります。

今、私のハードルは、Javaコードからパラメータを渡す方法と、XSLでどのように使用できるのか分かりません。

答えて

1

次のようにパラメータを宣言します。

<xsl:param name="category"/> 

を次に(あなたがJAXPのAPIを使用していると仮定して)このように、Javaからそれを渡すこの

select="/form/*[name()=$category]/Question-Category 

のようにそれを使用します。

transformer.setParameter("category", "a"); 

私はこれが、特にスマートなXML文書設計ではないと思います。私はカテゴリのリストがメタデータではなくデータだと思うので、<A>ではなく<category name="A">を使用します。しかし、あなたのコースの先生は他のアイデアを持っているかもしれません(通常はアンケートの実装が学生の課題です)。

+0

ありがとうございました。できます 。 * [name()= $ category] ​​ - これを読むには?私はどこで同じことについて良い説明的なチュートリアルを見つけることができます。 w3school以外 –

関連する問題