ساختار درخت XML

مدخل XML یک ساختار درختی دارد، که از "ریشه" شروع می‌شود و سپس به "برگ‌ها و شاخه‌ها" گسترش می‌یابد.

ساختار درخت XML

درخت گره‌های DOM

مثال مدخل XML

این تصویر نمادی از لیست کتاب‌های این XML است:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="آشپزی">
  <title lang="fa">گفتگوهای آشپزی</title>
  <author>یانگ شیاچیو</author>
  <press>ناشر هنر و فرهنگ جیانگسو</press>
  <year>2013</year>
  <price>35</price>
  <ISBN>9787539962771</ISBN>
</book>
<book category="کودکان">
  <title lang="fa">پدر شگفت‌انگیز جغد</title>
  <author>رولد دارل</author>
  <translator>داوی</translator>
  <press>ناشر فردا</press>
  <year>2009</year>
  <price>10</price>
  <ISBN>9787533259563</ISBN>
</book>
<book category="ادبیات">
  <title lang="fa">تغییر آشنا به ناشناخته</title>
  <author>زیگموند باومان</author>
  <author>پیتر هافنا</author>
  <translator>ونگ لی‌چیو</translator>
  <press>ناشر دانشگاه نانجینگ</press>
  <year>2023</year>
  <price>68</price>
  <ISBN>9787305269387</ISBN>
</book>
<book category="علمی">
  <title lang="fa">آیا می‌خواهی پرواز کنی، مانند پرنده؟</title>
  <author>ریچارد داگینز</author>
  <author>یانا رنزووا</author>
  <translator>گائوتین یو</translator>
  <press>نشر علم و فناوری هونان</press>
  <year>2023</year>
  <price>88</price>
  <ISBN>9787571019075</ISBN>
</book>
<book category="سیاسی" cover="رکاب">
  <title lang="zh">مقاله در مورد دموکراسی آمریکا</title>
  <author>تاکویل</author>
  <translator>دونگ جولیانگ</translator>
  <press>چاپخانه تجارت</press>
  <year>1989</year>
  <price>60</price>
  <ISBN>9787100124553</ISBN>
</book>
</bookstore>

ساختار درخت XML

عناصر مستند XML یک درختدرخت عناصر.

این درخت ازعنصر ریشهاز ابتدا شروع می‌کنند و تاعناصر فرعی.

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

همه عناصر می‌توانند عناصر فرعی داشته باشند:

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

واژگان مانند والد، فرزند و برادران برای توضیح روابط بین عناصر استفاده می‌شوند.

عنصر والد دارای عناصر فرعی است. عناصر فرعی نیز دارای عنصر والد خود هستند. عناصر در سطح مشابه به عنوان برادران و خواهران (همطبقه) شناخته می‌شوند.

همه عناصر می‌توانند محتوای متنی (مثلاً یاشو تانگ چوان) و ویژگی‌ها (category="غذا و نوشیدنی"), مانند HTML، داشته باشند.

زبان خود توضیح‌دهنده

XML از یک زبان ساده و خود توضیح‌دهنده استفاده می‌کند:

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>جرج</to>
<from>جان</from>
<heading>یادآوری</heading>
<body>لا تنسى الاجتماع!</body>
</note>

اولین سطر یک اعلام XML است. نسخه XML (1.0) و کدگذاری استفاده شده (ISO-8859-1 = Latin-1/زبان‌های اروپای غربی) را تعریف می‌کند.

سطر بعدی توضیح مستند را می‌دهدعنصر ریشه(مثل اینکه می‌گویند: «این مستند یک یادداشت است»):

<note>

4 سطر بعدی توضیح ریشه را می‌دهد 4 عناصر فرعی(to, from, heading و body):

<to>جرج</to>
<from>جان</from>
<heading>یادآوری</heading>
<body>لا تنسى الاجتماع!</body>

السطر الأخير يعرف نهاية العنصر الجذر:

</note>

من خلال هذا المثال يمكن التفكير أن وثيقة XML هذه تحتوي على بطاقة ورقية من جانب John إلى George.

هل توافق على أن XML يمتلك خاصية التوصيف الذاتي الرائعة؟