Document.createCDATASection()‎

من موسوعة حسوب

يُنشئُ التّابع Document.createCDATASection()‎ عقدةَ قسم CDATA جديدةً ويُعيدها.

البنية العامة

CDATASectionNode = document.createCDATASection(data)
  • CDATASectionNode
يُمثّل عقدةً من النّوع CDATASection.
  • data
سلسلةٌ نصيّة تحتوي على البيانات المرغوب إضافتها إلى قسم CDATA.

مثال

var docu = new DOMParser().parseFromString('<xml></xml>',  "application/xml")

var cdata = docu.createCDATASection('هنا عقدة البيانات');

docu.getElementsByTagName('xml')[0].appendChild(cdata);

alert(new XMLSerializer().serializeToString(docu));
// ستَعرضُ
// <xml><![CDATA[هنا عقدة البيانات]]></xml>

ملاحظات

  • يعمل هذا مع مستندات XML فقط، ولا يعمل مع مستندات HTML (لأنّ مُستندات HTML لا تدعم أقسام CDATA)؛ مُحاولة استعمال التّابع مع مُستندات HTML سترمي الاستثناء NOT_SUPPORTED_ERR.
  • سترمي كذلك الاستثناء NS_ERROR_DOM_INVALID_CHARACTER_ERR في حالة مُرّرت سلسلة الإغلاق ‎"‎]]>‎"‎ كجزءٍ من البيانات، لذا لا يُمكن استعمال بيانات مُزوَّدة من طرف المُستخدم بأمان دون تهريبها (unescaped) ودون رمي هذا الاستثناء (يُمكن استخدام التّابع document.createTextNode‎()‎ مكان هذا التّابع).

مصادر ومواصفات