3

Xtext 経由で DSL を作成しましたが、エディターで作成したモデルを別のモデルに変換する必要があります。最も簡単な方法は、ある種の M2M 変換フレームワークを使用することだと思いますが、テキスト ファイルの背後にあるモデルにアクセスする必要があります。質問: モデルへの参照を取得するにはどうすればよいですか?

4

1 に答える 1

1

Xtext によって作成されたモデルには、それらのために作成されたリソース ファクトリもあります。テキスト ファイルを EMF モデルとしてロードしようとすると、EMF はテキスト ファイルの拡張子に使用できるリソース ファクトリを探します。そこから、Xtext はテキスト ファイルを EMF モデルに変換し、作成されたモデルを EMF に渡します。テキスト ファイルを右クリックし、[open with] および [sample Reflective ecore model editor] を選択すると、このメカニズムの動作を確認できます。したがって、次のようなものが機能するはずです。

ResourceSet rs = new ResourceSetImpl();
Resource r = rs.getResource(uriOfYourTextualFile, true);
List<EObject> contentOfYourFile = r.getContents();
于 2012-08-07T14:58:28.140 に答える