آموزش CDATA-XML
تمام نوشتههای داخل یک سند XML توسط تحلیلگر، تحلیل میشوند.
اما نوشتههای داخل یک قسمت CDATA از دید تحلیلگر نادیده گرفته میشوند.
(داده کاراکتری تحلیل شده)PCDATA - Parsed Character Data
تحلیل کننده XML در حالت معمولی تمام نوشتههای درون سند XML را تحلیل میکند.
زمانی که یک عنصر XML تحلیل میشود، نوشتههای بین آن عنصر نیز تحلیل میشود:
تحلیل کننده این کار را انجام میدهد، زیرا عناصر XML میتوانند شامل عناصر دیگر نیز باشند، ماننده این مثال که عنصر <name> شامل دو عنصر دیگر میباشد (first و last):
و تحلیل کننده آن را میشکند و به عناصر زیرشاخه تبدیل میکند، ماننده این:
<first>Bill</first>
<last>Gates</last>
</name>
داده کاراکتری تحلیل شده (PCDATA) یک اصطلاح استفاده شده در مورد دادههای متنی است که میتوانند توسط تحلیلگر XML تحلیل شوند.
داده کاراکتری (تحلیل نشده) -CDATA - (Unparsed) Character Data
اصطلاح CDATA برای دادههای متنی استفاده میشوند که نباید توسط تحلیلگر XML تحلیل شوند.
کاراکترهایی مثل "<" و "&" در عناصر XML غیر غانونی هستند.
"<" یک خطا تولید خواهد کرد زیرا تحلیلگر فکر میکند که این شروع یک عنصر جدید است.
"&" یک خطا تولید میکند زیرا تحلیلگر گمان میکند که این شروع یک کاراکتر است.
بعضی از متنها ماننده کدهای جاوااسکریپت شامل تعداد زیادی کاراکتر "<" یا "&" هستند.برای جلوگیری از خطاها، کد اسکریپت میتواند به عنوان CDATA تعریف شود.
هرچیزی که درون قسمت CDATA باشد توسط تحلیلگر نادیده گرفته میشود.
یک قسمت CDATA توسط "]CDATA]!>" شروع میشود و با "<[[" تمام میشود:
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>
در مثال بالا هرچیزی که داخل قسمت CDATA قرار گیرد از دید تحلیلگر نادیده گرفته میشود.
نوشتههای داخل قسمت CDATA :
یک قسمت CDATA نمیتواند شامل رشتهی "<[[" باشد. قسمتهای CDATA به صورت تودرتو پشتیبانی نمیشود.
"<[[" که پایان قسمت CDATA را مشخص میکند نمیتواند شامل فضای خالی یا خط جدید باشد.
- نوشته شده توسط میلاد نظری
- بازدید: 8424