سینتکس 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 ویندوز.
۱۰. نامگذاری عناصر
- میتواند شامل حروف، اعداد و کاراکترهای دیگر باشد
- نباید با عدد یا علامت نگارشی شروع شود
- نباید با
xml(به هر شکلی مثل Xml، XML) شروع شود - نباید شامل فاصله باشد
- بهتر است کوتاه و توصیفی باشد؛ مثلاً
<book_title>بهجای<the_title_of_the_book>
<first_name>، <last_name> — از زیرخط بهجای فاصله و همه با حروف کوچک. یک سبک را انتخاب کنید و در کل سند به آن پایبند بمانید.عناصر خالی
عنصری که محتوایی ندارد را میتوان بهصورت خودبسته نوشت:
<تصویر src="logo.png"></تصویر> ✅ روش اول
<تصویر src="logo.png"/> ✅ روش دوم (خودبسته)
سند خوشساخت در برابر معتبر
- خوشساخت (Well-Formed): سندی که همه قوانین بالا را رعایت کند. XML بدون این ویژگی اصلاً XML نیست!
- معتبر (Valid): سند خوشساختی که بهعلاوه با قواعد DTD یا XML Schema هم مطابقت داشته باشد.
این مبحث بخشی از دوره آموزش کامل XML است.