2017-05-30 61 views
0

我是XSL XML的新手。我得到文件來處理。 這是模板文件,稍後將用xml進行轉換。 我需要根據xml中的值設置div類。 我試圖讓這樣的事情,但這不是工作,我需要關閉標籤...xsl/xml div類取決於值

<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的價值。

如果我錯過了任何信息,請讓我知道。

回答

0

,而不是試圖輸出不同的開始標記,嘗試輸出不同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>