استخدام XML كقاعدة بيانات exist-db

أقوم بالبحث عن موضوع استخدام xml كقاعدة بيانات لموقع ويب باستخدام تقنيات xml مثل

XSLT XQUERY XPATH XFORM

هناك عدة برامج لإدارة قواعد البيانات XML ومنها exist-db وهذا موقعهم:

http://exist-db.org

ما وجدته يدور حول استخدام xquery و xpath بشكل عام باستخدام اداة تسمى exite داخل exist-db

لكن لم أجد مصدر واضح يبين كيفية تصمميم الموقع وبناءه ونشره ليعمل باستخدام exist-db

أرجو ممن لديه خبره سابقة في هذا المجال أن يدل على بداية الطريق


قبل سنة تقريبا استخدم basex كقاعدة بيانات ..

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

بما انك لم تجب سؤالي .. انا لا اعرف اين تواجه مشكلة!

اعتقدت أني اجبتك ضمن ردي السابق. طلبت توضيح وقمت بالتوضيح حسب معلوماتي البسيطة حول الموضوع.

هذا الموضوع جديد بالنسبة لي، لكني مضطر لمعرفته ودراسته، ويبدو أنك تملك تجربة قد تفيدني بها، وسأقوم بتجزئة السؤال لأسئلة أصغر.

  1. بالنسبة لتصميم الموقع: أنت قمت بتصميمه باستخدام HTML CSS Javascript ? أليس كذلك؟ كيف يتم تضمين هذه الملفات ضمن مشروع من هذا النوع؟ هناك مسارات مخصصة توضع فيها، ويتم استدعاءها بشكل آلي لتوليد الصفحة أثناء التشغيل أليس كذلك run-time ؟

  2. هل هناك أجزاء في صفحات موقعك يتم توليدها من خلال xquery باستخدام FLWOR أو RESTXQ في حالتك باستخدام XBASE وفي الرابط مثال لما أقصده

  1. حسب ما قرأت إلى الأن تقوم exist-db بفصل إجزاء كود الصفحة التي قبل body عن الكود الذي سيتم كتابته، والمبرمج يبدأ الكتابة فورا كأنه ضمن body بتاغ div

والرابط التالي مثال لما أقصد في فقرة The HTML Templating Framework وما بعدها

لاحظ أيضا في نفس الصفحة السابقة مثال Hello world

والسؤال هنا ماذا لو أردت أن يكون توليد الصفحة مغاير للـ Template ، هل هناك طريقة لربط المشروع بأكثر من Template ?

  1. كيف يتم عمل insert update delete باستخدام تقنيات XML أم أنك تستخدم لغات أخرى مثل php أو asp لذلك؟

  2. كيف يتم عمل Authentication مثلا لتسجيل الدخول وحفظ المتغيرات على مستوى السيشن على سبيل المثال.

حل المشاكل في النقاط المذكورة يمكنني من بناء موقع يتعامل بشكل كامل مع XML وبالتالي يمكن القول بأن الموقع هو native XML website لأنه لا يحتاج لأي شيء أخر أو لغة أخرى أو مكتبة مثل asp jsp php وغيرها من اللغات وهذا هو الهدف النهائي استخدام تقنيات XML (خطين تحت استخدام تقنيات XML) لبناء موقع ديناميكي يعتمد اعتماد كلي على XML والنتيجة native XML website

وهو ما يدعمه بطبيعة الحال عدد من المحركات مثل exist-db أو basex أو sedna

الموضوع جديد بالنسبة لي، وأحب أن أسألك حول basex هل هناك tutorial لها؟ وإن كان باستطاعتك إرسال بعض النماذج لعملك أو بعض الأكواد البسيطة قد استفيد منها جزاك الله خيرا.

ملاحظة: (الترقيم المستخدم من 1 إلى 5 متسلسل والنقطتين الأخيرتين هما 4 و 5 وليس ترقيم جديد 1 و2 لكن النص يتبدل بشكل تلقائي عند التعديل ... نرجو من hsoub العمل لإصلاح الخلل )

سؤال 1) ربط جافا سركبت وcss مع ملف xsl

سؤال 2 و 3 ) استخدم xsl لتحويل بيانات xml الى html

سؤال 3 ) جميع الاوامر من حذف , اضافة و تحديث

سؤال 4) انا اكتب الخادم ب nodejs 

اذا كنت تريد حفظ session في basex عليك برمجة ذلك لوحدك لا يوجد شئ جاهز.

استخدم passport مع session وفيها serializeUser و deserializeUser فيها تقوم بالتواصل مع basex لجلب معلومات العضو.

للاسف وقت ما برمجت مشروعي لم اجد شروحات كافية.

لبناء موقع ديناميكي يعتمد اعتماد كلي على XML

تحتاج ل سيرفر سواء كان php او غير ليقوم بمعالجة طلبات http وارسال ملفات html المولدة عن طريق xslt و css و javascript

لا تستطيع فعل ذلك فقط ب xml

شكرا لك على ردك، 

العمل متشابه في النقاط السابقة لكن الفرق في النقطة الأخيرة 

قرأت حول basex ويبدو أنه يوفر طريقة ليعمل كسيرفر للرد على طلبات HTTP

لكن إعداده يحتاج لعدة خطوات بينما exist-db يقوم بالمهمة كاملة ولايحتاج شيء سوى عمل Install ويعمل كخادم لطلبات HTTP، وأعتقد sedna كذلك ما يعني توفير الوقت والجهد وربما هذه الأسباب لن تجعلني أستخدم basex للتركيز أكثر على ناحية العميل.

اسعدني جدا ردك.