XMLXSLProgramkodenxsl:choose
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
Grunderna XSL Dynamiska sidor XML i praktiken

xsl:choose

xsl:choose

Syntax:

<xsl:choose>
   <xsl:when test="pattern">
      ...
   </xsl:when>
   <xsl:when test="pattern">
      ...
   </xsl:when>
   <xsl:otherwise>
      ...
   </xsl:otherwise>
</xsl:choose>

Detta är det närmaste en If...Else...EndIf vi kommer, även om den nog mer påminner om case i vb eller switch C mm.

Om vi bara har en enda xsl:when och en xsl:otherwise, kan vi dock jämföra med en Else If.

Ett lite mer avancerat exempel på choose:

xml22_1.xsl

<?xml version='1.0' encoding="iso-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
   <head><title>Racing</title></head>
   <body bgcolor="#FFFFFF" text="#000000">
     <table>
     <xsl:for-each select="racers/driver">


       <tr>
       <xsl:choose>
         <xsl:when test="nationality[. = 'Finn']">
           <xsl:attribute name="style">background-color:#FFFFCC</xsl:attribute>
         </xsl:when>
         <xsl:otherwise>
           <xsl:attribute name="style">background-color:#CCFFFF</xsl:attribute>
         </xsl:otherwise>
       </xsl:choose>
       <td><xsl:value-of select="name"/></td>
      
       <td><xsl:value-of select="nationality"/></td>
      
       <td>
         <xsl:if test="@type[. = 'rally']">
         <xsl:attribute name="style">color:#FF0000</xsl:attribute>
       </xsl:if>
      
       <xsl:value-of select="@type"/></td>
      
       </tr>
     </xsl:for-each>
     </table>
   </body>
</html>
</xsl:template>
</xsl:stylesheet>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken

Öppna XML filen   Öppna XML konverterad till HTML (Även NS)

Observera att vi i likhet med xsl:if satte ett attribut i efterskott.

  xsl:ifxsl:for-each
XSL
XSL i praktiken
XSL loopar
XSL programmering
XSL patterns
Patterns exempel
Programkoden
xsl:if
xsl:choose
xsl:for-each
xsl:apply-templates
XSL Övningar
XML versioner
Microsofts lösning
Nummer och datum
Typexempel för XSL ...


Top
< xsl:if xsl:for-each>
© Anders Enges, Vörå 2002  | 04.10.01 19:04 Visa asp koden