دروس XML للمبتدئين

⚡ ملخص ذكي

لغة XML، وهي لغة الترميز القابلة للتوسيع، تُهيكل البيانات وتخزنها وتنقلها بين الأنظمة باستخدام وسوم وصفية ذاتية التعريف تُحددها بنفسك. يشرح هذا الدليل بنية XML، والتصريحات، والوسوم، والخصائص، والكيانات، وDTD، وDOM، والمخططات، ومساحات الأسماء، ويقارن XML مع HTML وJSON.

  • 📄 ما هو XML؟ لغة XML هي لغة ترميز لنقل البيانات، وليس لعرضها، باستخدام علامات مخصصة تصف المحتوى.
  • 🧱 الوسوم والعناصر: العنصر عبارة عن علامة فتح، ومحتوى، وعلامة إغلاق؛ العلامات حساسة لحالة الأحرف ويجب أن تتداخل وتغلق بشكل صحيح.
  • 🏷️ السمات والكيانات: تضيف السمات تفاصيل داخل علامة البداية، وتمثل الكيانات مثل < الأحرف المحجوزة بأمان.
  • 📏 DTD و Schema: يحدد مخطط DTD أو XSD البنية المسموح بها، ويضيف XSD أنواع البيانات ودعم مساحة الاسم التي يفتقر إليها DTD.
  • 🌳 DOM والمحللات: ينظر نموذج كائن المستند (DOM) إلى المستند على أنه شجرة، بينما تقوم أدوات التحليل مثل DOM و SAX القائمة على الأحداث بقراءة XML والتحقق من صحتها.
  • ؟؟؟؟ XML مقابل HTML مقابل JSON: ينقل XML البيانات باستخدام علامات صارمة وقابلة للتوسيع، على عكس HTML الذي يركز على العرض و JSON الأخف وزنًا والأكثر ملاءمة للمصفوفات.
  • 🤖 مساعدة الذكاء الاصطناعي: يمكن لأدوات الذكاء الاصطناعي إنشاء أو التحقق من صحة مخطط XSD وتحويل XML إلى JSON أو تنسيقات أخرى بسرعة.

دروس XML

ما هو XML؟

XML لتقف على هXموتر MArkupe Lاللغة. هي لغة (وليست لغة برمجة) تستخدم لغة الترميز ويمكن توسيعها. وهي مشتقة من Standard Gمعمم MArkupe Lاللغة (SGML). يستخدم XML أيضًا DTDs (Dاحتلال Tيب] Definitions) لتحديد بنية مستند XML.

لا تستخدم لغة XML في التعامل مع العمليات الحسابية والخوارزميات. وبالتالي، لا تعد لغة XML لغة برمجة. والهدف الرئيسي منها هو نقل البيانات وليس عرض المعلومات. تعمل لغة XML على سد الفجوة بين قابلية القراءة البشرية وقابلية القراءة الآلية. وعلى عكس علامات HTML، فإن علامات XML تصف نفسها بنفسها.

XML هو تنسيق مفتوح. ملحق اسم الملف لـ XML هو .xml

تاريخ XML

بدأت لغة XML في عام 1996 وتم نشرها لأول مرة في عام 1998. World WIDE Web COnsortium (W3C) هو مطور XML، وأصبح أ توصية W3C في 1998.

هناك إصداران من XML.

  1. أكس أم أل 1.0
  2. أكس أم أل 1.1

أكس أم أل 1.1 هو الإصدار الأحدث. حتى الآن، أكس أم أل 1.0 هو الإصدار الأكثر استخدامًا.

محررو XML هم:

  • تيم براي,
  • جان باولي,
  • سي إم سبيربيرج,
  • إيف مالر,
  • فرانسوا ييرجو.

ميزات XML

