2
XSDで生成されたecoreでEMFを使用しています。今、私は、生成されたファイルが有効ではないということを知っています。ドキュメントルートの作成を無効にする方法
- は属性が間違った総額を持って
- 挿入DocumentRootの要素があります: は2つの理由があります。
事がある:それは、モデルの問題ではありませんEMF発生したエディタで出力が正確であることから、それは保存処理のPropblem(ある
まず正しい結果:。
<?xml version="1.0" encoding="UTF-8"?>
<model:widgetspecification xmlns:model="http://test.com/model" Description="DESC" Name="NAME">
<model:Property Name="PROP1"/>
<model:Property Name="PROP2/>
</model:widgetspecification>
実際の結果:最後にプロシージャを保存
<?xml version="1.0" encoding="ASCII"?>
<model:DocumentRoot xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:model="http://test.com/model">
<widgetspecification description="DESC" name="NAME">
<property name="PROP1"/>
<property name="PROP2"/>
</widgetspecification>
</model:DocumentRoot>
と(単に出力SYSOUTに)
Resource resource = new XMIResourceImpl();
resource.getContents().add(modelRoot);
resource.save(System.out, Collections.EMPTY_MAP);
(もちろんEMFは、コードが多く、より複雑である生成が)悲しいことに、私は貯蓄ルーチン内の関連の違いを見つけることができませんでした - 私はs.th.を逃したかもしれないと思います私はまだ何も見つけていない)。 EMFで生成されたファイルはUTF-8ですが、このオプションが設定されている参照は見つかりませんでした。