Document.createProcessingInstruction()
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
BCD tables only load in the browser