فيما يلي بعض الميزات المهمة لـ XML:

  • فهو قابل للتمديد وسهل القراءة من قبل البشر.
  • إنها منصة ولغة مستقلة.
  • يحافظ على المساحة البيضاء.
  • البساطة الشاملة.
  • طبيعة وصفية ذاتية.
  • يقوم بفصل البيانات عن HTML.
  • علامات XML غير محددة مسبقًا. تحتاج إلى تحديد العلامات المخصصة الخاصة بك.
  • تم تصميم XML لنقل البيانات، وليس لعرض تلك البيانات.
  • من السهل على الإنسان فهم رمز ترميز XML.
  • التنسيق الجيد التنظيم سهل القراءة والكتابة من البرامج.
  • XML هي لغة ترميزية قابلة للتوسيع مثل HTML.

ترميز XML

الترميز هو تحويل أحرف Unicode إلى تمثيلها الثنائي. يتم استخدام ترميز UTF لترميز XML. UTF لتقف على Uخدمات العملاء (UCS لتقف على Universal Cمتعب Sوآخرون) Tفدية Fتنسيق.

بشكل أساسي، هناك نوعان من ترميز UTF.

  1. UTF-8: يستخدم UTF-8 8 بت لتمثيل الأحرف.
  2. على سبيل المثال:

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

ويستخدم 16 بت لتمثيل الأحرف.

على سبيل المثال:

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

يمكنك استخدام الترميز داخل إعلان XML. UTF-8 هو الترميز الافتراضي في XML.

بناء جملة XML

يعرض مقطع التعليمات البرمجية أدناه بناء جملة XML الأساسي.

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>

إعلان XML

يتكون إعلان XML من إصدار XML، أو ترميز الأحرف و/أو الحالة المستقلة. الإعلان اختياري.

بناء جملة إعلان XML

يعرض مقطع التعليمات البرمجية أدناه بناء جملة إعلان XML.

<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>

قواعد إعلان XML

فيما يلي قواعد إعلان XML.

  • إذا كان إعلان XML موجودًا، فيجب أن يكون أول ما يظهر.
  • تعريف XML حساس لحالة الأحرف، ويجب أن يبدأ بالأحرف الصغيرة <?xml.
  • ليس لديها علامة إغلاق.

مثال لإعلان XML

يُظهر مقطع التعليمات البرمجية التالي مثالاً لإعلان XML.

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

تعليقات XML

التعليقات اختيارية. تساعد إضافة التعليقات على فهم محتوى المستند.

بناء الجملة لتعليقات XML

التعليق يبدأ ب <!– وينتهي مع ->.

يُظهر مقطع التعليمات البرمجية التالي بناء جملة تعليقات XML.

<!-- Add your comment here -->

علامات وعناصر XML

تعمل العلامات كأزواج باستثناء الإعلانات. يتكون كل زوج من العلامات من علامة الافتتاح (المعروف أيضا باسم علامة البداية) و علامة الإغلاق (المعروف أيضا باسم علامة النهاية).

يتم تضمين أسماء العلامات في <>. بالنسبة لزوج علامات معين، يجب أن تكون علامتي البداية والنهاية متطابقتين باستثناء علامة النهاية / بعد <.

<name>...</name>

يشار إلى أي شيء بين علامتي الفتح والإغلاق باسم محتوى.

يُشار إلى علامة الفتح والمحتوى وعلامة الإغلاق معًا باسم العنصر.

Opening tag + content + closing tag = an element

ملاحظة: قد تحتوي العناصر أيضًا على سمات. سوف تتعلم الصفات قريبا جدا.

دعونا نفكر في العنصر أدناه.

<age>20</age>

في العنصر أعلاه

  • السن هي اسم العنصر.

ملاحظة: اسم العلامة يشار إليها أيضًا باسم العنصر or اسم العنصر.

  • – علامة الافتتاح
  • 20 - المحتوى
  • - علامة الإغلاق.

إذا لم يكن هناك محتوى بين العلامات، كما هو موضح أدناه، فيشار إليه باسم العلامات الفارغة.

<result></result>

قواعد علامات وعناصر XML

تظهر القائمة التالية قواعد عناصر وعلامات XML.

  • العلامات حساسة لحالة الأحرف.

على سبيل المثال:

صيح:

<age>20</age>

خطأ:

<age>20</Age>

