أجهزة الكمبيوتر شبابيك إنترنت

مخطط XML هو وصف لهيكل مستندات XML. إنشاء ملف XML مثال مخطط XML بسيط

فهم في بعض الأحيان ملف XML، التي يتم إرسالها إلى غرفة المساحة ، هي ببساطة ضرورية عندما تشعر أنك بحاجة ، في مكان ما ، إلى شيء ما لإصلاحه ، ويتم تطوير فضول الكثيرين الطبيعي. لكن ... هام. تذكر أنه بعد التوقيع على ملف EDS ، لا يمكنك تحرير ملف XML! كمثال من الممارسة ، عند قسمة قطعة من 300 ذاكرة ، قامت الفتاة بطريق الخطأ بمسح سطر واحد فقط في العنوان من إحدى المؤامرات. وهذا كل شيء .. ملف XML لم يجتاز عملية التحقق. بدا لي البحث في البرنامج من خلال جميع السجلات مملاً ، خاصة وأنني كنت أعرف ما الذي أبحث عنه. بعد أن فتحت ملف XLM في محرر الاختبار بالبحث ، وجدت السطر المطلوب وقمت بإجراء التغييرات. لكن مرة أخرى ، أكرر - إذا قمت بتحرير الملف ، فأنت بحاجة إلى إعادة توقيعه باستخدام EDS مرة أخرى. لذلك دعونا نبدأ. سأقدم الرسومات وأصفها.

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

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

لن ننظر في الملف بأكمله سطرًا بسطر ، لكننا سنأخذ في الاعتبار فقط تلك السطور التي يتم إدخال بياناتنا فيها.

3 سطر : CodeType = "014" - نوع العمل ، هناك اثنان منهم فقط ، كما في حالتنا - التعليم و "015" - التوضيح. الإصدار = "03" - إصدار XMLملف. GUID (المعرف الفريد العالمي) هو معرف فريد إحصائيًا 128 بت ، في حالتنا يجب أن يتطابق اسم الملف مع هذا المؤشر.
4 سطر : بيانات المنظمة التي يعمل فيها المهندس المساحي أو بيانات المهندس المساحي نفسه.
5 سطر : رمز المنظمة المستفيدة ، في هذه الحالة الإدارة الخدمة الفيدراليةتسجيل الدولة والسجل ورسم الخرائط في جمهورية تتارستان.

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

من حيث المبدأ ، من خلال فتح ملف في Notepad ++ ، تصبح البنية الكاملة لملف XML واضحة. - الموقع - يحتوي على العنوان. القيمة في مكتوب في حالة عدم وجود جزء من العنوان لـ KLADR.

مثال على مخطط مخطط ملف XML تم إنشاؤه بتنسيق منتج البرنامجمخطط خريطة المضلع

للحصول على أفضل عرض مرئي لهذا الجزء ، قم بنسخه وعرضه في محرر الاختبار Notepad ++ ، والذي يمكنك تنزيله من القسم

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

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

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

يمكنك إنشاء ملفات XML باستخدام كل من البرامج المتخصصة والمضمنة نص Windowsمحرر. تعتمد راحة كتابة الكود ومستوى وظائفه على نوع البرنامج المستخدم.

الطريقة الأولى: Visual Studio

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

