XML Namespaces
من خلال وجود عدد متزايد من ملفات XML المتبادلة عبر الإنترنت ، يمكنك الوصول بسرعة إلى موقف يستخدم فيه تطبيقان أو أكثر أسماء العلامات tagsنفسها ولكنهم يمثلون كائنًا objectمختلفًا تمامًا (من تلك العلامةtag ) في نفس الوقت. هنا ، ترى تعارضًا مع الأنظمة التي تحاول تحليل بعض المعلومات من علامة tagمعينة تستخدم تسلسلًا هرميًا hierarchyمختلفًا عن ما يتوقعه النظام. يتطلب حل هذه المشكلة استخدام مساحات الأسماء والبادئات namespaces and prefixes .
في هذا الشكل ، يمكنك رؤية نفس العنصر في وثيقيتين XML منفصلين. على الرغم من أن اسم علامة البداية هو نفسه ، يمثل كل عنصر معلومات مختلفة ، مما قد يتسبب في حدوث تعارض في الاسم. يحمل رمز XML العلوي معلومات جدول HTML ، بينما يحمل الرمز السفلي معلومات حول الجدول كقطعة أثاث. يمكنك بسهولة تجنب ذلك من خلال تحديد بادئة ومساحة اسم لكل من هذين العنصرين ، كما هو موضح في الجانب الأيمن من الشكل.
البادئة prefix هي حرف أبجدي أو سلسلة توضع قبل اسم العلامة الفعلي متبوعًا بنقطتين ( أو ). بهذه الطريقة ، تقوم بتحديد اسم علامة tag دقيق لتطبيقك للتحليل parse بشكل صحيح. عند استخدام البادئات في XML ، يجب عليك أيضًا تحديد مساحات الأسماء لهذه البادئات. اسم مساحة الاسم هو Uniform Resource Identifier (URI) ، والذي يوفر عناصر وسمات مميزة بشكل فريد في مستندات XML.
يتم تحديد Namespaces مع xmlnsالسمة attribute في العلامة tag بدءا من عنصر elementوبناء Syntax على النحو التالي: xmlns:prefix=URI'. يمكن أن يكون عنوان URI أي سلسلة اعتباطية طالما أنها تختلف عن أي عنوان URI آخر. يمكن أن يكون أيضًا رابطًا لصفحة معينة مع تعريف لمساحة الاسم هذه. ومع ذلك ، ليست هناك حاجة للوصول إلى URL. الشيء الوحيد المهم هو أن URI يمثل بشكل فريد اسم مساحة اسم منطقي logical namespace name .
على غرار XML ، يمكن لكل من YAML و JSON أيضًا استخدام مساحات الأسماء namespace التي تحدد بناء Syntax ودلالات عنصر الاسم semantics of a name ، وبهذه الطريقة تتجنب تعارضات element name conflicts اسم العنصر. ألق نظرة على رموز المثال من كل شكل.
في هذا الشكل ، يمكنك العثور على نفس namespace encoded المشفرة في كل من التنسيقات. بشكل عام ، سترى أن YAML و JSON لا يستخدمان عادةً مساحات الأسماء ، كما هو الحال مع XML ومع ذلك ، لدى JSON استثناء واحد ، وهو بروتوكول Representational State Transfer Configuration Protocol (RESTCONF). عندما تستخدم RESTCONF ، فإنه يتطلب مساحة اسم namespace
RESTCONF هي مجموعة فرعية من بروتوكول Network Configuration Protocol NETCONF، وهو بروتوكول إدارة شبكة IETF مصمم خصيصًا لإدارة الشبكة القائمة على المعاملات يسمح لك بشكل أساسي ب Config أجهزة شبكة معينة مثل أجهزة الراوتر والسويتشات وما إلى ذلك.
ملحوظة
مساحة الاسم myappليس اسم صالح لأنه يجب أن يكون بتنسيق URI الصحيح. هذا المثال لمجرد توضيح مبسط.
المصدر : www.cisco.com
You must be logged in to post a comment.