Referencia XSLT 1.0
Elementos de XSLT
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 | xsl:for-each | xsl:if | xsl:import | xsl:include | xsl:key | xsl:message | xsl:namespace-alias | xsl:number | xsl:otherwise | xsl:output | xsl:param | xsl:preserve-space | xsl:processing-instruction | xsl:sort | xsl:strip-space | xsl:stylesheet | xsl:template | xsl:text | xsl:transform | xsl:value-of | xsl:variable | xsl:when | xsl:with-param|
Atributos de XSLT
case-order | cdata-section-elements | count | data-type | decimal-separator | digit | disable-output-escaping | doctype-public | doctype-system | elements | encoding | exclude-result-prefixes | extension-element-prefixes | format | from | grouping-separator | grouping-size | href | id | indent | infinity | lang | letter-value | level | match | media-type | method | minus-sign | mode | name | namespace | NaN | omit-xml-declaration | order | pattern-separator | per-mille | percent | priority | result-prefix | select | standalone | stylesheet-prefix | terminate | test | use | use-attribute-sets | value | version | xml:space | xmlns:xsl | zero-digit |
Elementos de XSLT
El elemento xsl:apply-imports permite buscar la plantilla adecuada para el nodo de contexto. Para ello se tienen en cuenta los nodos de contexto importados a través de xsl:import. |
Elementos padre |
Elementos hijo |
Atributos |
Con ayuda de este elemento se selecciona un conjunto de nodos que serán procesados con las plantillas adecuadas. Mediante el atributo select se procesarán sólo los elementos hijo seleccionados. De no realizarse una selección se incluirán todos los elementos hijos. |
Elementos padre |
Elementos hijo |
Se utiliza para crear atributos en el documento de salida. El nombre de la característica se define a través del atributo name y su valor se corresponde con el contenido de xsl:attribute. |
Elementos padre |
Elementos hijo |
Con este elemento se definen conjuntos de atributos (xsl:attribute). Con el atributo name se le asigna un nombre al conjunto, de manera que es posible hacer referencia al mismo mediante el atributo xsl:use-attribute-sets. |
Elementos padre |
Elementos hijo |
Atributos |
Este elemento se usa para invocar una plantilla por su nombre. Con el atributo name se especifica el nombre del elemento xsl:template que se desea invocar. |
Elementos padre |
Elementos hijo |
Atributos |
Con este elemento se define una elección entre varias alternativas. Para ello se combina con dos elementos hijo. Con xsl:when se pueden establecer condiciones para las diferentes alternativas. En caso de que se cumpla la condición de un elemento xsl:when, se crea una instancia del contenido correspondiente en el documento de salida. En caso de que no se cumpla ninguna condición, se ejecutará el elemento xsl:otherwise. Mediante xsl:otherwise se añade un valor predeterminado al documento de salida. |
Elementos padre |
Elementos hijo |
Atributos |
Sirve para añadir comentarios en el documento de salida. |
Elementos padre |
Elementos hijo |
Atributos |
Copia un nodo de contexto en el documento de salida. Se trata de una copia superficial, en la que los diferentes atributos y elementos hijo no son tenidos en cuenta. |
Elementos padre |
Elementos hijo |
Atributos |
Copia un nodo de contexto en el documento de salida. En este caso se trata de una copia completa, de manera que se incluirán en la misma los posibles atributos y elementos hijo del nodo. Mediante el atributo obligatorio select se selecciona los nodos o conjunto de nodos que serán copiados en el documento de salida. |
Elementos padre |
Elementos hijo |
Atributos |
Define el formato de salida para los números decimales. |
Elementos padre |
Elementos hijo |
Atributos |
Crea elementos XML en el documento de salida. El nombre del elemento se define mediante el atributo name. El contenido del elemento se corresponde con el del elemento xsl:element. |
Elementos padre |
Elementos hijo |
Atributos |
Define un fragmento de código a ejecutar en caso de que una nueva versión de XSLT o extensión no sea reconocida. |
Elementos padre |
Elementos hijo |
Atributos |
Crea un bucle que se ejecuta para cada uno de los nodos de contexto seleccionados. El atributo obligatorio select determina la selección de los nodos de contexto. |
Elementos padre |
Elementos hijo |
Con este elemento se crea un proceso condicionado. Para la evaluación se define un elemento booleano para el atributo test. En caso de que la condición se cumpla (true), se crea una instancia del contenido de xsl:if. |
Elementos padre |
Elementos hijo |
Incluye una hoja de estilo XSLT externa en el documento de salida. La hoja de estilo externa aparecerá en el documento de salida en el lugar que ocupa el elemento xsl:import. El elemento xsl:import es un elemento de alto nivel, lo que quiere decir que sólo puede aparecer en el nivel más alto como hijo de xsl:stylesheet. El valor del atributo href deberá ser una dirección URI válida. La diferencia con respecto a xsl:include consiste en la menor precedencia que poseen las plantillas importadas. |
Elementos padre |
Elementos hijo |
Atributos |
Incluye una hoja de estilo XSLT externa en el documento de salida. La hoja de estilo externa aparecerá en el documento de salida en el lugar que ocupa el elemento xsl:include. El elemento xsl:include es un elemento de alto nivel, lo que quiere decir que sólo puede aparecer en el nivel más alto como hijo de xsl:stylesheet. El valor del atributo href deberá ser una dirección URI válida. La diferencia con respecto a xsl:import consiste en la mayor precedencia que poseen las plantillas importadas. |
Elementos padre |
Elementos hijo |
Atributos |
Declara una clave para la búsqueda de nodos. |
Elementos padre |
Elementos hijo |
Se emplea para mostrar un mensaje durante el proceso de transformación en el procesador XSLT. Si el valor del atributo opcional terminate se establece en "yes", se finalizará la transformación en el lugar correspondiente. Con el valor por defecto "no" continua la ejecución del proceso. Con ayuda de este elemento es posible reconocer lo que ocurre durante el procesamiento de la hoja de estilo. A través de los mensajes de error es posible además identificar las partes de la hoja de estilo que son defectuosas. |
Elementos padre |
Elementos hijo |
Se usa para sustituir un espacio de nombres en la hoja de estilos por otro espacio de nombres en el documento de salida. |
Elementos padre |
Elementos hijo |
Atributos |
Este elemento asigna un valor numérico a la posición de un elemento en el documento de salida y sirve por lo tanto para la numeración. A través del atributo count se especifica qué elemento debe ser contado. |
Elementos padre |
Elementos hijo |
Atributos |
Con este elemento se puede asignar un valor predeterminado que se incluirá en el documento de salida en caso de que no se cumpla ninguna de las condiciones establecidas por xsl:when. |
Elementos padre |
Elementos hijo |
Atributos |
Este elemento define el formato del documento de salida que será generado. |
Elementos padre |
Elementos hijo |
Atributos |
Con este elemento se declaran parámetros. Si el elemento xsl:param es de alto nivel, se declara un parámetro global que será válido para toda la hoja de estilo. De no ser así, los parámetros tendrán validez local. A través del atributo name se especifica el nombre del parámetro. El valor del parámetro se puede definir mediante el atributo select, o bien a través del contenido del elemento. |
Elementos padre |
Elementos hijo |
Con este elemento puede especificarse qué elementos deben conservar los espacios en blanco. En principio, este elemento está definido en XSLT por defecto y es válido para todos los elementos. En caso de que se use xsl:strip-space para eliminar espacios en blanco, se podrá especificar mediante xsl:preserve-space y su atributo elements qué elementos deberán conservar los espacios en blanco. |
Elementos padre |
Elementos hijo |
Atributos |
Genera una instrucción de procesamiento en el documento de salida. Con el atributo obligatorio name se le asigna un nombre a la instrucción. |
Elementos padre |
Elementos hijo |
Como elemento hijo de xsl:templates o xsl:for-each, xsl:sort permite ordenar nodos. |
Elementos padre |
Elementos hijo |
Atributos |
Elimina espacios en blanco en el documento de origen. Con el atributo obligatorio elements se seleccionan los elementos, en los cuales se eliminarán los espacios en blanco. Se eliminarán los nodos de texto que sólo contengan espacios en blanco. |
Elementos padre |
Elementos hijo |
Atributos |
Elemento raíz en una hoja de estilo XSLT. De modo opcional es posible usar también xsl:transform como elemento raíz. |
Elementos padre |
Elementos hijo |
Atributos |
Con este elemento se definen un conjunto de reglas (plantilla) que indican cómo deben procesarse los nodos. A través del atributo match se establecen los nodos a los que se aplicará la plantilla. Con el atribulo opcional name se le puede asignar un nombre a la plantilla, el cual se puede invocar por medio de xsl:call-template. |
Elementos padre |
Elementos hijo |
Permite añadir texto de forma literal en el documento de salida. |
Elementos padre |
Elementos hijo |
Atributos |
Elemento raíz en una hoja de estilo XSLT. De modo opcional es posible usar también xsl:stylesheet como elemento raíz. |
Elementos padre |
Elementos hijo |
Atributos |
Este elemento añade el valor de un nodo en el documento de salida. Mediante el atributo obligatorio select se seleccionan los nodos de los que se extraerá el contenido. |
Elementos padre |
Elementos hijo |
Atributos |
Mediante este elemento podemos definir variables. Cuando se usa como elemento de alto nivel se definen variables globales, que son válidas en toda la hoja de estilo. De no ser así, las variables tendrán validez local. A través del atributo name se especifica el nombre de la variable. El valor de la variable se puede definir mediante el atributo select, o bien a través del contenido del elemento. |
Elementos padre |
Elementos hijo |
Establece una comprobación dentro del elemento xsl:choose, en el cual se define una elección entre varias alternativas. Para la evaluación se define un elemento booleano para el atributo test. En caso de que la condición se cumpla (true), se crea una instancia del contenido correspondiente. |
Elementos padre |
Elementos hijo |
Se define el valor de un parámetro que se pasará a una plantilla. Si hay asignados valores para el atributo select del elemento xsl:param, estos servirán como valores estándar en el documento. Con el atributo obligatorio name de xsl:with-param se puede especificar el nombre del parámetro. A través del atributo opcional select se pueden asignar otros valores para un parámetro. |
Elementos padre |
Elementos hijo |
Atributos de XSLT
Determina si en la ordenación con xsl:sort se deben ordenar primero las minúsculas (lower-first) o las mayúsculas (upper-first). |
Valores |
Valor predeterminado |
Elementos |
Determina en xsl:output los elementos cuyo contenido aparecerá en el resultado como sección CDATA. |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:number qué nodos deben ser numerados. Para ello debe indicarse un criterio de búsqueda valido a través de una expresión XPath. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:sort una clave de ordenación numérica (number) o alfabética (text). |
Valores |
Valor predeterminado |
Elementos |
Determina en xsl:decimal-format el carácter de separación entre el número entero y los decimales. |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:decimal-format el carácter utilizado para indicar el lugar en un modelo de formato donde debe aparecer un dígito. |
Valores |
Valor predeterminado |
Elementos |
Indica en los elementos xsl:text o xsl:value-of si caracteres especiales (p.ej. <, &, >) deben aparecer tal cual en el resultado. |
Valores |
Valor predeterminado |
Elementos |
Especifica el identificador público a usar en la declaración de salida <!DOCTYPE>. |
Valores |
Valor predeterminado |
Elementos |
Especifica el identificador de sistema a usar en la declaración de salida <!DOCTYPE>. |
Valores |
Valor predeterminado |
Elementos |
Indica en xsl:preserve-space o xsl:strip-space los elementos en los que se debe conservar o no los espacios en blanco. Para ello los elementos deben aparecer en una lista separada por espacios en blanco. |
Valores |
Valor predeterminado |
Elementos |
Especifica en xsl:output la codificación de caracteres que el procesador debe utilizar (p.ej. UTF-8). |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:stylesheets o xsl:transform los espacios de nombres que se excluirán en el documento de salida. |
Valores |
Valor predeterminado |
Elementos |
Determina los espacios de nombre en xsl:stylesheet o xsl:transform para utilizar elementos de extensión. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:number el formato de salida para los números generados (p.ej. 1, a, i, etc). |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:number el lugar desde donde comienza la cuenta. Para ello se debe indicar una expresión XPath válida. |
Valores |
Valor predeterminado |
Elementos |
Determina en xsl:number o xsl:decimal-format el carácter que debe usarse como separador de grupo. |
Valores |
Valor predeterminado |
Elementos |
Especifica en xsl:number el número de dígitos de un grupo. |
Valores |
Valor predeterminado |
Elementos |
Determina en xsl:import o xsl:include el URI de la hoja de estilo que se va a importar o incluir. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:stylesheet o xsl:transform un identificador para la hoja de estilo. |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:output si en el documento de salida se debe aplicar sangría para mostrar la estructura jerárquica. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:decimal-format el texto para representar el valor de infinito. |
Valores |
Valor predeterminado |
Elementos |
Determina el alfabeto a usar para ordenar (xsl:sort) o para numerar (xsl:number). El valor consiste en códigos de dos letras que identifican las distintas lenguas según ISO 639:1 (p.ej. es para español o en para inglés). |
Valores |
Valor predeterminado |
Elementos |
Se utiliza en xsl:number para distinguir entre una secuencia de numeración alfabética o tradicional. |
Valores |
Valor predeterminado |
Elementos |
Determina el modo en que se cuentan los nodos según su posición en el árbol. "Single" numera los nodos pertenecientes al mismo nivel (hermanos) de manera secuencial; "any" numera los nodos con independencia de su nivel o estructura; "multiple" numera asignando un número compuesto que indica la posición jerárquica del nodo. |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:key o xsl:template un patrón de búsqueda (expresión XPath) para los nodos. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:output el tipo de soporte (tipo MIME) para los datos en el resultado. |
Valores |
Valor predeterminado |
Elementos |
Establece el formato de salida en xsl:output (p.ej. "xml", "html", "text"). |
Valores |
Valor predeterminado |
Elementos |
Especifica en xsl:decimal-format el carácter que representa al signo negativo. |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:template el modo con el que se procesa una plantilla. Este atributo define un nombre completo que sólo permite aplicar elementos xsl:template cuyo atributo mode tenga el mismo valor. |
Valores |
Valor predeterminado |
Elementos |
Define el nombre que tendrá el elemento en cuestión. |
Valores |
Valor predeterminado |
Elementos |
Define un espacio de nombres para un nuevo atributo o elemento en xsl:attribute o xsl:element. |
Valores |
Valor predeterminado |
Elementos |
Define la cadena de texto a utilizar cuando el valor no es un número. |
Valores |
Valor predeterminado |
Elementos |
Establece si se debe omitir la declaración XML en el docuemto de salida. |
Valores |
Valor predeterminado |
Elementos |
Con este atributo se define en xsl:sort una ordenación ascendente ("ascending") o descendente ("descending"). |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:decimal-format el carácter que separa patrones de formato positivos y negativos. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:decimal-format el carácter a usar como separador de miles. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:decimal-format el carácter a usar como signo de porcentaje. |
Valores |
Valor predeterminado |
Elementos |
Define la prioridad de un elemento xsl:template. En caso de que haya varias plantillas definidas para un nodo, es posible con este atributo establecer la preferencia. |
Valores |
Valor predeterminado |
Elementos |
Establece en xsl:namespace-alias el prefijo a usar en el correspondiente espacio de nombres del documento de salida. |
Valores |
Valor predeterminado |
Elementos |
Define el criterio de selección o de búsqueda. Para ello se debe indicar el patrón de búsqueda mediante una expresión XPath. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:output si se debe o no generar una DTD independiente. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:namespace-alias el prefijo del espacio de nombres a usar en la hoja de estilo. |
Valores |
Valor predeterminado |
Elementos |
Determina si la transformación debe terminar en caso de que se muestre el mensaje de xsl:message. |
Valores |
Valor predeterminado |
Elementos |
Indica la condición que debe probarse en xsl:if o xsl:when. |
Valores |
Valor predeterminado |
Especifica en xsl:key el valor de la clave. |
Valores |
Valor predeterminado |
Elementos |
Define una lista de otros conjuntos de atributos a usar en xsl:attribute-set. |
Valores |
Valor predeterminado |
Elementos |
Determina en xsl:number un número al que se debe dar formato. |
Valores |
Valor predeterminado |
Elementos |
Establece la versión de la hoja de estilo XSLT. La versión usada actualmente es 1.0. |
Valores |
Valor predeterminado |
Elementos |
Define el tratamiento de los espacios en blanco del documento XML de origen. |
Valores |
Valor predeterminado |
Elementos |
Declara en el elemento raíz el espacio de nombres xsl que debe usarse para cada elemento XSLT de la hoja de estilo, para evitar conflictos con otros elementos. |
Valores |
Valor predeterminado |
Elementos |
Define en xsl:decimal-format el carácter a utilicar para representar el cero. |
Valores |
Valor predeterminado |
Elementos |