revision:
The createProcessingInstruction() method 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".
createProcessingInstruction(target, data)
Parameters:
piNode : the resulting ProcessingInstruction node.
target : a string containing the first part of the processing instruction (i.e., )
data : 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.
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/>