Document: createProcessingInstruction() メソッド

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

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

構文

js
createProcessingInstruction(target, data)

引数

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

返値

なし (undefined)。

例外

InvalidCharacterError DOMException

以下の何れかが真になると例外が発生します。

  • 処理命令の target の値が有効な XML 名 ではない場合、例えば、数値、ハイフン、ピリオドなどで始まったり、英数字、アンダースコア、ハイフン、ピリオド以外の文字を含んでいたりする場合。
  • closing processing instruction sequence (?>) が data に含まれている場合。

js
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));
// 表示結果: <?xml-stylesheet href="mycss.css" type="text/css"?><foo/>

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser