هي عبارة عن إضافة النصوص التي لا تشكل جزءا من المستن و إنما تخص الشخص الذي يقراء شفرة XML نفسها .
إذ صادف لك وتعاملت من قبل مع أي لغة برمجة فانك تعرف تماما ماذا تعنى بالتعليقات .
وهى تستخدم لوضع بها تعليقات تصف بعض الفقرات و الاكواد لكي تساعدك في فهم شفره مستندات XML
ولكنها ليست مهمة بالدرجة مثلما في إي لغة برمجة أخري حيث أن لغة XML لغة تصف البينات إي أنها ذاتية الوصف تساعدك على فهمها .
تبدأ التعليقات بالرمز < !— وتنتهي بالرمز -- > مثل التعليقات في HTML
مثلا ..

4) العناصر الفارغة Empty Elements
قد توجد في بعض مستندات XML عناصر فارغة من البينات
فمثلا ...
في هذه الحالة تقدم لك XML الحل الأفضل والبديل الذي تكون فيه لا تحتاج إلى معرف نهاية End Tag فتكتب بهذا الشكل
< last/>
على أن يكون العنصر ثم الرمز "/" بدون لاحقة النهاية المعتادة وهى الحالة الوحيدة التي لا تستخدم فيها لواحق النهايات .
ولو أجريت تجربة بسيطة داخل معرب XML المدمجة بمتصفح إنترنت اكسبلورر 5.5 وكتبت الشفرة التالية
أنها سوف تظهر بالشكل التالي
5) تصريح XML XML Declaration
تعد التصاريح في تعريف مستندات XML بأنها تتبع نوعا معينا بالإضافة إلي إعطاء المعرب التعليمات الأخرى
فمثلا هذا التصريح
وهو يجب أن يكون في بداية مستندات XML وليس معنى عدم وجوده يسبب الخطأ ولكن الأفضل تعريف المستندات .
شرح التصريح السابق
- فبدا تصريح XML بالرمز < ?xml و ينتهي بالرمز ? >
<?
- إذا أضفت تصريح XML يجب أن تضيف أيضا الصفة version أما بالنسبة للصفتين Encoding و Standalonge بهذا الترتيب .
- حاليا فان الإصدار Version يجب أن يكون يحوى القيمة 1.0 إذا قمت بوضع رقم غير هذا الرقم فان XML المكتوب للتعامل مع مواصفات XML الإصدار 1.0 سترفض المستند .
- يجب أن يأتي هذا التصريح في أول سطر في مستند XML كما ذكرنا .
الصفة الثانية في تصريح XML هي Encoding
صفة التشفير Encoding Attributes , لو رجعنا إلى درسنا الأول في هذه السلسلة والذي تحدثنا فيه عن البيانات وأنواعها فلا تستغرب إذا عرفت أن النصوص تخزن في الحاسب على شكل أرقام باعتبار أن الأرقام هي اللغة ألام للحاسب فمثلا الحرف a يمثل في جدول الـ ASCII الرقم 97 والحرف A يمثل الرقم 65 .
هناك نوعان من شفرة ASCII الشفرة القياسية والتي تتكون من سبعة بتات والشفرة الموسعة والتي تتكون من ثمانية بتات أي أن شفرة ASCII الموسعة تستخدم بايتا واحدا لكل رمز وبالتالي فان الشفرة لا يمكن استيعابا اكثر من 256 رمز مختلف فهو كافي لتمثيل كل الحروف الأبجدية الإنجليزية الكبيرة والصغيرة بالإضافة إلى العلامات والأرقام ولكن غير كافي لتمثيل لغات أخرى مثل العربية أو اليابانية ... الخ
لهذا السبب وجدت الشفرة الموحدة Unicode .
بعد هذه المقدمة نرجع إلى مثالنا السابق جملة تصريح XML عند الصفة
encoding=’UTF-16'
هنا تم ضبط التشفير لمستند XML على انه Unicode وذلك بوضع UTF-16
لذا فقد نصت مواصفات XML على استخدام شفره موحدة عالمية لتمثيل البيانات ولكن للأسف فان القليل يستخدم هذه الشفرة والعديد يستخدم شفرات أخرى مثل ISO-88591 وشفرة windows-1252
ملاحظة إذ لم تقم بتحديد شفرة إي انك لم تقم بوضع هذه الصفة أصلا أن معرب XML يقراء المستند بشفرة UTF-8 أو UTF-16
الصفة الأخيرة في تصريح XML هي صفة Standalone
وهى تعنى أن المستند قائم بذاتية فإذا قمت بإضافة هذه الصفة إلى تصريح XML فإنه لهذه الصفة قيمتين yes وno
تشير القيمةyes إلى أن المستند قائم بذاته ولا يعتمد على أي ملفات أخرى
تشير القيمة No إلى أن المستند يمكن إن يكون معتمد أو مرتبطا بملفات أخرى.
6 ) رموز نصوص PCDATA غير مسموح بها .
تعرفنا سابقا بالمقصود بالمصطلح PCDATA وعرفنا انه مصطلح مستخدم من قبل SGML يشير إلى البيانات النصية الموجودة داخل العناصر , فتوجد بعض القوانين تحكم هذه البيانات النصية عند كتابتها لفادى الأخطاء أثناء عمل معرب XML .
فهناك بعض الرموز المحجوزة التي لا تستطيع تضمينها في بينات PCDATA لان تركيب XML يستخدمها من هذه الرموز < والرمز &
فمثلا ..
عند تشغيل هذه الشفرة على المتصفح سوف تعرض لك الخطأ بهذا الشكل ..
هذا يعنى انه عندما يصل المعرب إلى الرمز < سيتوقع أن يجد اسما لمعرف Tag وبدلا من ذلك فقد وجد فراغ Space وحتى إن تجاوز المعرب هذا الخطأ فإنه سيتوقف عند خطا أخر عندما يصل إلى الرمز “ & “
فلا تقلق فهناك طريقتان تمكنك من تضمين هذه الرموز ضمن PCDATA إما أن تستخدم الرموز المرادفة Escaping Characters أو أن تستخدم قسم CDATA