للبدء ، تحتاج إلى إنشاء ملف. انقر فوق البند "ملف"في الشريط العلوي ومن القائمة المنسدلة حدد "إنشاء…"... سيتم فتح قائمة حيث يشار إلى العنصر "ملف".

  • سيتم نقلك إلى النافذة مع اختيار امتداد الملف ، على التوالي ، حدد العنصر "ملف XML".
  • سيكون للملف الذي تم إنشاؤه حديثًا السطر الأول بالفعل مع الترميز والإصدار. الافتراضي هو الإصدار الأول والتشفير UTF-8التي يمكنك تغييرها في أي وقت. بعد ذلك ، لإنشاء ملف XML كامل ، تحتاج إلى تسجيل كل ما كان في التعليمات السابقة.

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

    الطريقة الثانية: Microsoft Excel

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

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


    الطريقة الثالثة: المفكرة

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

    بالنسبة لهذه الطريقة ، لا تحتاج إلى تنزيل أي شيء ، منذ ذلك الحين بتنسيق نظام التشغيلبنيت بالفعل "دفتر"... دعنا نحاول إنشاء جدول XML بسيط فيه وفقًا للإرشادات المقدمة:


    يجب أن تبدو النتيجة النهائية كما يلي:




    25
    حقيقي


    يجب على جامعي XML معالجة هذا الرمز في شكل جدول بعمود واحد ، والذي يحتوي على بيانات حول إيفان إيفانوف معين.

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

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

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

    مستند XML

    دعنا نلقي نظرة على مستند XML التالي المسمى "shiporder.xml":

    جون سميث أولا نوردمان

    لانجت 23
    4000 ستافنجر النرويج الإمبراطورية هزلية طبعة خاصة 1 10.90 اخفي قلبك 1 9.90

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

    خط xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" يخبر المحلل اللغوي XML أنه يجب التحقق من صحة هذا المستند مقابل المخطط. خط xsi: noNamespaceSchemaLocation = "shiporder.xsd" يحدد مكان المخطط (في هذه الحالة ، يكون في نفس المجلد مثل ملف "shiporder.xml").

    إنشاء مخطط XML

    لنقم الآن بإنشاء مخطط XML لمستند XML أعلاه.

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

    ...

    نحن هنا نستخدم مساحة الاسم القياسية ( xs ) و URI المرتبط بمساحة الاسم هذه ، والتي لها قيمة افتراضية http://www.w3.org/2001/XMLSchema .

    الآن علينا تحديد العنصر سفينة النظام... هذا العنصر له خاصية ويحتوي على عناصر أخرى ، لذلك نتعامل معه كعنصر نوع مركب. تعريفات العنصر الفرعي سفينة النظامضع في الإعلان xs: تسلسل ، والتي تحدد تسلسلًا صارمًا للعناصر الفرعية:

    ...

    الآن دعنا نحدد العنصر مسؤول النظامالذي سيكون من نوع بسيط (لأنه لا يحتوي على أي سمات أو عناصر أخرى). نوعه ( xs: سلسلة ) مع مساحة الاسم المرتبطة بمخطط XML ، مما يشير إلى استخدام نوع بيانات محدد مسبقًا:

    الآن نحن بحاجة إلى تحديد: سافر على متن سفينة لو غرض... لنبدأ بتحديد العنصر سافر على متن سفينة ل:

    بمساعدة الرسوم البيانية ، يمكننا تحديد أي عنصر. سوف تساعدنا السمات في هذا. maxOccurs و minOccurs ... يصف maxOccurs يحدد الحد الأقصى لعدد تكرارات العنصر والسمة minOccurs يحدد الحد الأدنى لعدد التكرارات. بشكل افتراضي ، تكون قيمة كلتا السمتين هي 1.

    الآن دعنا نحدد العنصر غرض... يمكن استخدام هذا العنصر لعدد غير محدود من المرات داخل العنصر. سفينة النظام... تحديد هذه الميزة لعنصر غرضيسمح بإسناد السمة maxOccurs المعنى "غير محدود" ... هذا يعني أن العنصر غرضيمكن استخدامه عدة مرات حسب الحاجة من قبل مؤلف المستند. لاحظ أن العنصر ملاحظةاختياري. نحدد هذا من خلال تحديد السمة minOccurs إلى الصفر:

    الآن يمكننا أن نعلن عن سمة العنصر سفينة النظام... نظرًا لأن هذه سمة مطلوبة ، فإننا نستخدم التعريف استخدم = "مطلوب" .

    ملاحظة: يجب دائمًا الإعلان عن السمات أخيرًا:

    هذا هو الكود الكامل لملف مخطط "shiporder.xsd":

    تقسيم المخطط

    الطريقة السابقة لتخطيط المخطط بسيطة للغاية ، ومع ذلك ، عندما يكون المستند معقدًا للغاية ، يمكن أن تكون هذه الطريقة مرهقة للغاية بالنسبة للمخطط المقابل ، مما سيؤثر بشكل كبير على قابلية قراءته وصيانته.

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

    فيما يلي التنسيق الجديد لملف المخطط ("shiporder.xsd"):

    باستخدام الأنواع المسماة

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

    الطريقة الثالثة لربط ملف المخطط ("shiporder.xsd"):

    عنصر تقييديشير إلى أن نوع البيانات مشتق من أنواع البيانات في مساحة اسم W3C XML Schema. وبالتالي ، فإن قطعة الكود التالية تعني أن قيمة العنصر أو السمة يجب أن تكون سلسلة:

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

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

    لجميع الأمثلة أدناه ، يتم استخدام معيار لغة XSL. يتم أيضًا استخدام تعديل أكثر حداثة لهذا المعيار ، لغة XSL ، على نطاق واسع. تي، مزيد من التفاصيل التي يمكنك قراءتها في \ xml \ XSLTutorial أو MSDN.

    دعنا نلقي نظرة على مثال بسيط لملف XML (ex01.xml). يمكن العثور على هذا وأمثلة أخرى في المجلد \ xml \ XSLTForBeginers على القرص.



    ملاحظات XSL

    إذا فتحنا هذا الملف بتنسيق متصفح الانترنت Explorer ، سنرى نفس النص الموضح أعلاه ، جنبًا إلى جنب مع جميع العلامات ومعلومات الخدمة. لكننا لسنا بحاجة إلى العلامات ومعلومات الخدمة! نريد أن نرى فقط المعلومات ذات الصلة بالحالة ، وبمساعدة العلامات - للإدارة مظهر خارجيهذه المعلومة. يمكن حل هذه المهمة بسهولة وبساطة: تحتاج إلى إضافة قالب تحويل - ملف XSL - إلى ملف XML.

    دعنا نعيد كتابة ملف XML الخاص بنا على النحو التالي (ex01-1.xml).




    ملاحظات XSL

    وأنشئ ملف XSL ex01-1.xsl. يظهر نص الملف أدناه.






    إذا فتحنا الآن ملف ex01-1.xsl في المتصفح متصفح الانترنت، ثم سنرى أن مهمتنا قد تم حلها - فقط المعلومات التي نحتاجها تبقى على الشاشة ، واختفت جميع العلامات. تظهر النتيجة التي تحصل عليها على شاشة المتصفح أدناه.

    ملاحظات XSL

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

    دعنا نعيد كتابة ملف XML. لن نغير الجزء المعلوماتي ، لكننا نحدد نموذجًا آخر ex01-2.xml.




    ملاحظات XSL

    لنقم بإنشاء ملف XSL ex01-2.xsl. يظهر نص الملف أدناه.






    إذا فتحنا الآن ملف ex01-2.xsl في Internet Explorer ، فستكون النتيجة مختلفة.

    ملاحظات XSL

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

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

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

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

    الخطوات الأولى

    دعونا الآن نفحص المثال الأول بمزيد من التفصيل. دعونا نتذكر نصه.



    ملاحظات XSL

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

    الأسطر التالية هي نص ملف XML. يتكون من عناصر تشكل معًا بنية شجرية. يتم تحديد العناصر بواسطة العلامات ويمكن أن تتداخل مع بعضها البعض.

    يمكن أن تحتوي العناصر على سمات يمكن أيضًا معالجة قيمها وفقًا للقالب.

    يوجد دائمًا عنصر واحد في المستوى العلوي لملف XML. هذا هو ملف النموذج



    ملاحظات XSL



    "مقدمة إلى CSP"

    لن تتم معالجتها بواسطة المتصفح. للتحويل إلى ملف XML صالح ، تحتاج إلى إضافة علامات العناصر افضل مستوى، على سبيل المثال




    ملاحظات XSL



    "مقدمة إلى CSP"


    لاحظ أن أسماء العلامات حساسة لحالة الأحرف. يمكنك قراءة المزيد عن هذا في أي كتاب عن عناصر وسمات XML ؛ هذه الكتب تولي الكثير من الاهتمام.

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

    لكي يقوم المتصفح بإجراء التحويل اللازم ، تحتاج إلى تحديد ارتباط إلى ملف XSL في ملف XML


    الآن دعونا نلقي نظرة على نص ملف XSL






    يحتوي السطر الأول من الملف على علامة عنصر xsl: stylesheet. سمات العنصر هي رقم الإصدار ومرجع مساحة الاسم. هذه السمات الخاصة بعنصر xsl: stylesheet مطلوبة. في حالتنا ، فإن مساحة الاسم هي جميع أسماء العناصر وسماتها التي يمكن استخدامها في ملف XSL. بالنسبة لملفات XSL ، يكون مرجع مساحة الاسم قياسيًا.

    لاحظ أن ملف XSL هو نوع من ملفات XML. لا يحتوي على بيانات المستخدم ، لكن التنسيق هو نفسه. يحتوي الملف على عنصر المستوى الأعلى xsl: stylesheet ، متبوعًا بشجرة من قواعد التحويل.

    في هذا المستند ، لن نشرح بالتفصيل معنى كل عنصر في ملف XSL. سنقدم أمثلة مختلفة ونعرض النتيجة في كل مثال ، مما سيمكن من ربط عناصر مختلفة من ملف XSL وتحويلات ملف XML الأصلي بمعلومات المستخدم التي بدأتها هذه العناصر بشكل مستقل. لاحظ أيضًا أن قيمة السمة تحديدوما شابهها بمعنى "اختيار" مكتوب بلغة خاصة XPath، والتي يمكنك قراءتها بإيجاز في القرص \ xml \ XPathTutorial ، وبمزيد من التفاصيل في MSDN.

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

    في المثال الأول ، رأينا كيف يمكن استخدام xsl: value-of element لعرض محتوى عنصر (النص المحاط بين العلامات) بتنسيق HTML. سنرى الآن كيف يمكن استخدام نفس العنصر لعرض قيمة سمة العنصر.

    ضع في اعتبارك ملف XML التالي ex02-1.xml

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

    لتقدير مزايا مخطط XML على DTD ، دعنا نلقي نظرة فاحصة على العيوب الرئيسية لـ DTDs التي تم تصحيحها بنجاح في مخططات XML. لقد ذكرتها بالفعل في المقالة "" ، ولكن من أجل فهم أفضل ، دعنا نكررها.

    عيوب XML DTDs على مخطط XML

    1. بناء جملة اللغة بخلاف XML. أي أن DTD ليس XML. يمكن أن يؤدي ذلك إلى مجموعة متنوعة من المشكلات المتعلقة بتشفير مستندات XML والتحقق منها.
    2. لا يوجد فحص لنوع البيانات. يوجد نوع بيانات واحد فقط في DTDs XML - سلسلة. في هذا الصدد ، على سبيل المثال ، إذا كان هناك نص في حقل رقمي ، فسيظل المستند قيد التحقق ، نظرًا لأن XML DTD لا يمكنه التحقق من نوع البيانات.
    3. لا يمكنك مناظرة أكثر من وصف DTD لوثيقة XML واحدة. أي أنه يمكن التحقق من المستند مع وصف DTD واحد فقط. إذا كان هناك العديد منهم ، فسيتعين عليك إعادة الأوصاف ودمج كل شيء في ملف واحد ، وهو أمر غير مريح للغاية.

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

    مخطط XML - معيار الصناعة لوصف مستندات XML

    باختصار ، مخطط XML يقوم بما يلي:

    1. يصف أسماء العناصر والسمات (القاموس).
    2. يصف العلاقة بين العناصر والسمات وهيكلها (نموذج المحتوى).
    3. يصف أنواع البيانات.

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

    مثال مخطط XML للتحقق من صحة مستند XML

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

    مثال مخطط XML بسيط

    باستخدام هذا المخطط ، يمكنك التحقق من صحة مستند XML بالمحتوى التالي.

    <книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>أساسيات XML <цена>300

    لذا ، عد إلى مخطط XML الخاص بنا. كما لاحظت بالفعل ، يتم استخدام XML المعروف لنا بالفعل لإنشاء مخططات XML. الاختلاف الوحيد هنا هو أن مخطط XML يعرف بالفعل العناصر ، على عكس XML العادي. لهذا السبب ، يتم استخدام مساحات الأسماء. في هذه الحالة ، مساحة الاسم المطلوبة هي "http://www.w3.org/2001/XMLSchema" ، والتي ستكون مسبوقة بـ "xs".

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

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

    • - نعلن عن عنصر "كتاب" بنوع "كتاب".
    • - نعلن عن نوع معقد يسمى "Book" (xs: complexType - قد يحتوي على عناصر متداخلة).
    • - إعلان التعشيش. أي أن النوع سيحتوي على عناصر متداخلة.
    • - نعلن عن عنصر باسم "name" (من النوع القياسي "string" - xs: string).
    • - نعلن عن عنصر يسمى "السعر" (من النوع القياسي "رقم" - xs: عشري).

    كما ترى ، لا يوجد شيء معقد للغاية هنا. إذا فكرت في الأمر ، فكل شيء بسيط للغاية.

    عناصر مخطط XML الأساسية

    باختصار ، يمكن وصف مخطط XML على النحو التالي.

    دائرتك

    كما ترى من المثال ، يتكون كل مخطط XML من عنصر جذر "مخطط" ومساحة اسم مطلوبة "http://www.w3.org/2001/XMLSchema". فيما يلي وصف للدائرة والدائرة نفسها. في الوقت نفسه ، غالبًا في المخططات عالية الجودة ، يكون الوصف أكبر بكثير من مخطط XML نفسه.

    وصف العناصر في مخطط XML

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

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

    كما ترى من المثال ، يتم التصريح عن العنصر باستخدام "عنصر" البناء الخاص باستخدام البادئة المناسبة. في هذه الحالة ، نحدد عنصرًا باسم "root" بدون تحديد نوع (نوع) ، حيث سيتم وصفه داخل العنصر. أي أن هناك طريقتان لوصف العناصر.

    1 الطريق

    اكتب الوصف

    2 طريقة

    وصف نوع العنصر

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

    علاوة على ذلك ، بعد إعلان العنصر ، نشير إلى أنه من النوع المعقد ( ) وعدّد ( ) العناصر المتداخلة. في هذه الحالة ، هذه هي العناصر اسم وعمر مع أنواع "xs: string" و "xs: صحيح". تعني بادئة xs أن هذا نوع أساسي موصوف بالفعل في معيار مخطط XML.

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

    كيف مخطط XML وتعيين المستند

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

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

    مخطط XML

    مستند XML

    الآن دعونا نلقي نظرة فاحصة على كل سطر.

    • targetNamespace = "http://www.site.com" - حدد مساحة الاسم لمخطط XML هذا.
    • xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" - قم بتوصيل مساحة الاسم حيث يتم وصف السمة "schemaLocation".
    • xsi: schemaLocation = "http://www.site.com/product.xsd" - حدد مكان وجود المخطط في حالة عدم معرفة المحلل اللغوي لمكانه. إذا كان مستند XML لا ينتمي إلى أي مساحة اسم ، وبالتالي لا يوجد مرجع له في المخطط ، فسيتم استبدال السمة "schemaLocation" بـ "noNamespaceSchemaLocation" (مرجع إلى المخطط بدون تحديد مساحات الأسماء).

    هذا كل شئ. حظا سعيدا ونتمنى لك التوفيق في تعلم XML!