سینتکس XML

قوانین نگارشی XML — تگ بسته، حساسیت به حروف، پرولوگ، عناصر خالی و کاراکترهای خاص

قوانین سینتکس XML

سینتکس XML بسیار ساده و منطقی است اما سخت‌گیرانه. یک خطای کوچک کل سند را از کار می‌اندازد. قوانین اصلی را یک‌به‌یک بررسی می‌کنیم:

۱. همه عناصر باید تگ بسته داشته باشند

در HTML بعضی تگ‌ها را می‌توان باز گذاشت، اما در XML هرگز:

<p>این یک پاراگراف است        ❌ غلط
<p>این یک پاراگراف است</p>    ✅ درست
<br>                          ❌ غلط
<br/>                         ✅ درست (تگ خودبسته)

۲. تگ‌ها به حروف بزرگ و کوچک حساس هستند

تگ‌های باز و بسته باید دقیقاً یکسان نوشته شوند:

<Message>سلام</message>   ❌ غلط (M و m فرق دارند)
<Message>سلام</Message>   ✅ درست
<message>سلام</message>   ✅ درست
توجه کنید که <Message> و <message> دو عنصر متفاوت محسوب می‌شوند، نه دو شکل از یک عنصر!

۳. تگ‌ها باید به‌درستی تودرتو شوند

<b><i>متن</b></i>     ❌ غلط (تداخل)
<b><i>متن</i></b>     ✅ درست

قانون ساده: عنصری که بعدتر باز می‌شود باید زودتر بسته شود — مثل پرانتزها در ریاضی.

۴. سند باید یک عنصر ریشه داشته باشد

<root>
    <child>...</child>
    <child>...</child>
</root>

۵. مقادیر ویژگی‌ها باید داخل نقل‌قول باشند

<تاریخ روز=14/2>      ❌ غلط
<تاریخ روز="14/2">    ✅ درست (دو نقل‌قول)
<تاریخ روز='14/2'>    ✅ درست (تک نقل‌قول)

۶. کاراکترهای خاص باید escape شوند

پنج کاراکتر در XML معنی خاص دارند و برای استفاده در متن باید با موجودیت‌ها (Entities) جایگزین شوند:

کاراکترموجودیتتوضیح
<<کوچک‌تر از
>>بزرگ‌تر از
&&امپرسند
""دو نقل‌قول
''تک نقل‌قول
<قیمت> 10 < 20 </قیمت>        ✅ نمایش: 10 < 20
<قیمت> اگر 10 < 20 باشد </قیمت>  ❌ خطا! مرورگر فکر می‌کند تگ جدید شروع شده

۷. کامنت‌گذاری در XML

<!-- این یک کامنت است -->
داخل کامنت نمی‌توانید از دو خط تیره پشت‌سرهم (--) استفاده کنید و کامنت‌ها قابل تودرتو نیستند.

۸. فاصله‌های سفید حفظ می‌شوند

در HTML چند فاصله پشت‌سرهم به یک فاصله فشرده می‌شوند، اما XML همه فاصله‌ها را نگه می‌دارد. این یعنی:

سلام     دنیا

در XML دقیقاً با همین فاصله‌ها ذخیره و نمایش داده می‌شود.

۹. خط جدید با LF ذخیره می‌شود

XML از کاراکتر LF (Line Feed) برای خط جدید استفاده می‌کند؛ نه ترکیب CR+LF ویندوز.

۱۰. نام‌گذاری عناصر

یک تکنیک خوب نام‌گذاری: <first_name>، <last_name> — از زیرخط به‌جای فاصله و همه با حروف کوچک. یک سبک را انتخاب کنید و در کل سند به آن پایبند بمانید.

عناصر خالی

عنصری که محتوایی ندارد را می‌توان به‌صورت خودبسته نوشت:

<تصویر src="logo.png"></تصویر>    ✅ روش اول
<تصویر src="logo.png"/>            ✅ روش دوم (خودبسته)

سند خوش‌ساخت در برابر معتبر

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

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