ملحوظة: العمر, عمر، و السن ثلاثة أسماء مختلفة في XML.

  • يجب أن تحتوي كافة مستندات XML على عنصر جذر واحد.
  • يجب أن تحتوي جميع العناصر على علامة إغلاق (باستثناء الإعلانات).
  • يجب أن يبدأ اسم العلامة بحرف أو شرطة سفلية، ولا يمكن أن يبدأ بـ XML.
  • يمكن أن يحتوي اسم العلامة على أحرف وأرقام وواصلات وشرطات سفلية ونقاط. الشرطة السفلية هي الواصلات، والنقاط هي علامات الترقيم الوحيدة المسموح بها.
  • لا يمكن أن يحتوي اسم العلامة على مسافات.
  • يجب أن تكون متداخلة جميع العناصر بشكل صحيح.

على سبيل المثال:

صيح:

<b><u>This text is bold and italic</u></b>

خطأ:

<b><u>This text is bold and italic.</b></u>

سمات XML

يتم وضع سمة العنصر بعد اسم العلامة في علامة البداية. يمكنك إضافة أكثر من سمة لعنصر واحد بأسماء سمات مختلفة.

دعونا ننظر في وثيقة XML أدناه.

<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>

هناك سمتان في حول الشركة عنصر، أي الاسم و موقع.

دعنا ندرس الاسم ينسب،

  • الاسم = "ABC القابضة" - سمة
  • الاسم - اسم السمة
  • اي بي سي القابضة - قيمة السمة

ملاحظات: حدث اسم السمة يُعرف أيضًا باسم السمة.

لاحظ أيضًا أنه في المثال أعلاه، فإن حول الشركة هي جذر جزء.

قواعد سمات XML

تعرض القائمة أدناه قواعد سمات XML.

  • يجب أن تكون قيم السمات ضمن علامات الاقتباس.
  • لا يمكن أن يحتوي العنصر على عدة سمات بنفس الاسم.

السمة مقابل العنصر

هل مازلت مرتبكًا بشأن الفرق بين السمة والعنصر؟ هنا مثال آخر.

دعونا نفكر في الوثيقتين A وB الواردتين أدناه.

الوثيقة أ:

<teacher subject="English">
<name>Mr. John</name>.
<qualification>Graduate</qualification>
</teacher>

الوثيقة ب:

<teacher>
<subject>English</subject>
<name>Mr. John</name>
<qualification>Graduate</qualification>
</teacher>

في الوثيقة أ، موضوع هو السمة.

في الوثيقة ب موضوع هو العنصر.

كيانات XML

ما هي كيانات XML؟

بعبارات بسيطة، الكيانات هي وسيلة لتمثيل الشخصيات الخاصة. تُعرف الكيانات أيضًا باسم كيان المراجع.

لماذا تحتاج إلى كيانات XML؟

