Document: createCDATASection() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

createCDATASection() は、新しい CDATA セクションを生成して返します。

構文

js
createCDATASection(data)

引数

data

CDATA セクションに追加されるデータを含む文字列です。

返値

CDATA セクションノードです。

js
const docu = new DOMParser().parseFromString("<xml></xml>", "application/xml");
const cdata = docu.createCDATASection("Some <CDATA> data & then some");
docu.querySelector("xml").appendChild(cdata);
console.log(new XMLSerializer().serializeToString(docu));
// 表示結果: <xml><![CDATA[Some <CDATA> data & then some]]></xml>

メモ

  • これは XML でのみ動作し、 HTML 文書では動作しません(HTML 文書は CDATA セクションに対応していません)。 HTML 文書でこれを用いた場合、 NOT_SUPPORTED_ERR が発生します。
  • 引数として渡す文字列データの一部に CDATA を閉じるシーケンス ("]]>") が含まれている場合、 NS_ERROR_DOM_INVALID_CHARACTER_ERR 例外が発生します。エスケープされていないユーザー提供のデータは、このメソッドで例外処理を行わないと、安全に使用できません(多くの場合は createTextNode() で代用できます)。

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser