Στοιχείο <xsl:choose> της XSLT
- Προηγούμενη Σελίδα XSLT <if>
- Επόμενη Σελίδα XSLT apply
Το στοιχείο XSLT <xsl:choose> χρησιμοποιείται για να συνδυάζει τα στοιχεία <xsl:when> και <xsl:otherwise> για να εκφράσει πολλαπλές προϋποθέσεις.
Το στοιχείο <xsl:choose>
Γραμματική
<xsl:choose> <xsl:when test="έκφραση"> ... Έξοδος ... </xsl:when> <xsl:otherwise> ... Έξοδος .... </xsl:otherwise> </xsl:choose>
Πού να τοποθετήσετε τις προϋποθέσεις της επιλογής
Για να εισάγετε πολλαπλές προϋποθέσεις στο αρχείο XSL, προσθέστε τα στοιχεία <xsl:choose>, <xsl:when> και <xsl:otherwise>:
<?xml version="1.0" encoding="ISO-8859-1"?> <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"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price > 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Το παραπάνω κώδικας θα προσθέσει μια κόκκινη υποβάθμιση στο κελί "Artist" όταν η τιμή του CD είναι μεγαλύτερη από 10.
Το αποτέλεσμα της μετατροπής είναι παρόμοιο με αυτό:

Ελέγξτε αυτό το αρχείο XML,Ελέγξτε αυτό το αρχείο XSL,Επισκόπηση Αποτελεσμάτων.
Ακόμα ένα παράδειγμα
Αυτό είναι ένα άλλο παράδειγμα που περιέχει δύο στοιχεία <xsl:when>:
<?xml version="1.0" encoding="ISO-8859-1"?> <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"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price > 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:when test="price > 9"> <td bgcolor="#cccccc"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Το παρακάτω κώδικας θα προσθέσει ένα ροζ χρώμα υποβάθρου στη στήλη "Artist" όταν το κόστος του CD είναι μεγαλύτερο από 10, και θα προσθέσει ένα γκρι χρώμα υποβάθρου στη στήλη "Artist" όταν το κόστος του CD είναι μεγαλύτερο από 9 και μικρότερο ή ίσο με 10.
Το αποτέλεσμα της μετατροπής είναι παρόμοιο με αυτό:

Επισκόπηση του αρχείου XML,Επισκόπηση του αρχείου XSL,Επισκόπηση Αποτελεσμάτων.
- Προηγούμενη Σελίδα XSLT <if>
- Επόμενη Σελίδα XSLT apply