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.
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 >.3
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 ?>.4
<?PITarget PIContent?>The XML Declaration at the beginning of an XML document (shown below) is another example of a processing instruction,5 however it may not technically be considered one.6
<?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.7 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.8
A draft specification for Robots exclusion standard rules inside XML documents uses processing instructions.9
External links
- XML specification section: Processing Instructions
- XSLT FAQ: Processing Instructions, Dave Pawson
- xslt:processing-instruction, Mozilla
References
Stayton, Bob (September 2007). "Chapter 9. Customization methods §Processing instructions". DocBook XSL: The Complete Guide. Sagehill Enterprises. ISBN 978-0974152134. 978-0974152134 ↩
Comparison of SGML and XML; World Wide Web Consortium Note, 15 December 1997 http://www.w3.org/TR/NOTE-sgml-xml-971215 ↩
Bryan, Martin (1997). SGML and HTML Explained. Addison Wesley Longman. ISBN 0-201-40394-3. Retrieved 2010-08-18. 0-201-40394-3 ↩
Hossein Bidgoli (2004). The Internet encyclopedia, Volume 3. John Wiley and Sons. p. 877. ISBN 0-471-22203-8. 0-471-22203-8 ↩
"XML 1.0 - slide "Processing Instructions (PIs)"". www.w3.org. Retrieved 2023-02-08. https://www.w3.org/Consortium/Offices/Presentations/XML1.0/slide30-0.htm ↩
Elliotte Rusty Harold, W. Scott Means (2004). XML in a nutshell. p. 23. ISBN 978-0-596-00764-5. 978-0-596-00764-5 ↩
"Associating Style Sheets with XML documents 1.0 (Second Edition)". http://www.w3.org/TR/xml-stylesheet/ ↩
"Part 2. FO Processing Instruction Reference". http://docbook.sourceforge.net/release/xsl/current/doc/pi/pi-fo.html ↩
"Robots Processing Instruction Homepage". Archived from the original on 2010-09-21. Retrieved 2010-08-18. https://web.archive.org/web/20100921021126/http://www.atrus.org/writings/technical/robots_pi/ ↩