بعض الشخصيات (مثل ", & <وما إلى ذلك) محجوزة في XML. ويشار إليهم باسم أحرف خاصة ولا يمكن استخدامها مباشرة لأغراض أخرى.

على سبيل المثال، < و > تُستخدم الرموز لـ علاماتلا يمكنك كتابة ذلك مباشرة أقل من و أكبر من بدلاً من استخدام الإشارات من لوحة المفاتيح للمحتوى، عليك استخدام الكيانات.

يوضح الجدول التالي بعض كيانات XML الشائعة.

حرف الوصف اسم الكيان الأستعمال
" علامة الاقتباس (علامة اقتباس مزدوجة) مثل "
& العطف amp &
' الفاصلة العليا (اقتباس مفرد) أبوس] '
< Less من التوقيع lt <
> أعظم من الإشارة gt >

على سبيل المثال:

<friend>
<name>My friends are Alice & Jane.</name>
</friend>

HTML مقابل XML

أوجه التشابه بين HTML وXML

تظهر القائمة التالية أوجه التشابه بين HTML وXML.

  • كلاهما تنسيقات مفتوحة.
  • كلاهما لغات ترميزية.
  • يستخدم كلاهما العلامات والسمات لوصف المحتوى.

الاختلافات بين HTML وXML

على الرغم من أن XML يشبه HTML، إلا أن XML ليس بديلاً عن HTML. هناك بعض الاختلافات المهمة بين HTML وXML أيضًا.

يوضح الجدول التالي مقارنة بين لغة HTML ولغة XML.

HTML XML
لتقف على لغة ترميز النصوص التشعبية لغة التوصيف الموسعة
نوع اللغة لغة ترميزية محددة مسبقًا. إطار لتحديد لغات الترميز.
التفاصيل الهيكلية غير مزود. متاح.
الهدف تستخدم لعرض البيانات. تستخدم لنقل البيانات
مدفوعا ب تنسيق مدفوعة. يحركها المحتوى.
الطبيعة لها طبيعة ثابتة. لديه طبيعة ديناميكية.
نوع العلامة العلامات المحددة مسبقًا. العلامات المحددة من قبل المستخدم.
حد العلامة يتوفر عدد محدود من العلامات. العلامات قابلة للتوسعة.
العلامات الختامية ليس من الضروري استخدام علامات الإغلاق (ولكن يوصى باستخدام علامات الإغلاق). العلامات الختامية إلزامية.
دعم مساحة الاسم غير مدعوم. أيد.
حساسية القضية العلامات ليست حساسة لحالة الأحرف. العلامات حساسة لحالة الأحرف.
مساحة بيضاء لا يمكن الحفاظ على المساحة البيضاء (يمكن تجاهل المسافة البيضاء). تم الحفاظ على المساحة البيضاء (لا يمكن تجاهل المساحة البيضاء).
تحليل في Javaسيناريو ليست هناك حاجة إلى أي تطبيق إضافي. بحاجة إلى تنفيذ DOM.
Code التعشيش ليست هناك حاجة بالضرورة. بحاجة.
أخطاء يمكن تجاهل الأخطاء الصغيرة. الأخطاء غير مسموح بها.
ملحق اسم الملف . HTML or . هتم . أكس
المقاس كبيرة نسبيا. صغيرة نسبيا.
العروض علامات الاقتباس غير مطلوبة لقيم السمات. مطلوب لقيم سمات XML.
دعم الكائن يقدم دعم الكائن الأصلي. يجب التعبير عن الأشياء عن طريق الاتفاقيات.
دعم فارغ يتعرف أصلاً على القيمة الخالية. تحتاج إلى استخدام xsi:nil على العناصر.
قرارات التنسيق يوفر خريطة مباشرةping لبيانات التطبيق. تتطلب جهدا أكبر.
منحنى التعلم Less منحنى التعلم حاد مقارنة بـ XML. منحنى التعلم حاد.
الموقع الإلكتروني https://html.spec.whatwg.org/ https://www.w3.org/TR/xml11/

بناء جملة HTML الأساسي

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

</body>
</html>

بناء جملة XML الأساسي

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>

نفس المثال مع HTML وXML

مع HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Book</p>
<p>Name: Anna Karenina</p>
<p>Author: Leo Tolstoy</p>
<p>Publisher: The Russian Messenger</p>
</body>
</html>

مع XML

<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
<publisher>The Russian Messenger</publisher>
</book>

JSON مقابل XML

أوجه التشابه بين JSON وXML

توضح القائمة أدناه أوجه التشابه بين JSON وXML.

  • كلاهما تنسيقات مفتوحة.
  • كلاهما يصف نفسه بنفسه.
  • كلاهما لديه هيكل هرمي.
  • يمكن تحليل كليهما واستخدامهما بواسطة العديد من لغات البرمجة.

الاختلافات بين JSON وXML

هناك العديد من الاختلافات بين XML وJSON أيضًا.

يوضح الجدول أدناه مقارنة بين JSON و XML.

JSON XML
لتقف على Javaتدوين كائنات النص لغة التوصيف الموسعة
ممتد من Javaسيناريو SGML
مخزن البيانات البيانات المخزنة كأزواج قيمة المفتاح. البيانات المخزنة كهيكل شجرة.
مساحات لا يوجد دعم لمساحات الأسماء. يدعم مساحات الأسماء.
التعليقات إضافة التعليقات غير مدعومة. يمكن إضافة تعليقات.
إمكانية الوصول إلى البيانات يمكن الوصول إليها بسهولة ككائنات JSON. البيانات تحتاج إلى تحليل.
بيانات إضافة بيانات التعريف غير مدعومة. يمكن كتابة البيانات الوصفية.
الأنواع أنواع JSON: سلسلة، رقم، صفيف، منطقية. يجب أن تكون جميع بيانات XML سلاسل.
أنواع بيانات الدعم الدعم نص و عدد أنواع البيانات فقط. دعم العديد من أنواع البيانات (النصوص والأرقام والصور وما إلى ذلك)
دعم المصفوفة مزيد من الدعم للمصفوفات مقارنة بـ XML. لا يوجد أو أقل دعم للمصفوفات.
دعم الكائن الدعم الأصلي للكائن. يجب التعبير عن الكائن باستخدام الاصطلاحات.
دعم مجموعة أدوات أجاكس أيد. غير مدعومة بشكل كامل.
استرجاع القيم سهل. صعب.
إلغاء التسلسل/التسلسل مؤتمتة بالكامل. المطورين يجب أن يكتبوا Javaكود البرنامج النصي.
دعم المتصفح مدعوم من قبل معظم المتصفحات. يمكن أن يكون تحليل XML عبر المتصفحات أمرًا صعبًا.
ترميز يدعم فقط ترميز UTF-8. وهو يدعم الترميز المختلفة.
إمكانيات العرض لا توجد إمكانيات العرض. تقديم إمكانيات العرض.
حجم الوثيقة أصغر من XML. أكبر من JSON.
ملحق اسم الملف .json . أكس
الأمن والحماية Less المضمون. أكثر أمانًا من JSON.
سهل القراءة سهل نسبيا. صعبة نسبيا.
منحنى التعلم سهل التعلم. منحنى التعلم حاد.
الموقع الإلكتروني https://www.json.org/json-en.html https://www.w3.org/TR/xml11/

بناء جملة JSON الأساسي

{string:value, .......}

نفس المثال مع JSON وXML

مع جسون

{"books":[
{"name":"Anna Karenina", "author":"Leo Tolstoy"},
{"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
{"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
{"name":"Invisible Man", "author":"Ralph Ellison"}
]}

مع XML

<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
</book>
<book>
<name>One Hundred Years of Solitude</name>
<author>Gabriel Garcia Marquez</author>
</book>
<book>
<name>The Great Gatsby</name>
<author>Scott Fitzgerald</author>
</book>
<book>
<name>Invisible Man</name>
<author>Ralph Ellison</author>
</book>
</books>

XML DTD

ما هو DTD؟

DTD لتقف على Dاحتلال Tيب] Dcom.efinition. فهو يحدد بنية مستند XML باستخدام بعض العناصر القانونية. XML DTD اختياري.

قواعد DTD

تظهر القائمة التالية قواعد DTD.

  • إذا كان DTD موجودًا، فيجب أن يظهر في بداية المستند (فقط إعلان XML يمكن أن يظهر أعلى DTD).
  • يجب أن يبدأ إعلان العنصر بـ ! العلامة.
  • يجب أن يكون اسم DTD ونوع العنصر للعنصر الجذري متماثلين.

أمثلة على DTD

مثال على DTD الداخلي:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT school (#PCDATA)>
]>
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>

في المثال أعلاه ،

  • !DOCTYPE الطالب يشير إلى بداية إعلان DTD. و ال طالب هو العنصر الجذر لمستند XML.
  • !عنصر الطالب يشير إلى طالب يجب أن يحتوي العنصر الاسم الاول الاسم الاخير و مدرسة العناصر.
  • !العنصر الأول يشير إلى الاسم الأول العنصر من النوع #PCDATA (Pبعث Cمتعب البيانات).
  • !عنصر اسم العائلة يشير إلى الكنية العنصر من النوع #PCDATA.
  • !عنصر المدرسة يشير إلى مدرسة العنصر من النوع #PCDATA.

مثال على DTD خارجي:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>

محتوى ملف DTD (student.dtd) كما يلي.

<!ELEMENT student (firstname,lastname,school)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT school (#PCDATA)>

XML دوم

ما هو DOM؟

DOM لتقف على Dاحتلال Oانغماس Mيحدد هذا النموذج طريقة قياسية للوصول إلى مستندات XML ومعالجتها. يحتوي DOM على بنية شجرة (هرمية).

مثال على DOM

دعونا ننظر في وثيقة XML أدناه.

<?xml version="1.0" encoding="UTF-8" ?>
<school>
<student>
<name>
<first_name>Alex</first_name>
<last_name>Clarke</last_name>
</name>
<age>14</age>
<address>No. 35, Flower Road, Leeds</address>
</student>
</school>

سيبدو هيكل الشجرة لملف XML أعلاه كما في الصورة التالية.

XML دوم
مثال XML DOM

التحقق من صحة XML

ما هي مستندات XML جيدة التنسيق؟

حسنة التشكيل مستندات XML هي مستندات XML ذات بناء الجملة الصحيح.

ما هي مستندات XML الصالحة؟

صالح تم تصميم مستندات XML بشكل جيد وتتوافق أيضًا مع قواعد DTD.

مساحات أسماء XML

لماذا مساحات الأسماء؟

تساعد مساحات الأسماء على تجنب تعارضات أسماء العناصر.

إعلان مساحة الاسم

يظهر فيما يلي بناء الجملة لإعلان مساحة الأسماء.

<element xmlns:name="URL">

في التصريح أعلاه،

  • استخدم XMLNS تشير الكلمة الأساسية إلى بداية مساحة الاسم.
  • استخدم الاسم هي بادئة مساحة الاسم.
  • استخدم URL هو معرف مساحة الاسم.

أمثلة على مساحات الأسماء

يُظهر مقطع التعليمات البرمجية التالي مثالاً لمساحات الأسماء.

<?xml version="1.0" encoding="UTF-8" ?>
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">
<abt:founder>Krishna</abt:founder>
<abt:vision>Fun and Free Education for ALL</abt:vision>
</abt:about>

محرري XML

تتوفر العديد من برامج تحرير ملفات XML. يمكن استخدام أي برنامج لتحرير النصوص (مثل المفكرة وغيرها) كمحرر لملفات XML.

تعرض القائمة التالية بعضًا من محررات XML الشائعة.

1) المفكرة XML

برنامج XML Notepad هو محرر مفتوح المصدر لملفات XML. يعرض البرنامج شجرةً ومخرجات XSL في اللوحة اليسرى، ونص العقدة في اللوحة اليمنى. كما يحتوي على نافذة لتصحيح الأخطاء في الأسفل.

الإحصائيات الرئيسية:

  • النوع - محرر XML
  • مطور - Microsoft
  • نظام التشغيل المدعوم – Microsoft Windows.
  • مجاني

الرابط: http://microsoft.github.io/XmlNotepad/


2) ستايلس ستوديو

Stylus Studio هو IDE مكتوب في C++ لغة الترميز القابلة للتوسيع (XML). تسمح للمستخدم بتحرير وتحويل مستندات وبيانات XML مثل تبادل البيانات الإلكترونية (EDI) وملفات CSV والبيانات العلائقية.

الإحصائيات الرئيسية:

  • النوع - بيئة التطوير المتكاملة (IDE) لـ XML
  • المطور – شركة التقدم للبرمجيات
  • نظام التشغيل المدعوم – Microsoft Windows.
  • السعر – مدفوع (يرجى الرجوع إلى الموقع الإلكتروني المذكور أدناه لمعرفة أحدث الأسعار)، تتوفر فترة تجريبية مجانية.

الرابط: http://www.stylusstudio.com/


3) Altova XMLSpy

