If you have no global elements or
attributes in your schema, then you
won t get a document root. But of
course your schema has not specified a
single way to write a document in this
case, it s only defined types and
stuff that can be used in another
schema. Some schema will need to
declare a global element in order to
specify the root of a document.
source: dev.eclipse.org
A document root is created if your
model has one and you are using the
extended meta data option during
loading. The document root has
features that correspond to each of
your global elements, and the
particular feature of the document
root that s actually set when
deserializing will correspond exactly
to the root element that appears in
the serialization. Using
EObject.eContents().get(0) on the
document root instance will return the
child EObject of the document root,
and that child s eContainmentFeature()
will correspond to your global
element.
It s good to keep in mind that
elements correspond to features that
that types correspond to classifiers.
Since an EClass corresponds to a
complex type, having an instance of an
EClass (complex type) is not
sufficient information to say what
element that should be serialized as;
that s determined by
eContainmentFeature(), so that s why a
document root is needed to specify the
root element, because without an
eContainer there cannot be a
meaningful eContainmentFeature().
source: dev.eclipse.org
Try the mailing list.