4

私は小さな DSL を定義しました。この DSL の大部分は、いくつかのプロパティ ファイルと組み合わせて、さまざまな種類の XML ファイルの形式で記述されています。これは非常にうまく機能しますが、これらのファイルを初心者が簡単に編集できるように Eclipse エディターを作成したいと考えています (既にパーサーが動作しています)。

メインの XML ファイルは、.properties ファイルの一部の項目を参照でき、その逆も可能です。メインの xml ファイルは、他の XML ファイルを参照することもできます。特定のオプションは、.properties ファイルの内容に基づいて、および DSL プロジェクトに追加できる一部の osgi プラグインに基づいて、メインの xml ファイルでのみ使用できるようにする必要があります (構文はコンテキストに応じて動的です)。言語の構造は固定されていますが、各属性で使用できるオプションまたは属性自体の選択は、プラグインの .jar ファイルに含まれるメタデータによって異なります。

質問:

XText は動的構文をサポートしていますか (検証は外部要因に応じて変化します)?
XText は XML ファイル / .properties ファイルをサポートしていますか?

よろしくお願いいたします。

4

3 に答える 3

3

Xtextのドキュメントをお読みください。

XText は動的構文をサポートしていますか (外部要因によって検証が変化します)?

Xtext は、文法定義を使用して構文を自動的に検証します。さらに、Java または Check で任意の検証を作成できます。

XText は XML ファイル / .properties ファイルをサポートしていますか?

もちろん、それらの文法を定義する場合。;) どちらも難しすぎません。

于 2010-03-10T11:55:15.930 に答える
2

あなたが何を求めているのか完全にはわかりませんが、XSD をお持ちの場合、それを Ecore モデルに変換し、そのための Xtext 文法を構築することを検討していますか? または、ゼロから始める場合は、最初に DSL 文法を作成してから、ecore を XSD としてエクスポートし、http://blog2.vorburger.ch/2012/07/xtext-xml に投稿したばかりのヘルパーを使用します。 html ? HTH。

于 2012-07-14T02:58:39.417 に答える
1

XML / XSD を使用する必要がなく、本質的に求めているのは、より読みやすい (たとえば、JSON に似ていますが、厳密に型指定されたものですか?) 何らかの「メタデータ」によって制約されるデータ構造の「汎用」DSL を使用することです。モデル」(XSD からインポートできる EMF Ecore モデルの DSL である XCore で表現されているとします..)、それからおそらくhttps://github.comにある私の EMF Simple Object Notation ESON (ex-EFactory) /vorburger/efactoryに興味がありますか?

于 2014-02-08T19:54:50.307 に答える