El elemento raíz de una hoja XSLT es xsl:stylesheet o xls:transform, que son prácticamente equivalentes. Sus atributos principales son:
version, cuyo valor puede ser 1.0 o 2.0.xmlns:xsl, se utiliza para declarar el espacio de nombres xsl. Para XSLT suele ser la dirección:
http://www.w3.org/1999/XSL/Transform
A los elementos hijos de estos se les conoce como elementos de nivel superior, son estructuras contenedoras de instrucciones. Dado que si son hijos directos no pueden anidarse, excepto xsl:variable y xsl:param. Los más destacados son:
xsl:attribute, añade un atributo a un elemento en el árbol de resultados.xsl:choose, permite decidir que parte de la hoja XSL se va a procesar en función de varios resultados.xsl:decimal-format, define un patrón que permite convertir en cadenas de texto números en coma flotante.xsl:for-each, aplican sentencias a cada uno de los nodos del árbol que recibe como argumento.xsl:if, permite decidir si se va a procesar o no una parte del documento XSL en función de una condiciónxsl:import, importa una hoja de estilos XSLT localizada en una URI dada.xsl:key, define una o varias claves que pueden ser referenciadas desde cualquier lugar del documento.xsl:output, define el tipo de salida que se generará como resultado.xsl:preserve-space, especifica cuales son los elementos del documento XML que no tienen espacios en blanco eliminados antes de la transformación.xsl:sort, permite aplicar un template a una serie de nodos ordenándolos alfabético numéricamente.xsl:strip-space, especifica cuáles son los elementos del documento XML que tienen espacios en blanco eliminados antes de la transformación.xsl:template, es el bloque fundamental de una hoja XSLT, por lo que veremos su descripción en el apartado siguiente.xsl:value-of, calcula el valor de una expresión XPath dada y lo inserta en el árbol de resultados del documento de salida.xsl:variable, asigna un valor a una etiqueta para usarlo cómodamente.