files/en-us/web/api/document/createprocessinginstruction/index.md
{{APIRef("DOM")}}
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 {{ domxref("node.insertBefore") }}.
createProcessingInstruction(target, data)
piNode
target
<?target … ?>)data
?>, since that closes the processing instruction.None ({{jsxref("undefined")}}).
InvalidCharacterError {{domxref("DOMException")}}
const doc = new DOMParser().parseFromString("<foo />", "application/xml");
const pi = doc.createProcessingInstruction(
"xml-stylesheet",
'href="mycss.css"',
);
doc.insertBefore(pi, doc.firstChild);
console.log(new XMLSerializer().serializeToString(doc));
// Displays: <?xml-stylesheet href="mycss.css" type="text/css"?><foo/>
{{Specifications}}
{{Compat}}