الخلاصة
- قدم RFC 3023 اصطلاح
+xmlكي تعلن أنواع media مختلفة عن طبقة XML مشتركة من دون أن تفقد هويتها الخاصة. - لم تحمل اللاحقة معنى vocabulary أو ثقة أو إذناً؛ ظل النوع الكامل والبايتات والتحليل والتحقق والتفويض والأثر سجلات منفصلة.
كان انتشار XML في مطلع 2001 قائماً على إمكان بناء لغات كثيرة فوق بنية واحدة. فقد تتشارك رسالة تجارة ورسم متجهي وملف إعداد في العلامات والشجرة، مع أن كل واحد منها يحتاج application مختلفة. لو سميت كلها application/xml لظهر النحو واختفى العقد التطبيقي. ولو حمل كل منها اسماً معتماً تماماً، لبقي العقد لكن أدوات XML العامة لما عرفت أن البنية مشتركة.
وضع RFC 3023 وصلة صغيرة في آخر الاسم. يحتفظ subtype المحدد بهويته وينتهي بـ +xml. ما قبل علامة الجمع يحدد الصيغة، وما بعدها يكشف طبقة التمثيل.
معرفة مشتركة لا تلغي الاختصاص
تستطيع application التي تعرف application/foo+xml تطبيق قواعد foo. أما أداة لا تعرف foo لكنها تعرف XML، فيمكنها فحص الأحرف الأربعة الأخيرة وتقرير ما إذا كان parsing أو البحث أو التحرير العام مناسباً.
جنب ذلك كل أداة قائمة لا تنتهي من vocabularies. ورفض RFC الاعتماد على parameter لأن parameters تعدل subtype ولا تصف طبيعته الثابتة، ولأن dispatchers القائمة نادراً ما تختار handler على أساسها. أما إنشاء top-level type جديد فكان سيغير بنية أكبر من الحاجة. حملت اللاحقة الحد الأدنى من الحقيقة المشتركة.
لكن الاسم الكامل بقي صاحب الدلالة. المعالج الذي لا يعرف XML يعامل +xml بوصفها جزءاً معتماً. لذلك حذر الملحق من إسناد معنى إضافي إلى مجرد وجودها. application/foo وapplication/foo+xml نوعان مستقلان؛ قد تضيف نسخة XML نحواً ومعنى جديدين، ودعم أحدهما لا يثبت دعم الآخر.
نجاح parser لا يثبت صلاحية الطلب
إن Content-Type المستلم ادعاء من sender. يستدعي receiver محلل XML ليتحقق من أن البايتات تطابق التمثيل. وحتى إذا نتجت شجرة سليمة، فلا دليل بعد على قبول namespace أو مطابقة profile أو صحة signature أو سلطة الموقّع.
لا يصبح العنصر المسمى approve قراراً نافذاً لأن parser قرأه. يجب أن تعطيه application معنى، وأن تتحقق policy من صاحب الطلب، وأن يحاول executor العملية، وأن يسجل النظام أثرها. كذلك لا تسمح اللاحقة بحل external entities أو جلب موارد من الشبكة أو تشغيل stylesheet أو استهلاك موارد بلا حدود. هذه ضوابط محلية.
كان نفع اللاحقة ممكناً لأنها كشفت النحو ولم تستول على الثقة.
تحول الاصطلاح إلى سجل منظم
أدخل RFC 6838 structured syntax suffixes في عمارة تسجيل media types: ما يأتي بعد آخر علامة جمع يحدد syntax مسجلة. وسجل RFC 6839 +xml رسمياً وشرح مستويين للمعالجة. يقدم النوع الدقيق semantics الخاصة؛ وتسمح اللاحقة بمعالجة التمثيل عامة عندما لا يحتاج المستقبل إلى تلك semantics ولا إلى معرفة إضافية لفك البنية.
استبدل RFC 7303 الوثيقة RFC 3023 مع إبقاء المبدأ. ينبغي للصيغ الجديدة المبنية على XML استعمال +xml إلا إذا كانت المعالجة العامة غير مناسبة. يستطيع المستقبل اكتشاف اللاحقة، واستدعاء parser للتحقق من الادعاء، ثم اختيار المسار. وتبقى قواعد العرض والتحرير والأمن وruntime وfragment ضمن النوع المحدد.
يعرض سجلا IANA الحاليان الطبقتين معاً: مدخل واحد للاحقة +xml، وأنواع كاملة كثيرة تستخدمها. التشابه في النهاية دليل على عائلة نحوية، لا على تطابق المعنى أو قابلية التبادل.
المصادر
- سجل RFC Editor للوثيقة RFC 3023
- RFC 3023 بصيغة HTML
- RFC 3023 بصيغة نصية
- سجل RFC Editor للوثيقة RFC 2048
- RFC 2048 بصيغة HTML
- سجل RFC Editor للوثيقة RFC 6838
- RFC 6838 بصيغة HTML
- سجل RFC Editor للوثيقة RFC 6839
- RFC 6839 بصيغة HTML
- سجل RFC Editor للوثيقة RFC 7303
- RFC 7303 بصيغة HTML
- سجل IANA للواحق النحوية المنظمة
- سجل IANA لأنواع الوسائط
- مواصفة XML من W3C
- Lu Heng عن Running-Code Primacy
- Lu Heng عن Minimum Initial Specification
- Lu Heng عن Reality Layers
لم يكتب Lu Heng الوثيقة RFC 3023 ولم يؤيدها. تستخدم مقالاته هنا كعدسات تحليلية معلنة.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