يُسوّق برنامج XMLSpy بشكل أساسي كمحرر لملفات JSON وXML. ويحتوي على مصمم ومحرر مخططات مدمجين. وهو مُضمّن في بيئة Visual Studio و Eclipse دمج.

الإحصائيات الرئيسية:

  • النوع - محرر XML
  • مطور - Altova
  • نظام التشغيل المدعوم – Microsoft Windows.
  • السعر – مدفوع (يرجى الرجوع إلى الموقع الإلكتروني المذكور أدناه لمعرفة أحدث الأسعار)، تتوفر فترة تجريبية مجانية.

الرابط: https://www.altova.com/xmlspy-xml-editor


4) محرر الأكسجين XML

Oxygen XML هو محرر متعدد المنصات تم تطويره في Javaيساعد في التحقق من صحة المخططات مثل DTD، وW3C XML Schema، وRELAX NG، وSchematron، وNRL، ومخططات NVDL.

الإحصائيات الرئيسية:

  • النوع - محرر XML
  • مطور - Syncآر أو سوفت المحدودة
  • نظام التشغيل المدعوم – Windowsو لينكس و نظام التشغيل Mac OS X
  • السعر – مدفوع (يرجى مراجعة الموقع الإلكتروني المذكور أدناه للاطلاع على أحدث الأسعار)

