مُحقق تنسيق XSD
قد يكون مستند XML مُعد بشكل صحيح مع ذلك خاطئًا؛ فقد يفتقر إلى عنصر ضروري، أو يستخدم نوع بيانات غير مناسب لخاصية معينة، أو تحتوي عناصره على ترتيب غير صحيح. ويحدد XSD (تعريف مخطط XML) بدقة الشكل الذي يجب أن يتخذه المستند. يقوم هذا المُحقق بربط مستند XML الخاص بك بملف XSD المرفق، ثم يُجرِي اختبار مطابقة مخطط XML الخاص بمنظمة W3C، ويعرض جميع المخالفات مع تحديد الخطوط المتأثرة والعنصر المعني والقيود التي تم انتهاكها.
كيفية التحقق من صحة ملف XML وفقًا لمعيار XSD
-
1
قم بلصق الملفين معًا
من ناحية XML، ومن ناحية أخرى مخطط XSD؛ ويمكن لصق عدة مخططات معًا.
-
2
قم بتشغيل عملية التحقق.
يقوم المحلل بمطابقة العناصر والخصائص وأنواع البيانات مع إعلانات النموذج.
-
3
استعرض الأخطاء
يعرض كل انتهاك مسار العنصر، والقيود المتوقعة، والقيمة الفعلية.
-
4
قم بالتصحيح وإعادة التحقق من صحة البيانات.
قم بتعديل البيانات مباشرةً ثم أعد تنفيذ العملية دون إعادة تحميلها.
ما الذي يفحصه XSD؟
- أسماء العناصر والتكرار: إلزامي، اختياري، حد أدنى/أقصى.
- ترتيب العناصر: متسلسل، أي ترتيب، جميع العناصر.
- سمات الخصائص: إلزامي مقابل اختياري، قيم افتراضية، قيم ثابتة.
- أنواع البيانات:
xs:string،xs:integer،xs:decimal،xs:dateTime،xs:boolean،xs:anyURI، مخصص. - القيود: طول أدنى/أقصى، تعدادات، regex، حدود رقمية.
- السلامة المرجعية:
xs:key،xs:keyref،xs:uniqueللقيود بين العناصر.
الأخطاء الشائعة
| الخطأ | قيد XSD |
|---|---|
<email> المطلوب غائب |
minOccurs="1" |
عدد كبير جدًا من <phone>؛ تجاوز maxOccurs="2" |
حد التكرار |
| “abc” ليس عددًا صحيحًا | type="xs:integer" |
| “[email protected]” لا يطابق النمط | xs:pattern على string |
| عناصر غير مرتبة | xs:sequence |
عنصر غير معروف <foo> |
لم يُعلن في المخطط |
| مفتاح مكرر | انتهاك xs:unique |
الاختيار بين XSD والبدائل الأخرى
- XSD: معيار من لجنة W3C، شامل وقوي وموسع الدعم؛ الخيار الأول لاستخدام XML في المؤسسات.
- RELAX NG: صيغة بسيطة لكنها ذات قدرة تعبيرية مماثلة؛ شائعة في تنسيقات الوثائق مثل DocBook وTEI.
- Schematron: نظام قائم على القواعد، يقوم بتنفيذ استنتاجات XPath على المستند؛ مناسب للقواعد التجارية التي تتجاوز مجرد هيكل المستند.
- DTD: أقدم نموذج، وأقل تعبيرية بكثير؛ ما زال مستخدمًا لضمان التوافق التاريخي مع HTML.
تستخدم العديد من المشاريع تنسيق XSD للهيكل، وتنسيق Schematron للقواعد المعقدة التي تمتد عبر مجالات مختلفة.
المفاهيم الشائعة الخاطئة
- يجب أن تتطابق المساحات الاسمية. إذا أعلنت ملف XSD عن المساحة الاسمية
targetNamespace="http://example.com"لكن ملف XML لا يستخدمها، فستفشل عملية التحقق بالسبب التالي: “لم يتم العثور على أي إعلان لهذه المساحة الاسمية”. - xs:anyType ليس وسيلة فعالة للهروب من الواقع؛ فهو يتطابق مع أي شيء، لكنه لا يوفر أي تأكيد حقيقي على صحة البيانات.
- تُطبَّق القيم الافتراضية فقط عندما يكون السمة غائبة؛ أما القيمة الفارغة الصريحة (
attr="") فلن تحصل على القيمة الافتراضية. - يختلف طريقة التعامل مع المسافات الفارغة باختلاف النوع: حيث يحتفظ
xs:stringبها، بينما يُقلّصهاxs:token، ويستبدل أزرار التبويب/السطر الجديد بمسافات فارغة فيxs:normalizedString.
عملية تصحيح الأخطاء
- قم أولًا بالتحقق من صحة هيكل البيانات (فحص التكوين الصحيح)، وصحح أي أخطاء في تحليل النص.
- ثم قم بالتحقق من المطابقة مع المخطط.
- ركّز على الخطأ الأول؛ ففي بعض الأحيان، قد تتوالى الأخطاء أثناء عملية التحقق من تنفيذ ملفات XSD، ويكون أول خطأ عادةً هو الأكثر أهمية من حيث اتخاذ الإجراءات المناسبة.
- استخدم XPath للعثور على العنصر المسبب للخطأ في المستندات الكبيرة.
الأسئلة الشائعة
لا. قم بلصقها بشكل منفصل، أو استخدم المخطط عبر xsi:schemaLocation في ملف XML؛ فمعظم الأدوات تدعم كلا الطريقتين.
نعم. عندما تظهر عناصر من مساحات أسماء مختلفة، فإن كل عنصر يحتاج إلى مخططه الخاص؛ قم بنسخها جميعًا ولصقها، وسيقوم نظام التحقق بتحميلها جميعًا تلقائيًا.
XSD 1.0. لا يدعم محرك libxml المستخدم إصدار XSD 1.1، لذا فإن الميزات الخاصة بالإصدار 1.1 مثل التأكيدات والأنواع الشرطية والمحتوى المفتوح لا يتم فرضها.
لا. يتم إرسال ملف XML والمخطط إلى الخادم فقط لتشغيل عملية التحقق لهذا الطلب الواحد؛ ولا يتم تخزينهما أو تسجيلهما بعد ذلك.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
أداة إزالة التشفير في لغة جافا سكريبت (JavaScript Deobfuscator)
إزالة التشفير من كود جافا سكريبت مُصغَّر أو مُعبَّأ باستخدام إعادة تسمية المتغيرات، وفك ترميز السلاسل النصية ومصفوفات البيانات، بالإضافة إلى عكس تسطيح تدفق التحكم وتحسين هيكله.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
مولد تراخيص
قم بإنشاء النص الكامل لترخيصات المصدر المفتوح مع إدخال اسمك والسنة المقابلة، ويشمل ذلك تراخيص MIT وApache 2.0 وGPLv3 وBSD-3 وMPL-2.0 وCC.
الأداة متاحة بلغات أخرى
- XSD-Validator [DE]
- Validador XSD [PT]
- Validador XSD [ES]
- XSDバリデーター [JA]
- XSD-validator [NL]
- Bộ xác thực XSD [VI]
- เครื่องตรวจสอบความถูกต้องของ XSD (XSD Validator) [TH]
- Validator XSD [ID]
- XSD 검증기 [KO]
- XSD-validerare [SV]
- Validateur XSD [FR]
- Walidator XSD [PL]
- Validator XSD [IT]
- Валидатор XSD [RU]
- XSD Doğrulayıcı [TR]
- XSD 校验工具 [ZH]
- XSD Validator [EN]