createProcessingInstruction()
generates a new processing instruction node and returns it.
The new node usually will be inserted into an XML document in order to accomplish anything with it, such as with node.insertBefore
.
Syntax
piNode = document.createProcessingInstruction(target, data)
Parameters
piNode
is the resultingProcessingInstruction
node.target
is a string containing the first part of the processing instruction (i.e.,<?target … ?>
)data
is a string containing any information the processing instruction should carry, after the target. The data is up to you, but it can't contain?>
, since that closes the processing instruction.
Exceptions
DOM_INVALID_CHARACTER
- Throws if either of the following are true:
- The processing instruction
target
is invalid — it should be a valid XML name that doesn't contain "xml", "XML", or any case combination of the two, other than standardized ones such as<?xml-stylesheet ?>
. - The closing processing instruction sequence (
?>
) is part of thedata
.
- The processing instruction
Example
var doc = new DOMParser().parseFromString('<foo />', 'application/xml'); var pi = doc.createProcessingInstruction('xml-stylesheet', 'href="mycss.css" type="text/css"'); doc.insertBefore(pi, doc.firstChild); console.log(new XMLSerializer().serializeToString(doc)); // Displays: <?xml-stylesheet href="mycss.css" type="text/css"?><foo/>
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'createProcessingInstruction()' in that specification. |
Living Standard | No change |
DOM4 The definition of 'createProcessingInstruction()' in that specification. |
Obsolete | Added more explicit definition of how the data parameter is validated. |
Document Object Model (DOM) Level 3 Core Specification The definition of 'createProcessingInstruction()' in that specification. |
Obsolete | Added note that the namespace of the target name is not checked whether it is well-formed, defined what is considered an illegal character for the target name and specified the returned ProcessingInstruction object more precisely. |
Document Object Model (DOM) Level 2 Core Specification The definition of 'createProcessingInstruction()' in that specification. |
Obsolete | No change |
Document Object Model (DOM) Level 1 Specification The definition of 'createProcessingInstruction()' in that specification. |
Obsolete | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
createProcessingInstruction | Chrome Full support 1 | Edge Full support 12 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown