عناصر XML

دокумент XML شامل عناصر XML است

عنصر XML چیست؟

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

<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"، برخی از نرم‌افزارها ممکن است شما را قصد داشته باشید که "name" را از "first" کم کنید.

از استفاده از کاراکتر "." خودداری کنید. اگر به این صورت نام‌گذاری کنید: "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>Neغور نشوید جلسه!</body>
</note>

بگذارید تصور کنیم که ما برنامه‌ای ایجاد کرده‌ایم که می‌تواند عناصر <to>، <from> و <body> را استخراج کند و به این خروجی دست یابد:

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

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

<note>
  <date>2008-01-10</date>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Neغور نشوید جلسه!</body>
</note>

آیا این برنامه ممکن است قطع یا از کار بیفتد؟

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

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