سبد (0)

آموزش CDATA-XML

تمام نوشته‌های داخل یک سند XML توسط تحلیل‌گر، تحلیل می‌شوند.

اما نوشته‌های داخل یک قسمت CDATA از دید تحلیل‌گر نادیده  گرفته می‌شوند.


(داده کاراکتری تحلیل شده)PCDATA - Parsed Character Data

تحلیل کننده XML در حالت معمولی تمام نوشته‌های درون سند XML را تحلیل می‌کند.

زمانی که یک عنصر XML تحلیل می‌شود، نوشته‌های بین آن عنصر نیز تحلیل می‌شود:

<message>This text is also parsed</message>

تحلیل کننده این کار را انجام میدهد، زیرا عناصر XML میتوانند شامل عناصر دیگر نیز باشند، ماننده این مثال که عنصر <name> شامل دو عنصر دیگر می‌باشد (first و last):

<name><first>Bill</first><last>Gates</last></name>

و تحلیل کننده آن را می‌شکند و به عناصر زیرشاخه تبدیل می‌کند، ماننده این:

<name>
  <first>Bill</first>
  <last>Gates</last>
</name>

داده کاراکتری تحلیل شده (PCDATA) یک اصطلاح استفاده شده در مورد داده‌های متنی است که می‌توانند توسط تحلیل‌گر XML تحلیل شوند.


داده کاراکتری (تحلیل نشده) -CDATA - (Unparsed) Character Data

اصطلاح CDATA برای داده‌های متنی استفاده می‌شوند که نباید توسط تحلیلگر XML تحلیل شوند.

کاراکتر‌هایی مثل "<" و "&" در عناصر XML غیر غانونی هستند.

"<" یک خطا تولید خواهد کرد زیرا تحلیلگر فکر می‌کند که این شروع یک عنصر جدید است.

"&" یک خطا تولید می‌کند زیرا تحلیل‌گر گمان می‌کند که این شروع یک کاراکتر است.

بعضی از متن‌ها ماننده کد‌های جاوااسکریپت شامل تعداد زیادی کاراکتر "<" یا "&" هستند.برای جلوگیری از خطاها، کد اسکریپت می‌تواند به عنوان CDATA تعریف شود.

هرچیزی که درون  قسمت CDATA باشد توسط تحلیلگر نادیده گرفته می‌شود.

یک قسمت CDATA توسط "]CDATA]!>" شروع می‌شود و با "<[[" تمام می‌شود:

<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
  {
  return 1;
  }
else
  {
  return 0;
  }
}
]]>
</script>

در مثال بالا هرچیزی که داخل قسمت CDATA قرار گیرد از دید تحلیل‌گر نادیده گرفته می‌شود.

نوشته‌های داخل قسمت CDATA :

یک قسمت CDATA نمی‌تواند شامل رشته‌ی "<[[" باشد. قسمت‌های CDATA به صورت تودرتو پشتیبانی نمی‌شود.

"<[[" که پایان قسمت CDATA را مشخص می‌کند نمی‌تواند شامل فضای خالی یا خط جدید باشد.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه