العربية

أدوات المطور · محولات بناء الجملة

نسب XML من SGML: لماذا يحتوي على السمات ومساحات الأسماء وDTDs

· خلفية

xml تنسيقات البيانات حماية

سمات XML وبادئات مساحة الاسم والنص المختلط بجانب DOCTYPE المرفوضة
الرسم التوضيحي المتجه الأصلي ToolAcre

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

لماذا يحتوي تنسيق البيانات هذا على سمات؟ — مطور يقوم بتحويل XML إلى JSON ويلبي التمييز JSON ليس هناك حاجة مطلقًا

JSON له نوع واحد من خصائص الكائن؛ XML يميز بين السمات والعناصر الفرعية والنص. يقوم ToolAcre بتعيين التمييز بين سمات `@` والمفاتيح الفرعية العادية. يكون الفرق مرئيًا عندما يكون للعنصر كل من `id="7"` و`<id>` فرعي: كلاهما يظل موجودًا تحت خصائص منفصلة.

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

SGML وتقليد المستند — ISO 8879، وترميز النشر، وفكرة وضع علامات على النص بدلاً من تشفير السجلات

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

وبالتالي تبدأ المقالة المرتبطة بالمصدر من السلوك القابل للتنفيذ. النص حول العناصر الفرعية مفقود؛ يتم إسقاط التعليقات وتعليمات المعالجة؛ CDATA تظل محددة. تشرح هذه الحقائق سبب عدم احتواء شجرة المستندات بشكل واضح في شجرة القيمة JSON.

ميزات XML الموجهة نحو المستندات المرئية في التنفيذ، دون المطالبة بسجل SGML

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

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

يتعامل المحلل اللغوي مع بناء الجملة XML؛ لا يثبت دليل المستودع تاريخ التصميم 1998

تصبح السمات مفاتيح مسبوقة بـ `@`؛ تحتفظ العناصر بأسمائها. ينتقل النص الموجود داخل عنصر منظم إلى `#text`، بينما ينهار عنصر النص فقط إلى سلسلة. يؤدي هذا إلى إبقاء الفئات الهيكلية منفصلة بقدر ما يسمح به نموذج الكائن.

تؤدي كتابة XML إلى عكس الاصطلاح: `@id` تصبح سمة. يتم رفض أسماء السمات أو العناصر غير الصالحة بدلاً من تطهيرها. يمنع هذا القرار التعيين المشوه من أن يصبح مقبولاً XML بأسماء تم تغييرها بصمت.

تظل السمات والعناصر متميزة بموجب اتفاقية @ ToolAcre

يتم الاحتفاظ ببادئات مساحة الاسم حرفيًا في أسماء العناصر والسمات، بما في ذلك إعلانات مساحة الاسم. ولا يتم حلها أو إزالتها أو إعادة كتابتها. يؤدي هذا إلى الحفاظ على تهجئة المصدر ولكنه لا يمثل دقة كتابة على دراية بمساحة الاسم.

يتم رفض كل DOCTYPE قبل أن يتلقى المحلل اللغوي السريع المستند. يتجنب القناع التطابقات الخاطئة داخل التعليقات وCDATA. وهذا يمنع طلبات الكيانات الخارجية، وقراءات كيان الملف المحلي، وهجمات توسيع الكيان، مع عدم وجود خيار لتجاوز الرفض.

يتم الاحتفاظ ببادئات مساحة الاسم حرفيًا ويتم رفض كل DOCTYPE

في `<p>before<b>bold</b>after</p>`، يكون موضع النص مهمًا. يكتشف ToolAcre المحتوى المختلط، ويربط الأجزاء الموجودة ضمن `#text` ويحذر من فقدان مواقعها بالنسبة للأطفال. لا يمكن لخصائص الكائن JSON أن تنتج تسلسلًا مرتبًا للنص البديل وعقد العناصر.

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

ما لا يغطيه هذا — XSLT وXPath وXQuery، لغات المعالجة التي تطورت حول XML

XSLT، لا يتم استيراد XPath وXQuery أو عرضهما. ولا تقوم اللوحة بالتحقق من صحة XSD أو معالجة إعلانات DTD أو إنشاء كائنات المجال المكتوبة. إنه إسقاط للبيانات مع حدود أمان وإخلاص واضحة.

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

الخلاصة: XML هو تنسيق مستند تعلم كيفية حمل البيانات - وكيف تعرض لوحة محولات بناء الجملة ما تبقى من ترجمته إلى JSON

يتضمن نموذج البيانات القابلة للملاحظة الخاص بـ XML الفروق غير الموجودة في JSON. ToolAcre يميز السمات، CDATA والنص المنظم، ويحتفظ ببادئات مساحة الاسم، ويسقط العقد غير المتعلقة بالبيانات ويرفض DOCTYPEs. كل خيار مرئي ومختبر.

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

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