Omówione poniżej są dwa typy elementów: elementy top-level (najwyższego poziomu) oraz instrukcje. Element najwyższego poziomu musi pojawić się jako dziecko elementu
<xsl:stylesheet>
lub <xsl:transform>
. Z drugiej strony instrukcja jest powiązana z szablonem. Arkusz może zawierać kilka szablonów. Trzecim typem elementów, nie omówionym tutaj, jest element wyniku literałowego (literal result element - LRE). LRE również pojawia się wewnątrz szablonu. Składa się z dowolnego elementu (nie będącego instrukcją), który powinień być skopiowany jak-jest do dokumentu wynikowego. Przykładem jest element <hr>
w arkuszu konwersji HTML.
Podobnie dowolny atrybut w LRE i niektóre atrybuty z ograniczonej liczby elementów XSLT mogą również włączać to, co znane jest pod nazwą szablonu wartości atrybutu. Szablon wartości atrybutu jest po prostu łańcuchem znaków zawierającym osadzone wyrażenie XPath, które jest używane jako wartość atrybutu. W czasie uruchomienia wyrażenie jest oceniane, a wynik jest podstawiany zamiast wyrażenia XPath. Przykładowo: zakładając, że zmienna "<tt>image-dir</tt>" jest zdefiniowana następująco:
<xsl:variable name="image-dir">/images</xsl:variable>
Wykonywane wyrażenie jest umieszczone w nawiasach klamrowych:
<img src="{$image-dir}/mygraphic.jpg"/>
Rezulat będzie następujący:
<img src="/images/mygraphic.jpg"/>
Poniższy spis elementów zawiera opis każdego z nich: składnię, listę wymaganych i opcjonalnych atrybutów, opis typu i pozycji, źródło w rekomendacji W3C oraz opis stopnia, w jakim te elementy są obecnie obsługiwane przez Gecko.
- xsl:apply-imports
- xsl:apply-templates
- xsl:attribute
- xsl:attribute-set
- xsl:call-template
- xsl:choose
- xsl:comment
- xsl:copy
- xsl:copy-of
- xsl:decimal-format
- xsl:element
- xsl:fallback (nieobsługiwany)
- xsl:for-each
- xsl:if
- xsl:import (przeważnie obsługiwany)
- xsl:include
- xsl:key
- xsl:message
- xsl:namespace-alias (nieobsługiwany)
- xsl:number (częściowo obsługiwany)
- xsl:otherwise
- xsl:output (częściowo obsługiwany)
- xsl:param
- xsl:preserve-space
- xsl:processing-instruction
- xsl:sort
- xsl:strip-space
- xsl:stylesheet (częściowo obsługiwany)
- xsl:template
- xsl:text (częściowo obsługiwany)
- xsl:transform
- xsl:value-of (częściowo obsługiwany)
- xsl:variable
- xsl:when
- xsl:with-param