どのように変換すXSDをEcore(EMF)
-
21-08-2019 - |
質問
どのように変換 .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を生成します。
所属していません StackOverflow