مخططات XSD تسمح بأحرف خاصة/محجوزة في علامة عنصر السلسلة

StackOverflow https://stackoverflow.com/questions/806191

  •  03-07-2019
  •  | 
  •  

سؤال

في علامة عنصر السلسلة ، سيحصل محلل XML خجول إذا وجدت الأحرف التالية

'
"
<
>

&

(أي دعنا نقول أن اسم الشركة قد تم استرداده من حقل قاعدة البيانات ، ويبدو أن هذا: "سميث وأولاده")

السؤال هو - كيف يمكنك تصميم XSD الخاص بك لتجاهل هذه الأحرف إذا وجدت داخل عنصر ما؟

هل كانت مفيدة؟

المحلول

لا يمكنك جعلها تتجاهل هذه الشخصيات.

هم انهم غير صالحة في XML ، وبالتالي تحتاج إلى الهروب أو لفها في أقسام CDATA. لا توجد وسيلة حتى تظهر هذه الشخصيات في XML ما لم يمكنك بناء XML باستخدام وسائل غير لائقة (وهي: سلسلة متسلسلة).

إذا قمت بإنشاء XML باستخدام الوسائل المناسبة (مكتبة XML من بعض الأنواع) ، يتم استبدال هذه الأحرف بنظرائها المقيد بـ XML بشفافية ولن يشتكي أي محلل.

نصائح أخرى

الجواب أنت لا.

يجب أن يضع منشئ محتوى XML في أقسام CDATA.

إذا قمت باستخراج "Smith & Sons" من قاعدة البيانات ، فيجب الهروب عند إدراجها في XML الخاص بك

على سبيل المثال ، سيصبح ما سبق "سميث وأولاده"

وبالمثل للشخصيات الأخرى أعلاه.

كيف يحدث هذا يعتمد على كيفية بناء محتوى XML الخاص بك. إذا كان استخدام API مثل DOM ، فيجب أن يحدث هذا تلقائيًا. إذا كنت تقوم بتجميع XML باليد ، فيجب أن تقلق بشأن هذا (وغيرها من المشكلات مثل ترميز الأحرف - مما يعني أن استخدام API هو الخيار الأفضل هنا).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top