مساحة اسم XML

تُستخدم مساحات أسماء XML لتوفير أسماء فريدة للعناصر والخصائص في مستند XML . وقد تم تعريفها في توصية من اتحاد شبكة الويب العالمية (W3C) . [ 1 ] [ 2 ] قد يحتوي نموذج XML على أسماء عناصر أو خصائص من أكثر من معجم XML. إذا تم تخصيص مساحة اسم لكل معجم ، يُمكن حل الغموض بين العناصر أو الخصائص المتطابقة في الاسم.

مثال بسيط على ذلك هو اعتبار نموذج XML يحتوي على إشارات إلى عميل ومنتج تم طلبه. يمكن أن يحتوي كل من عنصر العميل وعنصر المنتج على عنصر فرعي باسم id . وبالتالي، ستكون الإشارات إلى عنصر id غامضة؛ لذا فإن وضعها في مساحات أسماء مختلفة سيزيل هذا الغموض.

أسماء النطاقات

اسم نطاق الاسم هو مُعرِّف مورد موحد (URI). عادةً، يصف مُعرِّف المورد الموحد المُختار لنطاق اسم مُفردات XML موردًا تحت سيطرة المؤلف أو المؤسسة التي تُعرِّف المُفردات، مثل عنوان URL لخادم الويب الخاص بالمؤلف. مع ذلك، لا يُشترط تحديد نطاق الاسم، ولا يُشير إلى، استخدام مُعرِّف المورد الموحد لنطاق الاسم لاسترجاع المعلومات؛ إذ يتعامل معه مُحلِّل XML ببساطة كسلسلة نصية. على سبيل المثال، لا يحتوي المستند الموجود على الرابط http://www.w3.org/1999/xhtml على أي كود برمجي. إنه ببساطة يصف نطاق اسم XHTML للقراء. يُقلِّل استخدام مُعرِّف مورد موحد (مثل "http://www.w3.org/1999/xhtml" ) لتحديد نطاق اسم، بدلاً من سلسلة نصية بسيطة (مثل "xhtml")، من احتمالية استخدام نطاقات أسماء مختلفة لمُعرِّفات مُكرَّرة.

على الرغم من شيوع مصطلح " معرّف الموارد الموحد للمساحة الاسمية" (namespace URI) ، إلا أن توصية اتحاد شبكة الويب العالمية (W3C) تشير إليه باسم " اسم المساحة الاسمية" . لا تُحدد المواصفات قواعد دقيقة لأسماء المساحات الاسمية (فهي لا تنص صراحةً على وجوب رفض المحللات للمستندات التي لا يكون اسم المساحة الاسمية فيها معرّف موارد موحدًا صالحًا )، كما أن العديد من محللات XML تسمح باستخدام أي سلسلة نصية. في الإصدار 1.1 من التوصية، أصبح اسم المساحة الاسمية معرّف موارد دوليًا (Internationalized Resource ID )، مما يُجيز استخدام الأحرف غير ASCII التي كانت مقبولة عمليًا في جميع برامج XML تقريبًا. مع ذلك، لا يزال مصطلح "معرّف الموارد الموحد للمساحة الاسمية" (namespace URI) شائع الاستخدام، كما أنه مُستخدم في العديد من المواصفات الأخرى الصادرة عن اتحاد شبكة الويب العالمية (W3C) وغيرها.

بعد نشر توصية مساحات الأسماء، دار نقاش حاد حول كيفية التعامل مع معرّفات الموارد الموحدة النسبية (URI)، حيث جادل البعض بشدة بضرورة التعامل معها كسلسلة نصية، بينما دافع آخرون بثقة عن تحويلها إلى معرّف موارد موحد مطلق (URI) عن طريق ربطها بمعرّف الموارد الموحد الأساسي للمستند. [ 3 ] وقد أسفر هذا النقاش عن قرار من اتحاد شبكة الويب العالمية (W3C) بإلغاء استخدام معرّفات الموارد الموحدة النسبية. [ 4 ]

