اعتبارسنجی XML

تفاوت سند خوش‌ساخت و معتبر و روش‌های اعتبارسنجی XML

دو سطح صحت در XML

اسناد XML از نظر صحت دو سطح دارند:

سطحتعریفابزار بررسی
خوش‌ساخت
(Well-Formed)
همه قوانین نگارشی XML رعایت شده: تگ‌ها بسته، تودرتویی درست، یک ریشه، ویژگی‌ها داخل نقل‌قول...خود پارسر XML (اجباری)
معتبر
(Valid)
خوش‌ساخت باشد و به‌علاوه با قواعد تعریف‌شده (DTD یا Schema) مطابقت داشته باشداعتبارسنج DTD/Schema
سند XML همیشه باید خوش‌ساخت باشد وگرنه اصلاً پارس نمی‌شود. اما «معتبر بودن» اختیاری است — بستگی به نیاز پروژه دارد.

مثال: خوش‌ساخت اما نامعتبر

<?xml version="1.0"?>
<person>
    <name>علی</name>
    <age>بیست سال</age>      <!-- اگر Schema بگوید age باید عدد باشد، نامعتبر! -->
</person>

این سند خوش‌ساخت است (قوانین نگارشی OK) اما اگر DTD/Schema تعریف کرده باشیم که age باید عدد صحیح باشد، نامعتبر است.

خطاهای رایج که خوش‌ساختی را خراب می‌کنند

  1. فراموش کردن تگ بسته: <name>علی ❌
  2. عدم تطابق حروف: <Name>...</name> ❌
  3. تودرتویی غلط: <b><i>...</b></i> ❌
  4. چند ریشه: دو عنصر سطح‌اول ❌
  5. ویژگی بدون نقل‌قول: <img src=pic.jpg> ❌
  6. کاراکتر & خام در متن ❌
  7. پرولوگ در خط دوم ❌

ابزارهای اعتبارسنجی

اعتبارسنجی برنامه‌نویسی (PHP)

$doc = new DOMDocument();
$doc->load('books.xml');

if ($doc->validate()) {
    echo "سند معتبر است";
} else {
    echo "سند نامعتبر است!";
}

چرا اعتبارسنجی مهم است؟

در دو درس بعد دو ابزار اصلی اعتبارسنجی — DTD و XML Schema — را کامل یاد می‌گیرید.

این مبحث بخشی از دوره آموزش کامل XML است.

ابزارهای مرتبط