--- title: Document.createProcessingInstruction() slug: Web/API/Document/createProcessingInstruction tags: - API - DOM - Document - Method - Reference - createProcessInstruction translation_of: Web/API/Document/createProcessingInstruction ---
{{APIRef("DOM")}}

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

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

構文

piNode = document.createProcessingInstruction(target, data)

引数

例外

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

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

仕様書

仕様書 状態 備考
{{SpecName('DOM WHATWG', '#dom-document-createprocessinginstruction', 'createProcessingInstruction()')}} {{Spec2('DOM WHATWG')}} 変更なし
{{SpecName('DOM4', '#dom-document-createprocessinginstruction', 'createProcessingInstruction()')}} {{Spec2('DOM4')}} data 引数の検証方法のもっと詳細な定義を追加した。
{{SpecName('DOM3 Core', 'core.html#ID-135944439', 'createProcessingInstruction()')}} {{Spec2('DOM3 Core')}} 対象名の名前空間が正しい形式かどうかチェックされないこと、どの文字が対象名に違反するかの定義、返された {{domxref("ProcessingInstruction")}} オブジェクトのより詳細についてのメモを追加。
{{SpecName('DOM2 Core', 'core.html#ID-135944439', 'createProcessingInstruction()')}} {{Spec2('DOM2 Core')}} 変更なし
{{SpecName('DOM1', 'level-one-core.html#ID-135944439', 'createProcessingInstruction()')}} {{Spec2('DOM1')}} 初回定義

ブラウザーの対応

{{Compat("api.Document.createProcessingInstruction")}}