ایکس ایم ال عناصر

سند XML شامل عناصر XML است.

عنصر XML چیست؟

عنصر XML به تمام محتوای بین (شامل) برچسب شروع عنصر تا (شامل) برچسب پایان عنصر اطلاق می‌شود.

<price>29.99</price>

یک عنصر می‌تواند شامل باشد:

  • متن
  • ویژگی‌ها
  • عناصر دیگر
  • یا بالاتر
<bookstore>
<book category="غذا">
  <title lang="zh">گفتگوی یاشا در مورد خوراکی</title>
  <author>لیانگ شیاچیو</author>
  <press>نشر جیانگسو هنری</press>
  <year>2013</year>
  <price>35</price>
  <ISBN>9787539962771</ISBN>
</book>
<book category="کودکان">
  <title lang="zh">پدر شامپانزه‌ای بی‌نظیر</title>
  <author>رولد دارل</author>
  <translator>داوید</translator>
  <press>نشر فردا</press>
  <year>2009</year>
  <price>10</price>
  <ISBN>9787533259563</ISBN>
</book>
</bookstore>

در مثال بالا:

عناصر <title>، <author>، <year> و <price> دارندمحتوای متن، زیرا آنها متن (مثلاً 29.99) را شامل می‌شوند.

<bookstore> و <book> دارندمحتوای عنصر، زیرا آنها عناصر را شامل می‌شوند.

<book> یک داردویژگی‌ها (مثلاً: category="کودکان")

عنصر XML خالی

عناصر بدون محتوای خوانده شده به عنوان عنصر خالی نامیده می‌شوند.

در XML، می‌توانید به این صورت عنصر خالی را نشان دهید:

<element></element>

شما همچنین می‌توانید از برچسب‌های خودبسته استفاده کنید:

<element />

این دو فرمت در نرم‌افزار XML (خواننده، تحلیل‌گر، مرورگر) نتایج مشابهی ایجاد می‌کنند.

تذکر:عنصر خالی نیز می‌تواند ویژگی‌ها داشته باشد.

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

عنصر XML باید از قوانین نام‌گذاری زیر پیروی کند:

  • عنوان عنصر تفاوت بین حروف بزرگ و کوچک دارد
  • عنوان عنصر باید با حرف یا زیرخط شروع شود
  • عنوان عنصر نمی‌تواند با حروف xml (یا XML، Xml و غیره) شروع شود
  • عنوان عنصر می‌تواند حروف، اعداد، خط تیره، زیرخط و نقطه را شامل شود
  • عنوان عنصر نتوانید فاصله را شامل کنید

می‌توان از هر نامی استفاده کرد، بدون اینکه واژه‌های محفوظ وجود داشته باشد. (به جز xml).

بهترین عملکرد نام‌گذاری

نام باید توصیفی باشد، مانند:<person>، <firstname>، <lastname>.

نام باید کوتاه باشد، مانند:<book_title>، نه مانند:<the_title_of_the_book>.

از استفاده از کاراکتر "-" خودداری کنید. اگر به این شکل نام‌گذاری کنید: "first-name"، برخی از نرم‌افزارها ممکن است شما را قصد دارید که از "first" به "name" بکاهید.

از استفاده از کاراکتر "." خودداری کنید. اگر به این شکل نام‌گذاری کنید: "first.name"، برخی از نرم‌افزارها ممکن است "name" را به عنوان ویژگی "first" در نظر بگیرند.

از استفاده از کاراکتر ":" خودداری کنید. کاراکتر دو نقطه به عنوان فضای نام استفاده می‌شود (بعداً توضیح داده خواهد شد).

حروف غیرانگلیسی مانند éòá نیز نام‌گذاری عناصر XML هستند، اما باید توجه داشت که ممکن است مشکلاتی رخ دهد اگر توسعه‌دهندگان نرم‌افزار این حروف را پشتیبانی نکنند.

نقشه‌برداری نام‌گذاری

نقشه‌برداری‌های معمول نام‌گذاری عناصر XML:

نوع مثال توضیح
کوچک <firstname> تمام حروف کوچک شوند
بزرگ <FIRSTNAME> تمام حروف بزرگ شوند
مارمولک <first_name> با خط زیر علامت‌گذاری شود (معمولاً در پایگاه داده‌های SQL استفاده می‌شود)
پاسکال <FirstName> هر کلمه اولین حرف بزرگ شود (معمولاً توسط برنامه‌نویسان C استفاده می‌شود)
بالای کوه <firstName> بجز اولین کلمه، اولین حرف هر کلمه بزرگ شود (معمولاً در JavaScript استفاده می‌شود)

تذکر:سبک نام‌گذاری خود را انتخاب کنید و از آن پیروی کنید!

مستندات XML اغلب یک پایگاه داده‌ای دارند که در آن فیلدها با عناصر مستندات XML مطابقت دارند.

یک تجربه عملی وجود دارد: از قوانین نام‌گذاری پایگاه داده برای نام‌گذاری عناصر مستندات XML استفاده کنید.

عناصر XML قابل توسعه هستند

عناصر XML قابل توسعه هستند تا اطلاعات بیشتری را حمل کنند.

لطفاً نمونه زیر XML را ببینید:

<note>
  <to>George</to>
  <from>John</from>
  <body>Don't forget the meeting!</body>
</note>

بیایید فرض کنیم که ما برنامه‌ای ایجاد کرده‌ایم که <to>، <from> و <body> عناصر را استخراج کرده و به تولید خروجی زیر می‌پردازد:

پیام
به: George
از: John
ملاقات را فراموش نکن!

فکر کن، بعد از آن، نویسنده این مستند XML برخی اطلاعات اضافی به این مستند اضافه کرده است:

<note>
  <date>2008-01-10</date>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

آیا این برنامه خواهد شکست یا از کار خواهد افتاد؟

خیر. این برنامه همچنان می‌تواند عناصر <to>، <from> و <body> در مستند XML را پیدا کند و همان خروجی را تولید کند.

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