我对xsl非常生疏所以我会尝试尽可能地问这个问题,但我想要做的就是在这种情况下获取我的XML文件属性的值“药房”并将其传递给我的xsl文件中的body标记的类。我最终使用jQuery工作,但我问可能使用xsl?
我的jQuery解决方案:
<script>
$(function() {
var a = $('.cohort').text();
$('body').removeClass('no-js').addClass('je-enabled ' + a)
});
</script>
我的XSL:
<xsl:template match = "/">
<html>
<body class="no-js">
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="COURSE">
<div class="cohort sr-only"><xsl:value-of select="@STUDY_AREA"/></div>
.
.
</xsl:template>
我的XML
<COURSES>
<COURSE id="1" STUDY_AREA="pharmacy">
.
.
</COURSE>
</COURSES>
我的帮助将不胜感激 - 抱歉,如果我没有添加完整的代码,因为它很大 - 希望我提供的就足够了。
答案 0 :(得分:0)
据我所知,你想:
STUDY_AREA
标记中读取COURSE
属性的内容,
位于COURSES
根标记(类名)。body
代码,class
属性等于您的属性
刚刚阅读,使用xsl:attribute
。然后您的模板应如下所示:
<xsl:template match="/">
<html>
<body>
<xsl:attribute name="class" select="COURSES/COURSE/@STUDY_AREA"/>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
请注意:
body
标记
以一种静态的方式。class
属性。