سؤال

أعتقد أن هذا له علاقة keyref لكنني لست متأكدًا ، وأنا لست متأكدًا حقًا من أنه يمكن القيام به على الإطلاق.

على سبيل المثال ، قل أن لدي mylement1 و mylement2. إذا لم يكن هناك myElement2 في ملف XML ، فيجب أن يكون MyElement1 موجودًا ، وإلا فهو اختياري.

هل هناك أي طريقة لإجبار هذا النوع من التحقق في ملف XSD الخاص بي؟

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

المحلول

تم طرح أسئلة مماثلة عدة مرات .. في Stackoverflow أو أي مدونات تقنية ..

لكن الجواب دائما غير ممكن,


حالات مثل:

(أ) صحة العنصر اعتمادًا على قيمة أو وجود أي عنصر/سمة أخرى
(ب) التحقق من صحة قيمة عنصر اعتمادًا على قيمة أو وجود أي عنصر/سمة أخرى
(ج) التحقق من صحة السمة اعتمادًا على قيمة أو وجود أي عنصر/سمة أخرى
(د) تحديد العناصر/السمات من نفس الاسم لها أنواع/أنواع مختلفة من نفس النطاق
(هـ) التحقق من صحة عناصر الطفل على أساس القيمة أو وجود أي عناصر/سمات أخرى

جميع الحالات المذكورة أعلاه لا يمكن تحقيقها ..

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

مثال :: إذا كان الحقل المعين متوقعًا ببعض القيمة .. مرر XML كما لو كان الشرط راضًا ولم يمر إذا لم يكن كذلك .. في الكتلة التالية ، ستتحقق XSD وبين الأخطاء بشكل واضح :) يمكنك معرفة أنه يفتقد التحقق المخصص الخاص بك ..

على أي حال القصد هو الكتلة أو يمر XML وفقا للبيانات .. وهذا ما تفعله ..

ملحوظة: مخطط لقد أصبح ممارسة جيدة مؤخرًا! ها هو البرنامج التعليمي: http://zvon.org/xxl/schematrontutorial/general/contents.html

نصائح أخرى

ما أقترحه هو إنشاء XSD لكل حالة محددة أدناه:

حالات مثل:

  1. التحقق من صحة العنصر اعتمادًا على قيمة أو وجود أي عنصر/سمة أخرى.
  2. التحقق من صحة قيمة عنصر حسب قيمة أو وجود أي عنصر/سمة أخرى.
  3. التحقق من صحة السمة اعتمادًا على قيمة أو وجود أي عنصر/سمة أخرى.
  4. لا يُسمح بتجاهل العناصر/السمات من التحقق (العشوائي). (أعني أن أقول هو استخدام قيود.)
  5. عناصر/سمات من نفس الاسم لها أنواع بيانات مختلفة.
  6. التحقق من صحة عناصر الطفل على أساس القيمة أو وجود أي عناصر/سمات أخرى.

وإنشاء هناك XML الخاص لذلك.

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