1

XtextでDSLを作成する必要があります。これにより、既存のXML言語が単純化されます。言い換えれば、DSLを作成し、Xtextを使用してそれをXMLに変換する必要があります。これまで文法を書きましたが、問題はそれに基づいてXMLを生成する方法です。同様のことを行う方法についてのチュートリアルを知っていますか?特に、新しいXtextプロジェクトを作成すると、ほとんどのチュートリアルに示されているように、projectcame.generatorプロジェクトが生成されないという事実に問題があります。

4

2 に答える 2

3

Xtext2.2を使用していると思います。

専用のジェネレータープロジェクトは、言語インフラストラクチャの一部であるジェネレーターに直接置き換えられました。ランタイムプラグインのyourdsl.generatorパッケージを掘り下げたいと思うかもしれません。そこには、EMFリソースを取得し、そこからテキストを作成できるスタブ実装があります。ステートマシンの例では、そのアプローチを使用してJavaコードを生成しますが、XMLまたはそこから必要なものを生成することもできます。

XMLが特定のスキーマと一致する場合は、もちろん、モデルをターゲットモデルの有効なインスタンスに変換し、XMLResource.save()などのEMF標準機能を使用してシリアル化することができます。

于 2012-05-23T07:22:59.857 に答える
0

理論的には、生成された EMF Java モデルを JiBX でバイト拡張し、必要な XML への JiBX マッピングを使用できます。ただし、これはモデルにとってはやり過ぎかもしれません (ターゲット ドキュメントがどれほど複雑かによって異なります)。

私は EMF クラスでこれを行っていないことを警告しなければなりません。私のプロジェクトは、最初に私の EMF モデルを、JiBX で拡張された既存の POJO モデルに変換しました。しかし、彼らが振る舞うと仮定すると、うまくいくはずです。

于 2012-05-23T21:25:21.123 に答える