يُعدّ استخدام معرّفات الموارد الموحدة (URIs) التي تأخذ شكل عناوين URL في بروتوكول HTTP (مثل http://www.w3.org/1999/xhtml ) شائعًا، على الرغم من عدم وجود علاقة رسمية بينها وبين بروتوكول HTTP. لا تُحدّد مواصفات مساحات الأسماء ما يجب فعله في حال محاولة الوصول إلى عنوان URL من هذا النوع (أي إذا حاول برنامج ما استرجاع مستند من هذا الموقع). ومن بين الأعراف التي يتبناها بعض المستخدمين وضع مستند RDDL في هذا الموقع. [ 5 ] عمومًا، ينبغي للمستخدمين افتراض أن معرّف مساحة الاسم هو مجرد اسم، وليس عنوان مستند على الويب.

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

يتم تعريف مساحة اسم XML باستخدام سمة XML المحجوزة xmlnsأو ، والتي يجب أن تكون قيمتها اسم مساحة اسم صالح .xmlns:prefix

على سبيل المثال، يقوم الإعلان التالي بربط البادئة "xhtml:" بمساحة اسم XHTML:

xmlns:xhtml="http://www.w3.org/1999/xhtml"

أي عنصر أو سمة يبدأ اسمها بالبادئة "xhtml:" تعتبر موجودة في مساحة اسم XHTML، إذا كان هو أو أحد أسلافه يحتوي على تعريف مساحة الاسم المذكور أعلاه.

من الممكن أيضاً تحديد مساحة اسم افتراضية. على سبيل المثال:

xmlns="http://www.w3.org/1999/xhtml"

في هذه الحالة، يعتبر أي عنصر بدون بادئة مساحة اسم موجودًا في مساحة اسم XHTML، إذا كان هو أو أحد أسلافه يحتوي على إعلان مساحة الاسم الافتراضي المذكور أعلاه.

إذا لم يكن هناك تعريف افتراضي لمساحة الاسم في النطاق، فلن يكون لاسم مساحة الاسم أي قيمة. [ 6 ] في هذه الحالة، يُعتبر العنصر الذي لا يحتوي على بادئة صريحة لمساحة الاسم غير موجود في أي مساحة اسم.

لا تخضع السمات مطلقًا لمساحة الاسم الافتراضية. وتُعتبر السمة التي لا تحتوي على بادئة مساحة اسم صريحة غير موجودة في أي مساحة اسم.

مساحات الأسماء في واجهات برمجة التطبيقات ونماذج كائنات XML

لقد اتخذت المواصفات المختلفة مناهج مختلفة بشأن كيفية عرض معلومات مساحة الاسم للتطبيقات.

تسمح جميع نماذج البرمجة تقريبًا باسترجاع اسم عنصر أو عقدة سمة كاسم ثلاثي الأجزاء: الاسم المحلي، وبادئة مساحة الاسم، ومعرّف مساحة الاسم الموحد (URI). ينبغي للتطبيقات تجنب إيلاء أي أهمية لاختيار البادئة، ولكن تُقدّم هذه المعلومة لأنها قد تكون مفيدة للمستخدمين. تُعتبر الأسماء متطابقة إذا تطابق معرّف مساحة الاسم الموحد (URI) مع الاسم المحلي.

بالإضافة إلى ذلك، توفر معظم النماذج طريقة ما لتحديد مساحات الأسماء المُعلنة لعنصر معين. هذه المعلومات ضرورية لأن بعض مفردات XML تسمح بظهور الأسماء المؤهلة (التي تحتوي على بادئات مساحات الأسماء) في محتوى العناصر أو سماتها، وكذلك في أسمائها. وهناك ثلاث طرق رئيسية لتوفير هذه المعلومات:

  • كعناصر سمات تحمل اسم "xmlns" أو "xmlns:xxx"، تمامًا كما هو مكتوب في مساحة الأسماء في مستند XML المصدر. هذا هو النموذج الذي يقدمه DOM .
  • باعتبارها تعريفات مساحات الأسماء: فهي تختلف عن السمات، ولكنها تتطابق تمامًا مع السمات ذات الصلة في مستند XML المصدر. هذا هو النموذج الذي يقدمه JDOM .
  • في نموذج ربط مساحات الأسماء ضمن النطاق: يستطيع التطبيق تحديد مساحات الأسماء التي تندرج ضمن نطاق أي عنصر معين، ولكنه لا يستطيع تحديد العناصر التي تحتوي على التصريحات الفعلية. هذا هو النموذج المستخدم في XPath و XSLT و XQuery .

انظر أيضاً

مراجع

  1. براي، تيم؛ ديف هولاندر؛ أندرو لايمان؛ ريتشارد توبين؛ هنري س. طومسون (ديسمبر 2009). "مساحات الأسماء في XML 1.0" . W3C . تم الاطلاع عليه في 9 أكتوبر 2010 .
  2. "الجدول الزمني لمعايير W3C الخاصة بـ XML والويب الدلالي (الإصدار 1.2)" (ملف PDF) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 29 ديسمبر 2022. تم الاطلاع عليه بتاريخ 2 أبريل 2022 .
  3. دودز، لي (24 مايو 2000). "أخبار من الخنادق" . أورايلي ميديا، إنك.
  4. كونولي، دان (11 سبتمبر 2000)، قرار الجلسة العامة لاتحاد شبكة الويب العالمية بشأن مراجع URI النسبية في تعريفات مساحات الأسماء
  5. هارولد، إليوت راستي (20 فبراير 2001). "RDDL Me This: What Does a Namespace URL Locate that?" . مؤرشف من الأصل في 7 مايو 2017.
  6. "مساحات الأسماء في XML 1.0 (الطبعة الثالثة)" . W3C . تم الاطلاع عليه بتاريخ 28 أبريل 2017 .