قوانین گرامری XML

قوانین دستور زبان XML ساده و منطقی هستند. این قوانین به راحتی یاد می‌شوند و استفاده از آن‌ها آسان است.

مستندات XML باید دارای عنصر ریشه باشند

مستندات XML باید یکعنصر ریشه، این عنصر والد تمام عناصر دیگر استعنصر والد:

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

در این مثال،<note> عنصر ریشه است:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>George</to>
  <from>John</from>
  <heading>یادآوری</heading>
  <body>نفرامند از جلسه!</body>
</note>

پیش‌نویس XML (XML Prolog)

این خط به عنوان XML پیش‌نویس:

<?xml version="1.0" encoding="UTF-8"?>

پیش‌نویس XML اختیاری است. اگر وجود دارد، باید در اولین خط مستند قرار گیرد.

مستندات XML می‌توانند حروف بین‌المللی را شامل شوند، به عنوان مثال نروژی øæå یا فرانسوی êèé.

برای جلوگیری از خطا، باید کدگذاری مورد استفاده را مشخص کنید و مستند XML را به عنوان UTF-8 ذخیره کنید.

UTF-8 کدگذاری پیش‌فرض مستندات XML است.

شما می‌توانید درآموزش مجموعه‌های حروفدر حال یادگیری کدگذاری حروف قرار دارد.

توضیح:UTF-8 نیز کدگذاری پیش‌فرض HTML5، CSS، JavaScript، PHP و SQL است.

تمام عناصر XML باید دارای برچسب پایان باشند

در XML، حذف برچسب پایان غیرقانونی است. تمام عناصر بایدلازم استبا برچسب پایان:

<p>این یک پاراگراف است.</p>
<br />

توجه داشته باشید:پیش‌نویس XML برچسب پایان ندارد! این یک خطا نیست. پیش‌نویس بخشی از XML نیست. این یک عنصر XML نیست و نیاز به برچسب پایان ندارد.

برچسب‌های XML تفاوت بین حروف بزرگ و کوچک را تشخیص می‌دهند

برچسب‌های XML تفاوت بین حروف بزرگ و کوچک را تشخیص می‌دهند. برچسب <Letter> با برچسب <letter> متفاوت است.

برچسب‌های شروع و پایان باید با همان حروف بزرگ و کوچک استفاده شوند:

<message>این درست است</message>

کامنت:باز کردن و بستن برچسب‌ها معمولاً به عنوان برچسب‌های شروع و پایان شناخته می‌شوند. مهم نیست که شما از کدام اصطلاح استفاده می‌کنید، مفهوم آن‌ها یکسان است.

عناصر XML باید به درستی پیچیده شوند

در HTML ممکن است ببینید که عناصر به درستی پیچیده نشده‌اند:

<b><i>این متن تیره و ایتالیک است</b></i>

در XML، تمام عناصرلازم استدرست پیچیده شدن

<b><i>این متن تیره و ایتالیک است</i></b>

در مثال بالا، معنای صحیح پیچیدگی به این صورت است: زیرا عنصر <i> در داخل عنصر <b> باز شده است، بنابراین باید در داخل عنصر <b> بسته شود.

ارزش ویژگی‌های XML باید بین قوسی قرار گیرند

مانند HTML، XML نیز می‌تواند ویژگی‌ها (زوج نام/مقدار) داشته باشد.

در XML، ارزش‌های ویژگی‌ها باید بین قوسی قرار گیرند:

<note date="12/11/2007">
  <to>George</to>
  <from>John</from>
</note>

مراجع实体

در XML، برخی از کاراکترها دارای معنای خاصی هستند.

اگر شما کاراکتر "<" را در داخل یک عنصر XML قرار دهید، خطا رخ می‌دهد، زیرا پردازش‌کننده آن را به عنوان شروع یک عنصر جدید می‌بیند.

این باعث ایجاد خطای XML می‌شود:

<message>if salary < 1000 then</message>

برای جلوگیری از این خطا، لطفاً ازمراجع实体به جای کاراکتر "<" استفاده کنید:

<message>if salary < 1000 then</message>

در XML، 5 مورد از مراجع پیش‌تعریف شده وجود دارد:

< < کوچکتر از
> > بزرگتر از
& & و
' ' قوسی کوچک
" " قوسی

کامنت:در XML، فقط کاراکتر "<" و "&" واقعاً غیرقانونی هستند. > قانونی است، اما استفاده از > به جای آن یک عادت خوب است.

کامنت‌های XML

زبان نوشتن کامنت در XML به زبان نوشتن HTML بسیار مشابه است:

<!-- This is a comment -->

در میان کامنت‌ها اجازه وجود دو خط تیره نیست:

<!-- This is an invalid -- comment -->

فضاهای خالی در XML حفظ می‌شوند

HTML فضاهای خالی متوالی را به یک فضا خلاصه می‌کند (ادغام می‌کند)، در XML، فضاهای خالی در داخل مستند حذف نمی‌شوند:

XML: سلام           جرج
HTML: سلام جرج

XML خطوط جدید را به صورت LF ذخیره می‌کند.

در برنامه‌های ویندوزی، کارتچرخه (CR) و کارتشمارشی (LF) به عنوان یک جفت برای ذخیره‌سازی خط جدید استفاده می‌شود. این جفت کاراکترها با عملیات شروع یک خط جدید در ماشین تحریر مشابه هستند.

Unix و Mac OSX از LF استفاده می‌کنند.

سیستم‌های قدیمی Mac از CR استفاده می‌کنند.

XML خطوط جدید را به صورت LF ذخیره می‌کند.

XML بهینه

مدارک XML که با قوانین بالا هماهنگ هستند، XML مدارک