A processing instruction (PI) is an SGML and XML node type, which may occur anywhere in a document, intended to carry instructions to the application.Comparison of SGML and XML; World Wide Web Consortium Note, 15 December 1997
Processing instructions are exposed in the Document Object Model as Node.PROCESSING_INSTRUCTION_NODE, and they can be used in XPath and XQuery with the 'processing-instruction()' command.
Syntax An SGML processing instruction is enclosed within <? and >.
An XML processing instruction is enclosed within <? and ?>, and contains a target and optionally some content, which is the node value, that cannot contain the sequence ?>. <?PITarget PIContent?>
The XML Declaration at the beginning of an XML document (shown below) is another example of a processing instruction, however it may not technically be considered one. <?xml version="1.0" encoding="UTF-8" ?>
Examples The most common use of a processing instruction is to request the XML document be rendered using a stylesheet using the 'xml-stylesheet' target, which was standardized in 1999. It can be used for both XSLT and CSS stylesheets. <?xml-stylesheet type="text/xsl" href="style.xsl"?> <?xml-stylesheet type="text/css" href="style.css"?>
The DocBook XSLT stylesheets understand a number of processing instructions to override the default behaviour.
A draft specification for Robots exclusion standard rules inside XML documents uses processing instructions.
References
External links XML specification section: Processing Instructions XSLT FAQ: Processing Instructions, Dave Pawson xsl:processing-instruction, Mozilla