EMF = Eclipse Modeling Framework
我必须在我的一个班级项目中使用EMF.我试图了解如何使用EMF执行以下操作:
我需要使用以下所有内容:EMF(不知道是什么)和JPA(DONE).
我使用过JAXB,我知道,这可以使用JAXB完成,但是(EMF == JAXB)怎么办?!
我使用EMF创建了许多java类,但是它们有很多!我在哪里实现读/写方法以及如何运行EMF项目?
谢谢
UPDATE1 提示 http://www.eclipsezone.com/eclipse/forums/t58829.html
UPDATE2
我有架构,我使用.xsd生成了模型代码.现在我在从XML文件中读取数据时遇到了问题.
假设我有一个XML文档(表示为文本,W3C DOM,无论如何),还有一个XML Schema.XML文档具有模式定义的所有正确元素,但顺序错误.
如何使用模式"重新排序"文档中的元素以符合模式定义的顺序?
我知道这应该是可能的,可能使用XSOM,因为JAXB XJC代码生成器使用元素的正确序列化顺序来注释其生成的类.
但是,我不熟悉XSOM API,它非常密集,所以我希望你们中的一个人有一些经验,可以指出我正确的方向.像"在这个父元素中允许哪些子元素,以什么顺序?"之类的东西.
让我举个例子.
我有一个像这样的XML文档:
<A>
<Y/>
<X/>
</A>
Run Code Online (Sandbox Code Playgroud)
我有一个XML Schema,它说<A>必须是一个<X>后跟a的内容<Y>.现在显然,如果我尝试根据模式验证文档,它会失败,因为<X>并且<Y>顺序错误.但我知道我的文档提前是"错误的",所以我还没有使用模式进行验证.不过,我不知道,我的文档具有所有正确的元素由模式只是在错误的顺序定义.
我想要做的是以编程方式检查Schema(可能使用XSOM - 这是XML Schema的对象模型),并询问它<A>应该是什么内容.API将公开"您需要<X>后跟a <Y>"的信息.
所以我使用我的XML文档(使用DOM API)并相应地重新安排,以便现在文档将根据模式进行验证.
了解XSOM在这里是什么很重要 - 它是一个java API,它表示XML Schema中包含的信息,而不是我的实例文档中包含的信息.
我不想做的是从架构生成代码,因为架构在构建时是未知的.此外,XSLT没有用,因为元素的正确排序仅由模式中包含的数据字典决定.
希望现在已经足够明确了.