Document.createProcessingInstruction()

createProcessingInstruction() は新しい処理命令ノードを生成して返します。

新しいノードは node.insertBefore のように、あらゆることを成立させるために XML 文書に挿入されます。

構文

js
piNode = document.createProcessingInstruction(target, data);

引数

  • piNode は結果の ProcessingInstruction ノードです。
  • target は処理命令の最初の部分 (つまり <?target … ?>) を含む文字列です。
  • data は target の後に処理命令が伝えるすべての情報を含む文字列です。このデータはあなた次第ですが、 ?> は処理命令を閉じるので含むことができません。

例外

DOM_INVALID_CHARACTER

以下の何れかが真になると例外を投げます。

  • 処理命令の target が無効である — 有効な *XML 名*とは、 "xml", "XML" またはその 2 つの大文字・小文字の組み合わせであり、 <?xml-stylesheet ?> のような標準化されたものではないものです。
  • closing processing instruction sequence (?>) がdata に含まれている。

js
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/>

仕様書

Specification
DOM Standard
# ref-for-dom-document-createprocessinginstruction①

ブラウザーの互換性

BCD tables only load in the browser