الرابط: https://www.oxygenxml.com/


5) إكسبليفاي

يوفر محرر Xmplify XML بيئة تحرير مدركة تمامًا لـ XML مع ميزة الإكمال التلقائي المستند إلى DTD و XML Schema، والتحقق التلقائي من صحة المستند، والمزيد.

الإحصائيات الرئيسية:

  • النوع - محرر XML
  • المطور – شركة موسو
  • نظام التشغيل المدعوم – Mac OS.
  • السعر – مدفوع (يرجى مراجعة الموقع الإلكتروني المذكور أدناه للاطلاع على أحدث الأسعار)

الرابط: http://xmplifyapp.com/

موزعي XML

محلل XML هو مكتبة برامج توفر واجهة للعمل مع مستندات XML. يتحقق مما إذا كان تنسيق مستند XML صحيحًا. يمكن لبعض الموزعين أيضًا التحقق من صحة مستندات XML. المتصفحات الحديثة تأتي مع موزعي XML.

SAX

SAX لتقف على Simpl Aبي ل Xمل. إنه ل application pروجرام iواجهة (API) لتحليل مستندات XML. وهو يتصرف بشكل مشابه لمعالجات الأحداث في Java.

على عكس DOM، يعد SAX مثالًا لمحلل XML المعتمد على الأحداث.

