مخططات XSD تسمح بأحرف خاصة/محجوزة في علامة عنصر السلسلة
سؤال
في علامة عنصر السلسلة ، سيحصل محلل XML خجول إذا وجدت الأحرف التالية
'
"
<
>
&
(أي دعنا نقول أن اسم الشركة قد تم استرداده من حقل قاعدة البيانات ، ويبدو أن هذا: "سميث وأولاده")
السؤال هو - كيف يمكنك تصميم XSD الخاص بك لتجاهل هذه الأحرف إذا وجدت داخل عنصر ما؟
المحلول
لا يمكنك جعلها تتجاهل هذه الشخصيات.
هم انهم غير صالحة في XML ، وبالتالي تحتاج إلى الهروب أو لفها في أقسام CDATA. لا توجد وسيلة حتى تظهر هذه الشخصيات في XML ما لم يمكنك بناء XML باستخدام وسائل غير لائقة (وهي: سلسلة متسلسلة).
إذا قمت بإنشاء XML باستخدام الوسائل المناسبة (مكتبة XML من بعض الأنواع) ، يتم استبدال هذه الأحرف بنظرائها المقيد بـ XML بشفافية ولن يشتكي أي محلل.
نصائح أخرى
الجواب أنت لا.
يجب أن يضع منشئ محتوى XML في أقسام CDATA.
إذا قمت باستخراج "Smith & Sons" من قاعدة البيانات ، فيجب الهروب عند إدراجها في XML الخاص بك
على سبيل المثال ، سيصبح ما سبق "سميث وأولاده"
وبالمثل للشخصيات الأخرى أعلاه.
كيف يحدث هذا يعتمد على كيفية بناء محتوى XML الخاص بك. إذا كان استخدام API مثل DOM ، فيجب أن يحدث هذا تلقائيًا. إذا كنت تقوم بتجميع XML باليد ، فيجب أن تقلق بشأن هذا (وغيرها من المشكلات مثل ترميز الأحرف - مما يعني أن استخدام API هو الخيار الأفضل هنا).