السلام عليكم ورحمة الله تعالى وبركاته
ما فائدة xml shema
اريد شرح مع مثال وان كان فيه اي روابط بالعربية للتحدث عن هذه التقنية والسلام عليكم
السلام عليكم ورحمة الله تعالى وبركاته
ما فائدة xml shema
اريد شرح مع مثال وان كان فيه اي روابط بالعربية للتحدث عن هذه التقنية والسلام عليكم
[وعليكم السلام
هي عبارة عن وصف لملف اكس امل ال نستخدمها حتى نجبر من يريد استخدام هذا الملف على اتباع قواعد معينة اثناء كتابة الاكسمل. . مثال:
لو فرضنا أنك تريد كتابة ملف اكسمل يصف معلومات كائن من نوع طالب فسيكون شكل الملف شبيه بالتالي
<student> <name> Ahmad</name> <id>12</id> </student> <student> <name>Muhammad</name> <id>22</id> </student>
كما تلاحظ ، هناك أكثر من طالب لكل طالب اسم و رقم ، لذلك لو عملت برنامج يقرأ ملف الاكسمل هذا فستفرض أنه مكتوب بطريقة صحيحة. . يعني كل طالب له اسم واحد ، لكن قد تتفاجأ أن الملف يحتوي على طالب له اسمين اثنين ؟ هل هذا معقول ؟ هذا خطأ ، وقد تواجه مشكلة برمجية لأنك لا تعرف شكل واضح لملف الاكسمل.
اذا نحن نحتاج لسكيما نلجأ لها تحدد لنا ماهية الملف ، بمعنى نريد سكيما تقول لنا كل ملف اكسمل يمكن يحتوي على أكثر من طالب ،و كل طالب له اسم واحد و رقم واحد و كل اسم طوله لا يزيد عن 255 حرف و الاسم يأتي أولاً بعد ذلك رقم الطالب
لاحظت ؟
لذلك عندما تريد تكتب برنامج يقرأ ملف الاكسمل كل ما عليك أن تطابقه مع هذه السكيما لو اختلت الشروط فتعرف حينها أن هذا الملف مضروب ولا يتطابق مع المعايير التي حدثثتها
كيف أحدد السكيما ؟
عدة طرق اشهرها DTD وهي الاسهل و لكنها محدودة ، ولككن بشكل عام أغلب السكيما يمكن تكتبها باستخدام DTD
هناك طرق أخرى مثل
Xml schema and RELAX وغيرها و لكن رأيي أن تبدأ مع dtd حتى تتضح لك الصورة
أمثلة عامة
XHTML, مثلا له سكيما و هو عبارة عن ملف اكسمل لذلك أي متصفح انترنت يقرأ ملف XHTML فسيعرف بسهولة ان كان هذا
الملف هو عبارة عن XHTML و ليس صورة من نوع svg مثلا. . يتم هذا عن طريق مطابقة محتويات الملف بالكسيما الخاصة لذلك لو حاولت كتابة شيء كهذا :
<h1> <blabla> Test </blabla> </h1>
فسيعطيك تنبيه وخطأ أن العنصر blabla غير معرف في السكيما واستخدامه خاطئ و قد يسبب مشاكل برمجية اثناء قراءة ملف
HTML
الخلاصة
فكرة السكيما هي مثل فكرة الكسيما في قواعد البيانات التي تعتمد على الجداول. . حيث قبل أن نبدأ بكتابة كود SQL نقوم أولاً بإنشاء الجدول
Create Table Student(name varchar(255),id int);
لذلك لن تستطيع ان تضيف شيء جديد غير موجود في السكيما. . ستتقيد بنفس الاعمدة و انواعها. . نفس الفكرة طبقوها في اكسمل. .
تطبيق طمأنينة ، نسخة بيتا على أندرويد
عبدالله الشمّري - Al-Shammari
twitter @abshammeri
abshammeri AT gmail.com
github : abshammeri
السلام عليكم ورحمة الله وبركاته
شكرا رد كافي ولكن يعني اذا حبيت اعمل shema ل ملف xml يجب الالمام ب DTD
هكذا ..! وعيدكم مبارك والسلام عليكم