XSL/XML div 类取决于值



我是XSL XML的新手。我有文件要处理。 这是模板文件,稍后将使用 xml 进行转换。 我需要设置div 的类取决于 xml 的值。 我尝试获得这样的东西,但这不起作用,因为我需要关闭标签......

<header class="container-fluid">
<form>
<xsl:if test="$CommDelphiBandText = 'Very Low Risk'">
<div class="green_bg row">
</xsl:if>
<xsl:if test="$CommDelphiBandText = 'High Risk'">
<div class="orange_bg row"/>
</xsl:if>
<xsl:if test="$CommDelphiBandText = 'Maximum risk'">
<div class="red_bg row"/>
</xsl:if> 
<div class="col-sm-9">
<div class="form-group">
<label>Company Name:</label>
<div class="">
<xsl:value-of select="//a:CommercialName/text()" />
</div>
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<label>Registred Number:</label>
<div class="">
<xsl:value-of select="//a:RegNumber/text()" />
</div>
</div>
</div>
</div>
</form>
</header>

整个想法是更改行类,因为颜色将取决于 xml 中字段$CommDelphiBandText的值。

如果我错过了任何信息,请告诉我。

不要尝试输出不同的开始标记,而是尝试输出不同的class属性。

此外,与其每次都会评估多个xsl:if,不如改用xsl:choose

例。。。

<header class="container-fluid">
<form>
<div>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$CommDelphiBandText = 'Very Low Risk'">green_bg row</xsl:when>
<xsl:when test="$CommDelphiBandText = 'High Risk'">orange_bg row</xsl:when>
<xsl:when test="$CommDelphiBandText = 'Maximum risk'">red_gb row</xsl:when>
</xsl:choose>
</xsl:attribute>
<div class="col-sm-9">
<div class="form-group">
<label>Company Name:</label>
<div class="">
<xsl:value-of select="//a:CommercialName/text()"/>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<label>Registred Number:</label>
<div class="">
<xsl:value-of select="//a:RegNumber/text()"/>
</div>
</div>
</div>
</div>
</form>
</header>

最新更新