Processing Instruction
A Processing Instruction (PI) is an SGML and XML node type, which may occur anywhere in the document, intended to carry instructions to the application.[1][2]
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.
Contents
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 not a processing instruction, however its similar syntax has often resulted in it being referred to as a processing instruction.[5]
<?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.[6] 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.[7]
A draft specification for Robots exclusion standard rules inside XML documents uses processing instructions.[8]
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- XML specification section: Processing Instructions
- XSLT FAQ: Processing Instructions, Dave Pawson
- xslt:processing-instruction, Mozilla
<templatestyles src="Asbox/styles.css"></templatestyles>
- ↑ Chapter 9. Customization methods: Processing instructions
- ↑ Comparison of SGML and XML; World Wide Web Consortium Note, 15 December 1997
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.w3.org/TR/xml-stylesheet/
- ↑ http://docbook.sourceforge.net/release/xsl/current/doc/pi/pi-fo.html
- ↑ http://www.atrus.org/writings/technical/robots_pi/