Adds a processing instruction node to the result tree.


<xsl:processing-instruction name = "pi_name">



The XSLT processor interprets the name attribute as an attribute value template, and uses the resulting string as the target of the created processing instruction. The XSLT processor then instantiates the contents of xsl:processing-instruction to generate the remaining contents of the processing instruction.

Errors are reported under the following conditions:

  • If the string that results from evaluating the name attribute is not both an NCName and a PITarget (see the XSLT Recommendation). Also, the value of the name attribute cannot be xml.
  • If instantiation of the contents of the xsl:processing-instruction element creates anything other than characters or if the resulting string contains the substring "?>".


<xsl:processing-instruction name = "xml-stylesheet"> 
  href="book.css" type="text/css"


This instruction creates the following processing instruction in the result document:

<?xml-stylesheet href="book.css" type="text/css"?>


Free Stylus Studio XML Training:
W3C Member