質問

どのように変換 .xsd-ファイル .ecore-ファイル?

はありまEclipseプラグインですか?

役に立ちましたか?

解決

そのた私にとって:

  • →新規→プロジェクト...
  • Eclipseモデリングの枠組み->EMFプロジェクト
  • モデルの輸入業者は: XMLスキーマ
  • モデルのUri: [選択xsdファイル]

るrevalidateます。ecore-ファイルがxsdを変更:

  • 右クリック .genmodelファイル
  • リロード...

他のヒント

ない場合は新しい潤プロジェクト毎にインポートするスキーマとしてECoreモデルそのもありないというこ

  • 新> 磁界発生装置モデル (Eclipseのモデリングの枠組み")
  • を押し次へ
  • 選択フォルダとフォルダ ファイル名の指定 において、拡張子"genmodel")
  • を押し次へ
  • を選択"XMLスキーマ"をモデルとして輸入業者
  • を押し次へ
  • 選択URIへ XSD
  • (オプションを選択し、目盛りのボックス"をXMLスキーマをEcore地図"が生成してください。xsd2ecoreマップファイル)
  • を押し次へ
  • すべて選択希望 ルートパッケージ
  • プレス 仕上げ

例クラス。私が輸入をクリーンアップしませんでした。

 

import org.eclipse.emf.common.util.URI;

import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;

import org.eclipse.emf.ecore.*;
import org.eclipse.xsd.*;
import org.eclipse.xsd.ecore.XSDEcoreBuilder;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.xmi.*;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.emf.edit.ui.*;


public class Xsd2Ecore {

    public static void main(String[] args) {
        Xsd2Ecore x2e = new Xsd2Ecore();
        x2e.go("UMLVersions/V1.0.0/UML2XMI.xsd", "UMLVersions/V1.0.0/UML2100.xmi");
    }


    public void go(String sourcename, String targetname) {

        System.out.println("Starting");

        XSDEcoreBuilder xsdEcoreBuilder = new XSDEcoreBuilder();
        ResourceSet resourceSet = new ResourceSetImpl();
        Collection eCorePackages = xsdEcoreBuilder.generate(URI.createFileURI(sourcename));

        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xmi", new XMIResourceFactoryImpl());
        Resource resource = resourceSet.createResource(URI.createFileURI(targetname));

        for (Iterator iter = eCorePackages.iterator(); iter.hasNext();) {
            EPackage element = (EPackage) iter.next();
            resource.getContents().add(element);
        }

        try {
            resource.save(null);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("Finished");

    }

}

あなたは試してみました。

eclipse –console –noExit –noSplash -data C:\temp\emf-ws
    -application org.eclipse.xsd.ecore.importer.XSD2GenModel

これは、のXSDのあなたのセットに対して.ecoreと.genmodelを生成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top