فيما يلي بعض الاختلافات المهمة بين SAX و DOM.

SAX DOM
لتقف على واجهة برمجة تطبيقات بسيطة لـ XML طراز كائن المستند
نوع المحلل على أساس الحدث القائم على الكائنات
قراءة وكتابة XML للقراءة فقط قراءة وكتابة
إدراج/تحديث/حذف العقد لا يمكن إدراج/تحديث/حذف العقد يمكن إدراج/تحديث/حذف العقد
كفاءة الذاكرة كفاءة ذاكرة جيدة يختلف
سرعة أبطأ من محلل DOM أسرع من محلل SAX
مناسب ل : ملفات صغيرة الحجم ملفات كبيرة الحجم

ربط بيانات XML

ربط بيانات XML هو تمثيل البيانات في مستند XML ككائن أعمال في ذاكرة الكمبيوتر.

هناك ثلاث طرق لربط بيانات XML.

  • ربط البيانات المستندة إلى مخطط XML: يتم إنشاء فئات XML المقابلة بناءً على المخطط.
  • ربط البيانات على أساس الفصل: يتم إنشاء مخطط XML المطابق بناءً على الفئات.
  • خريطةpingربط البيانات القائم على: فهو يصف كيفية تعيين مخطط XML موجود لمجموعة من الفئات (والعكس صحيح).

هناك أطر ربط بيانات XML أيضًا.

أمثلة:

يعد ربط بيانات XML أمرًا سهلاً مع أطر العمل. يقوم إطار عمل ربط البيانات بإنشاء كمية كبيرة من التعليمات البرمجية لك. تحتاج إلى التغذية في مخطط DTD أو XML.

مخططات XML

XML مخطط (المعروف أيضا باسم تعريف مخطط XML or XSDيُستخدم ) لوصف بنية مستند XML. وهو بديل لـ DTD.

لماذا يعتبر المخطط مهمًا؟

لا يتمتع تعريف نوع المستند (DTD) بنفس قوة المخطط، فهو ليس قابلاً للتوسيع ومرناً بما يكفي، لذا قد لا يكون مناسباً في بعض الحالات. في مثل هذه الحالات، يصبح المخطط ضرورياً. والهدف الرئيسي من استخدام مخطط XML هو تحديد عناصر وخصائص مستند XML.

