XMLのサンプル:
<course>
<department code="VES">
<dept_short_name>Visual and Environmental Studies</dept_short_name>
</department>
<course_group code="course_group1">Course Group 1</course_group>
<title>Critical Media Practice: Non Fiction Filmmaking Workshop</title>
</course>
<course>
<department code="MAT">
<dept_short_name>Mathematics</dept_short_name>
</department>
<course_group code="course_group1">Course Group 1</course_group>
<title>Critical Media Practice: Non Fiction Filmmaking Workshop</title>
</course>
<course>
<department code="VES">
<dept_short_name>Visual and Environmental Studies</dept_short_name>
</department>
<course_group code="course_group2">Course Group 2</course_group>
<title>Critical Media Practice: Non Fiction Filmmaking Workshop</title>
</course>
<course>
<department code="VES">
<dept_short_name>Visual and Environmental Studies</dept_short_name>
</department>
<course_group code="course_group1">Course Group 1</course_group>
<title>Critical Media Practice: Non Fiction Filmmaking Workshop</title>
</course>
私がやろうとしていること
ご覧のとおり、department@codeとcourse_group@codeはコースごとに異なる場合があります。部門コードが「VES」のコースのみを選択したいのですが、複数の異なるcourse_groupがある場合は、テンプレートを呼び出します。
このコードを試しましたが、機能しません 。$departmentというパラメーター呼び出しがあり、すでに「VES」値を渡していることに注意してください。このパラメータは機能しています。他の場所で問題なく使用しています。次のコードを試しましたが、テンプレートが何度も呼び出されます。条件が真の場合、テンプレートを1回だけ呼び出す必要があります。
<xsl:for-each-group select="course[$department = department/@code]" group-by="course_group[@code]">
<xsl:if test="count(current-group()) > 1">
<xsl:call-template name="anchors"/>
</xsl:if>
</xsl:for-each-group>
提案をありがとう