Neueste Web-Entwicklung Tutorials
 

XSLT <xsl:if> Element


<XSLT Element Reference

Definition und Verwendung

Die <xsl:if> Element enthält eine Vorlage , die nur dann angewandt werden , wenn eine bestimmte Bedingung erfüllt ist.

Tip: Verwenden Sie <xsl:choose> in Verbindung mit <xsl:when> und <xsl:otherwise> mehr bedingten Tests zum Ausdruck bringen!


Syntax

<xsl:if
test="expression">

  <!-- Content: template -->

</xsl:if>

Attribute

Attribut Wert Beschreibung
testexpression Erforderlich. Gibt die Bedingung getestet werden

Beispiele

Wählen Sie die Werte von Titel und Interpreten, wenn der Preis der CD höher als 10:

Beispiel 1

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <xsl:if test="price &gt; 10">
        <tr>
          <td><xsl:value-of select="title"/></td>
          <td><xsl:value-of select="artist"/></td>
        </tr>
      </xsl:if>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>
Versuch es selber "

Zeigen Sie den Titel jeder CD. Legen Sie ", " zwischen den einzelnen CD-Titel , wenn es nicht die letzte CD oder vorletzter ist. Wenn es die letzte CD ist, fügen Sie "!" hinter dem Titel. Wenn es die vorletzte CD ist, fügen Sie ", and " hinter dem Titel:

Beispiel 2

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <p>Titles:
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>
      <xsl:if test="position()!=last()">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()-1">
        <xsl:text> and </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()">
        <xsl:text>!</xsl:text>
      </xsl:if>
    </xsl:for-each>
    </p>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>
Versuch es selber "

<XSLT Element Reference