Mozilla XSLT TransforMiiX Test Cases This document serves to test basic XSL expressions. Testing xsl:variable and xsl:copy-of Test: <xsl:copy-of select="$product-name"/> Desired Result:TransforMiiX Result: TransforMiiX Testing xsl:if Test: <xsl:if test="x | y | z">true</xsl:if> Desired Result: true Result:true Testing xsl:if Test: <xsl:if test="true()">true</xsl:if> Desired Result: true Result:true Testing xsl:if Test: <xsl:if test="'a'='b'">a equals b</xsl:if> <xsl:if test="'a'!='b'">a does not equal b</xsl:if> Desired Result: a does not equal to b Result:a does not equal b Testing xsl:if Test: <xsl:if test="2+1-3"> 2+1-3 is true</xsl:if> Â <xsl:if test="not(2+1-3)"> not(2+1-3) is true</xsl:if> Desired Result:not(2+1-3) is true Result:not(2+1-3) is true Testing xsl:choose Test:see source Desired Result: true Result:true Testing parent and ancestor ops Test:see source Desired Result: true Result:true Testing basic xsl:apply-templates Test:<xsl:apply-templates/> Desired Result:element x, element y, element z Result: element x, element y, element z Testing basic xsl:apply-templates with mode Test:<xsl:apply-templates mode="mode-test"/> Desired Result:x, y, z Result:x, y, z Testing predicates Test:see source Desired Result:z Result:z Testing predicates Test:see source Desired Result: Result: Named Template/Call Template Test:<xsl:call-template name="named-template-test"/> Desired Result:named template processed with default value! Result: named template processed with default value! Test: - passing arguments to named templates (see xsl source) Desired Result:named template processed with passed value! Result: named template processed with passed value! Attribute Value Templates and variables Test: <xsl:variable name="color">red</xsl:variable> <FONT COLOR="{$color}">Red Text</FONT> Desired Result:Red Text Result:Red Text Axis Identifiers (these should work, I need more test cases though) Test: <xsl:if test="descendant::z">true</xsl:if> Desired Result: true Result: true Test: <xsl:if test="not(descendant-or-self::no-element)">true</xsl:if> Desired Result: true Result: true Test: <xsl:value-of select="count(x/attribute::*)"/> Desired Result: 1 Result: 1 Creating Elements with xsl:element and xsl:attribute Test: <xsl:element name="FONT"> <xsl:attribute name="COLOR">blue</xsl:attribute> Passed </xsl:element> Desired Result: Passed Result: Passed Using Attribute Sets Test: <FONT xsl:use-attribute-sets="style1"> Passed </FONT> Desired Result: Passed Result: Passed Test: <xsl:element name="FONT" use-attribute-sets="style1 style2"> Passed </xsl:element> Desired Result: Passed Result: Passed Numbering (only simple numbering currently implemented) Test: <xsl:number value="4"/> Desired Result: 4 Result: 4 Test: see source Desired Result: 1. x 1. y 1. z Result: 1. x 1. y 1. z Additive Expressions Test: <xsl:value-of select="70+4"/> Desired Result: 74 Result: 74 Test: <xsl:value-of select="-70+4"/> Desired Result: -66 Result: -66 Test: <xsl:value-of select="1900+70+8-4"/> Desired Result: 1974 Result: 1974 Test: <xsl:value-of select="(4+5)-(9+9)"/> Desired Result: -9 Result: -9 Multiplicative Expressions Test: <xsl:value-of select="7*4"/> Desired Result: 28 Result: 28 Test: <xsl:value-of select="7mod 4"/> Desired Result: 3 Result: 3 Test: <xsl:value-of select="7div 4"/> Desired Result: 1.75 Result: 1.75 Test: <xsl:value-of select="7div 0"/> Desired Result: Infinity Result: Infinity Test: <xsl:value-of select="0 div 0"/> Desired Result: NaN Result: NaN Test: <xsl:variable name="x" select="7*3"/> <xsl:variable name="y" select="3"/> <xsl:value-of select="$x div $y"/> Desired Result: 7 Result: 7 Precedence tests Test: <xsl:value-of select="2 mod 2 = 0"/> Desired Result: true Result: true Test: <xsl:value-of select="5 mod 2 < 5 and 2*6 >= 12"/> Desired Result: true Result: true Test: <xsl:value-of select="5 mod 2 < 5 and 2*6>12"/> Desired Result: false Result: false Test: <xsl:value-of select="4+5*3"/> Desired Result: 19 Result: 19 Test: <xsl:value-of select="4+5*3+(6-4)*7"/> Desired Result: 33 Result: 33 Automatic Result Type Conversion Test: <xsl:value-of select="'747' + 8"/> Desired Result: 755 Result: 755