2017-05-30 4 views
0

Ich bin neu in XSL XML. Ich bekomme eine Datei zur Bearbeitung. Dies ist Template-Datei, später wird mit XML transformiert werden. Ich muss die Klasse der Div abhängig von Wert von XML einrichten. Ich versuche, so etwas zu bekommen, aber das funktioniert nicht wie ich Tags schließen müssen ...xsl/xml div-Klasse ist abhängig vom Wert

<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> 

ganze Idee ist, Zeilenklasse zu ändern, wie Farbe der Wert des Feldes $ CommDelphiBandText in xml abhängen wird.

Wenn ich irgendwelche Informationen verpasse, lass es mich wissen.

Antwort

0

Anstatt zu versuchen, ein anderes Start-Tag auszugeben, versuchen Sie, ein anderes class-Attribut auszugeben.

Anstelle von multiple xsl:if, die alle jedes Mal ausgewertet werden, verwenden Sie stattdessen xsl:choose.

Beispiel ...

<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> 
Verwandte Themen