Elemento <xsl:processing-instruction>
Genera un nodo de instrucción de procesamiento en el resultado.
<xsl:processing-instruction
name = "pi-name">
</xsl: processing-instruction>
Atributos
- name
Necesario. El NCName de la instrucción de procesamiento.
Información del elemento
Número de apariciones |
Ilimitado |
Elementos primarios |
xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, elementos resultantes |
Elementos secundarios |
xsl:apply-imports, xsl:apply-templates, xsl:call-template, xsl:choose, xsl:copy, xsl:copy-of, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:number, xsl:text, xsl:value-of, xsl:variable |
Notas
El elemento <xsl:processing-instruction>
genera un nodo de instrucción de procesamiento en el resultado. El atributo name
indica el nombre. El contenido del elemento proporciona el resto de la instrucción de procesamiento.
La declaración XML no es una instrucción de procesamiento y debe generarse estableciendo atributos en un elemento <xsl:output>
.
Ejemplo
En este ejemplo se muestra una plantilla que genera la declaración XML y una instrucción de procesamiento de la hoja de estilos en el resultado.
Archivo XML (customers.xml)
Archivo XSLT (pi.xsl)
¡Inténtelo!
Copie el código anterior y guárdelo en los archivos adecuados de la unidad local.
Ejecute el ejemplo, mediante la utilidad msxsl.exe disponible en www.microsoft.com/downloads/, desde el símbolo del sistema, de la manera siguiente:
msxsl customers.xml pi.xsl -o new-cust.xml
Resultados
El resultado de esta transformación es el mismo archivo XML con una nueva hoja de estilos en él incrustada. El archivo de salida, new-cust.xml, debe parecerse a este:
<?xml version="1.0" encoding="UTF-16"?>
<?xml-stylesheet type="text/xsl" href="style.xsl" ?>
<customers>
<customer>
<name>James Smith</name>
<address>123 Elm St.</address>
<phone>(123) 456-7890</phone>
</customer>
<customer>
<name>Amy Jones</name>
<address>456 Oak Ave.</address>
<phone>(156) 789-0123</phone>
</customer>
</customers>