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>
我想做什么
如您所见,部门@code 和 course_group @code 可能因每门课程而异。我只想选择部门代码=“VES”的课程,如果他们有多个不同的 course_group 调用模板
尝试了此代码但它不起作用 请注意,我有一个参数调用 $department 它已经传递了“VES”值。这个参数正在工作,我在其他地方使用它没有问题。我尝试了以下代码,但它多次调用模板,如果条件为真,我只需要调用一次模板。
<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>
感谢您的任何建议