كيف يختلف مخطط XML عن DTD؟

تُظهر المقارنة التالية كيف يختلف XSD (XML Schema) عن DTD.

DTD XSD
لتقف على تعريف نوع الوثيقة تعريف مخطط XML
المدودية قابلى المد غير قابلة للتوسيع للمد
التحكم في بنية XML Less مراقبة المزيد من التحكم
أنواع بيانات الدعم غير معتمد عائلات
دعم مساحة الاسم غير معتمد عائلات

يوضح مقطع الكود التالي مثالاً على مخطط XML.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name = "employee">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string" />
<xs:element name = "lastname" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

مزايا لغة XML

فيما يلي مزايا وفوائد لغة XML:

  • فهو يسهل نقل البيانات ومشاركتها.
  • يعمل XML على تحسين تبادل البيانات بين الأنظمة الأساسية المختلفة.
  • إنها لغة ترميزية، وهي عبارة عن مجموعة من الأحرف و/أو الرموز الموضوعة في مستند نصي.
  • يشير XML إلى الشكل الذي ينبغي أن يبدو عليه مستند XML بعد عرضه.
  • إنه يبسط عملية تغيير النظام الأساسي.
  • أنه يعزز توافر البيانات.
  • وهو يدعم المستندات متعددة اللغات وUnicode.
  • من السهل نسبياً تعلم البرمجة وكتابتها.
  • يقوم بالتحقق من الصحة باستخدام DTD والمخطط.
  • يُسهّل ذلك نقل المستندات بين الأنظمة والتطبيقات. وبمساعدة لغة XML، يمكنك تبادل البيانات بسرعة بين مختلف المنصات.
  • يقوم XML بفصل البيانات عن HTML.

عيوب XML

فيما يلي سلبيات/عيوب استخدام لغة XML:

  • يتطلب XML تطبيق معالجة.
  • إن صيغة XML تشبه صيغ نقل البيانات الأخرى "القائمة على النصوص"، وهو أمر مربك في بعض الأحيان.
  • لا يوجد دعم لأنواع البيانات الجوهرية.
  • بناء جملة XML زائدة عن الحاجة.
  • لا يسمح للمستخدم بإنشاء علاماته الخاصة.

الأسئلة الشائعة

نعم. على الرغم من أن JSON يهيمن على واجهات برمجة تطبيقات الويب، إلا أن XML لا يزال يستخدم على نطاق واسع في ملفات التكوين، وتنسيقات المستندات مثل DOCX وSVG، وخدمات الويب SOAP، وموجزات RSS، وتبادل بيانات المؤسسات حيث تكون المخططات والتحقق من الصحة مهمة.

تقوم لغة XSLT (تحويلات لغة أوراق الأنماط القابلة للتوسيع) بتحويل مستند XML إلى تنسيق آخر، مثل HTML أو نص عادي أو XML ذي بنية مختلفة. وتستخدم قواعد القوالب لاختيار وإعادة تشكيل العقد لعرضها أو تبادلها.

نعم. تعرض معظم المتصفحات ملف XML على شكل شجرة قابلة للطي، تُظهر عناصره وبنيته. يمكنك أيضًا فتحه في أي محرر نصوص أو محرر XML مخصص للتعديل والتحقق.

نعم. أعطِ الذكاء الاصطناعي نموذجًا لمستند XML، وسيتمكن من إنتاج XSD يصف العناصر والسمات وأنواع البيانات، أو التحقق من مخطط موجود وشرح سبب فشل المستند في التحقق من الصحة. Revانظر إلى القيود.

نعم. يمكن للذكاء الاصطناعي توليد التعليمات البرمجية أو تحويل XML مباشرةً إلى JSON أو CSV أو بنية بيانات، وتحديد الأجزاء التي لا تتطابق بشكل صحيح، مثل السمات أو العناصر المتكررة. تحقق من المخرجات بمقارنتها ببياناتك.

تلخيص هذه التدوينة بـ: