هل يمكنني استخدام xtext ل DSL تنطوي على نوع ملف XML؟

StackOverflow https://stackoverflow.com/questions/2407746

سؤال

لقد حددت DSL صغيرا مكتوبا في الغالب في شكل أنواع مختلفة من ملفات XML بالامتداد مع بعض ملفات الخصائص. يعمل هذا بشكل جيد للغاية ولكنني أرغب في إنشاء محرر Eclipse لجعل تحرير هذه الملفات أسهل للمبتدئين (لدي بالفعل محلل يعمل).

يمكن لملف XML الرئيسي الرجوع إلى بعض العناصر من ملفات .properties والنائب بالعكس. يمكن لملف XML الرئيسي أيضا الرجوع إلى ملفات XML الأخرى. يجب أن تكون بعض الخيارات متاحة فقط في ملف XML الرئيسي استنادا إلى محتويات ملفات .properties واستنادا إلى بعض الإضافات OSGI التي يمكن إضافتها إلى مشروع DSL (بناء الجملة ديناميكي اعتمادا على السياق). تم إصلاح هيكل اللغة ولكن الخيارات المتاحة في كل سمة أو اختيار السمات أنفسهم يتغير اعتمادا على البيانات الوصفية الموجودة في ملفات المساعد .jar.

أسئلة:

هل دعم Syntax دعم XTEXT (تغييرات التحقق من الصحة اعتمادا على العوامل الخارجية)؟
هل دعم xml دعم ملفات XML / .Properties؟

شكرا جزيلا لمساعدتكم مقدما لك.

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

المحلول

يرجى قراءة وثائق xtext..

هل دعم Syntax دعم XTEXT (تغييرات التحقق من الصحة اعتمادا على العوامل الخارجية)؟

صحة XTEXT تلقائيا بناء الجملة باستخدام تعريف القواعد. بالإضافة إلى ذلك، يمكنك كتابة صحة تعسفية في Java أو Check.

هل دعم xml دعم ملفات XML / .Properties؟

إذا حددت قويما لهم، بالطبع. ؛) أي منهم صعب للغاية.

نصائح أخرى

لا أفهم تماما ما أنت عليه بعد ذلك، ولكن إذا كان لديك XSD، فهل تفكر في تشغيل ذلك في نموذج Ecore، ثم بناء قواعد حكيمة ثانية لذلك؟ أو إذا كنت تبدأ من نقطة الصفر، فقم بإنشاء قواعد اللغة الخاصة بك أولا، ثم قم بتصدير ECORE ك XSD، واستخدم المساعدين كما لو كنت قد نشرت في بلدي http://blog2.vorburger.choice2/07/xtext-xml.html. ب هث.

إذا لم يكن لديك XML / XSD، وماذا كنت في جوهرها هو حقا أكثر قراءة قابلة للقراءة (يقول JSON-Like، ولكن مكتوب بشدة؟ "Generic" DSL لهياكل البيانات مقيدة من قبل نوع من "META نموذج "(قل تم التعبير عنه في Xcore، وهو DSL لنموذج EMF ECORE، والذي يمكنك استيراده من XSD ..)، فربما ربما تدوين كائن بسيط EMF ESON (EX-EXFAFTORY) في https://github.com/vorburger/iefactory. من مصلحة لك؟

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