عناصر در XML

24 اردیبهشت 1399
درسنامه درس 3 از سری آموزش XML
XML-03

با قسمت دوم از سری آموزش XML همراه شما هستیم. در این درس به موضوع عناصر XML می پردازیم.

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

عناصر XML چه هستند؟

به هر چیزی که از تگ شروع یک عنصر تا تگ پایان عنصر را شامل شود، یک عنصر XML می گویند. مثالی از عنصر XML را مشاهده می کنید:

<price>29.99</price>

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

  • متن
  • صفات و ویژگی ها
  • عناصر دیگر
  • ترکیبی از موارد بالا
<bookstore>
  <book category="children">
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

شرح مثال بالا:

تگ های <title> ،<author> ،<year> و <price> محتوای متنی دارند یعنی شامل متنی مثل 29.99 هستند. تگ های <bookstore> و <book> محتوایی شامل عناصر دارند زیرا داخل این تگ ها عناصر XML قرار دارند. تگ <book> یک ویژگی دارد ("catgeory = "children).

عناصر XML خالی

عنصری که هیچگونه محتوایی نداشته باشد (بین دو تگ)، اصطلاحا عنصر خالی می نامند. در XML می توانید با استفاده از تگ های باز و بسته و نیز بدون قراردادن محتوایی بین آن ها، یک عنصر خالی ایجاد کنید. بنابراین عناصر خالی را مانند آن چه در کد مثال زیر آمده است، نشان می دهند:

<element></element>

همچنین به جای استفاده کردن از روش بالا می توانید با بستن تگ، تنها یکبار آن تگ را بکار ببرید. کد زیر را مشاهده کنید:

<element />

دو شکل بالا برای نمایش عناصر خالی، نتایج یکسانی را برای نرم افزارهای XML (آن هایی که XML را می خوانند، پارسرها و مرورگرها) نشان خواهد داد.

نکته: توجه کنید که عناصر خالی یا empty element می توانند صفت یا ویژگی داشته باشند. خالی بودن تنها با عدم وجود محتوا بین دو تگ و باز و بسته اشاره دارد.

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

عناصر XML جهت نامگذاری باید قوانین زیر را رعایت کنند:

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

هر نامی را می توان استفاده کرد، هیچ کلمه ای جز xml رزرو شده نیست.

بهترین شیوه های نامگذاری

از نام های توصیف کننده و با معنی استفاده کنید، مانند: <person> ،<firstname> ،<lastname>.

از نام های آسان و کوتاه استفاده کنید، مانند: <book_title> نه نامی مانند <the_title_of_the_book>

از بکار بردن "-" پرهیز کنید. اگر نام انتخابی شما چیزی مانند "first-name" باشد، تعدادی از نرم افزار ممکن است تصور می کنند شما می خواهید "name" را زیر مجموعه "first" قرار دهید.

از بکار بردن "." پرهیز کنید. اگر نام انتخابی شما چیزی مانند "first.name" باشد، تعدادی از نرم افزارها ممکن است تصور کنند که "name" یکی از ویژگی های شی یا آبجکت "first" است.

از بکار بردن ":" پرهیز کنید. دو نقطه برای فضاهای نام یا namespaces رزرو شده است. در قسمت بعد مطالبی در رابطه با آن مشاهده خواهد شد.

حروف غیرانگلیسی مانند éòá بکار نبرید. با این که کاملا مجاز هستید چنین کاری کنید اما اگر نرم افزار شما آن ها را پشتیبانی نکند، با مشکلات عدیده ای روبرو می شوید.

استایل نامگذاری

استایل و شیوه ی نامگذاری خاصی برای عناصر XML نداریم. اما برخی حالت های معمول را در اینجا ارائه کرده ایم:

شیوه مثال شرح
حروف کوچک <firstname> همه حروف کوچک هستند.
حروف بزرگ <FIRSTNAME> همه حروف بزرگ هستند.
آندرلاین <first_name> با آندرلاین کلمات را از یکدیگر جدا می کنیم.
به فرم پاسکال <FirstName> اولین حرف هر کلمه با حروف بزرگ است.
camel case <firstName> به جز کلمه اول، اولین حرف هر کلمه با حروف بزرگ است.

اگر شیوه ی خاصی را از بین شیوه های بالا انتخاب کردید، کار درستی کردید!

اگر با پایگاه ها داده یا database ها کار کرده باشید، می دانید که آن ها از قوانین در شیوه نامگذاری بهره می برند. در اغلب موارد اسناد یا فایل های XML از قوانین  شیوه های نامگذاری در پایگاه های داده استفاده می کنند. بنابراین یک روش درست دیگر که آن را توصیه می کنیم این است که از این قوانین برای سبک کار و شیوه نامگذاری در اسناد XML استفاده کنید.

نکته: camel case معمول ترین شیوه ی نامگذاری در قوانین نامگذاری جاوا اسکریپت است.

عناصر XML گسترش پذیرند

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

به مثال XML زیر نگاه کنید:

<note>
  <to>Tove</to>
  <from>Jani</from>
  <body>Don't forget me this weekend!</body>
</note>

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

xml

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

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

سوال: با این توصیفات و اضافه شدن اطلاعات و شکل جدیدی که در بالا آمده است، آیا برنامه باید متوقف شود و یا با مشکل و خطا مواجه گردد؟

پاسخ: خیر. زیرا برنامه ی ما هنوز هم می تواند عناصر را در سند XML ذکر شده، پیدا کند. در نهایت همانند خروجی که ارائه شد، می تواند تولید کند.ا

این یکی از زیبایی های XML است. یک فایل یا سند XML می تواند بدون کمترین مشکلی مانند آن چه که در مثال آمد، گسترش یابد.

تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری آموزش XML توصیه می‌کند:
نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.