По съшия начин можете да проверявате стойностите на атрибути на
таговете. Единствената разлика се състои в това, че името на атрибута
трябва да се предхожда от символа @, докато името на дъщерен таг - не.
Проверките обикновено се извършват в таговете <xsl:for-each> и
<xsl:template>. Във <xsl:for-each> може да се използва, за
да се изведат само таговете с определена стойност на даден атрибут, а в
<xsl:template> за да се дефинират стил на таг, който има
определена стойност на атрибута. XSL стига още по-далеч в
предоставяните възможности за избор на извежданите тагове. Той
предоставя условния "оператор" <xsl:if>. Кодът между
<xsl:if> и </xsl:if> се изпълнява само ако е изпълнено
условието, определено от атрибута match. Например можете да приложите
стилово оформление само на таговете, съдържащи атрибута version, като
използвате кода
Код:<xsl:if match=".[@version]">
<xsl:apply-templates/>
</xsl:if>
Код:<?xml version="1.0"?>
<xsl:stylesheet>
<xsl:template match="/">
<HTML>
<BODY>
<H1>Software</H1>
<TABLE CELLSPACING="4" CELLPADDING="2">
<TR STYLE="font-weight:bold; font-size:18">
<TD>Name (Sorted Alphabetically)</TD>
</TR>
<xsl:for-each select="software/program" order-by="+ name/program">
<xsl:choose>
<xsl : when match="/type[category='graphics']">
<TR BGCOLOR="#red"><xsl : apply-templates/></TR>
</xsl : when>
<xsl : otherwise>
<TR><xsl : apply-templates/></TR>
</xsl : otherwise>
</xsl : choose>
</xsl : for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="name">
<TD STYLE="font-style:italic; font-size:20">
<xsl:value-of select="program"/>
</TD>
</xsl:template>
</xsl:stylesheet>