Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

31.5. xsl:if en xsl:choose Elementen

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

31.5.1. xsl:if Element

Een alternatief voor een <xsl:for-each> element met een selectie criterium in het select attribuut :
XML Transformation
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>
  <xsl:template match="class">
    <html>
      <head>
        <title>Class</title>
      </head>
      <body>
        <ul>
          <xsl:for-each select="student[name!='Paul']">
            <li><xsl:value-of select="name"/></li>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Bestaat erin een <xsl:if> element te gebruiken met een test attribuut waarin de conditie wordt opgegeven :
XML Transformation
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>
  <xsl:template match="class">
    <html>
      <head>
        <title>Class</title>
      </head>
      <body>
        <ul>
          <xsl:for-each select="student">
            <xsl:if test="name!='Paul'">
              <li><xsl:value-of select="name"/></li>
            </xsl:if>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Ook hier krijgen we bij dezelfde bron XML :
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<class>
  <student id="101">
    <name>John</name>
    <IQ>140</IQ>
  </student>
  <student id="102">
    <name>Jane</name>
    <IQ>130</IQ>
  </student>
  <student id="103">
    <name>Paul</name>
    <IQ>135</IQ>
  </student>
</class>
Na transformatie de volgende HTML :
HTML
<html>
  <head>
    <title>Class</title>
  </head>
  <body>
    <ul>
      <li>Jane</li>
      <li>Paul</li>
    </ul>
  </body>
</html>

31.5.2. xsl:choose, xsl:when en xsl:otherwise Elementen

Indien je meerdere condities zou hebben of het "else" scenario voor één of meerder condities zou willen bepalen, kan je gebruik maken van de <xsl:when> en <xsl:otherwise> childelementen van een <xsl:choose> element die je in een <xsl:for-each> element kan opnemen.

Beschikken we over volgende bron XML :
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<class>
  <student id="101">
    <name>John</name>
    <IQ>140</IQ>
  </student>
  <student id="102">
    <name>Jane</name>
    <IQ>130</IQ>
  </student>
  <student id="103">
    <name>Paul</name>
    <IQ>135</IQ>
  </student>
</class>
En wensen we bijvoorbeeld bij elke naam van een student een opmerking te plaatsen op basis van zijn IQ :
HTML
<html>
  <head>
    <title>Class</title>
  </head>
  <body>
    <ul>
      <li>John : smart</li>
      <li>Jane : not the sharpest knife in the drawer</li>
      <li>Paul : mediocre</li>
    </ul>
  </body>
</html>
Dan kunnen we hiervoor volgende XSLT opstellen :
XML Transformation
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>
  <xsl:template match="class">
    <html>
      <head>
        <title>Class</title>
      </head>
      <body>
        <ul>
          <xsl:for-each select="student">
            <li>
              <xsl:value-of select="name"/> :
              <xsl:choose>
                <xsl:when test="IQ>135">smart</xsl:when>
                <xsl:when test="IQ=135">mediocre</xsl:when>
                <xsl:otherwise>not the sharpest knife in the drawer</xsl:otherwise>
              </xsl:choose>
            </li>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Net zoals bij een <xsl:if> element, ga je ook bij een <xsl:when> element, aan de hand van het test attribuut opgeven wat de conditie is.

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.