Below is an example of comparision.


        <pre data-sub="prettyprint:_">
        <xsl:choose>
        <xsl:when test="@Sex='Male' or @Age='10'">
        He is male
        </xsl:when>
        <xsl:otherwise>
        She is a female
        </xsl:otherwise>
        </xsl:choose>
        </pre>


        If the xpath expression return more than one value, that is a sequence. For example
        Program/@flag = 'favorite' , Program/@flag has more than one value, XSLT processor goes through each of the flag attributes in turn, if it finds any flag attribute that has the value 'favorite', then the comparison returns true. This expression means if the sequence has any value equals to 'favorite'. If you mean, none of sequence has value of 'favorite', you can not use Program/@flag != 'favorite', (which means any of sequence is not equal to 'favorite'), you should use not(Program/@flag = 'favorite')