如何不将DocumentRoot写入XML

时间:2009-11-10 05:28:10

标签: java eclipse eclipse-plugin eclipse-emf

我正在使用EMF,我从XSD创建了我的ecore。

我注意到编辑器保存的XML有元素DocumentRoot,它不是我原来的XSD的一部分。我可以以某种方式不生成它,因此它不会出现在编辑器的XML文件中吗?

1 个答案:

答案 0 :(得分:0)

  

如果您没有全球元素或   你的架构中的属性,然后你   不会获得文档根目录。但是   当然你的架构没有指定   单一的方式来写这个文件   case,它只定义了类型和   可以在另一个中使用的东西   架构。某些架构需要   声明一个全局元素   指定文档的根目录。

来源:dev.eclipse.org

  

如果你的话,就会创建一个文档根目录   模特有一个,你正在使用   扩展的元数据选项   加载。文档根目录   与每个对应的功能   你的全球元素和   该文件的特殊功能   实际设置的root   反序列化将完全对应   到出现的根元素   序列化。运用   EObject.eContents()。get(0)on   文档根实例将返回   子文件的子EObject,   那个孩子的eContainmentFeature()   将对应您的全球   元件。

     

记住这一点很好   元素对应于那些特征   这些类型对应于分类器。   由于EClass对应于a   复杂类型,具有一个实例   EClass(复杂类型)不是   足够的信息来说明什么   应序列化为的元素;   这是由...决定的   eContainmentFeature(),这就是为什么一个   需要文档根来指定   根元素,因为没有   eContainer不可能有   有意义的eContainmentFeature()。

来源:dev.eclipse.org

尝试mailing list