Я использую EMF и создал свой ecore из XSD.
Я заметил, что XML, сохраняемый редактором, имеет элемент DocumentRoot, который не является частью моего исходного XSD. Можно ли как-то не сгенерировать его, чтобы его не было в XML-файлах редактора?
идо
Если у вас нет глобальных элементов или атрибуты в вашей схеме, то вы не получит корень документа. Но из Конечно, ваша схема не указала единственный способ написать документ в этом случай, это только определенные типы и вещи, которые можно использовать в другом схемы. Некоторая схема понадобится объявить глобальный элемент для того, чтобы укажите корень документа.
источник: dev.eclipse.org
Корень документа создается, если ваш модель имеет один, и вы используете расширенная опция метаданных во время погрузка. Корень документа имеет особенности, которые соответствуют каждому из ваши глобальные элементы, и особенность документа корень, который на самом деле установлен, когда десериализация будет точно соответствовать к корневому элементу, который появляется в сериализация. С помощью EObject.eContents (). Get (0) на Корневой экземпляр документа вернет дочерний EObject документа root, и eContainmentFeature этого ребенка () будет соответствовать вашему глобальному элемент. Хорошо иметь в виду, что элементы соответствуют признакам, которые эти типы соответствуют классификаторам. Поскольку EClass соответствует сложный тип, имеющий экземпляр EClass (сложный тип) не достаточно информации, чтобы сказать, что элемент, который должен быть сериализован как; это определяется eContainmentFeature (), поэтому Корень документа необходим для указания корневой элемент, потому что без eContainer не может быть значимое eContainmentFeature ().
Корень документа создается, если ваш модель имеет один, и вы используете расширенная опция метаданных во время погрузка. Корень документа имеет особенности, которые соответствуют каждому из ваши глобальные элементы, и особенность документа корень, который на самом деле установлен, когда десериализация будет точно соответствовать к корневому элементу, который появляется в сериализация. С помощью EObject.eContents (). Get (0) на Корневой экземпляр документа вернет дочерний EObject документа root, и eContainmentFeature этого ребенка () будет соответствовать вашему глобальному элемент.
Хорошо иметь в виду, что элементы соответствуют признакам, которые эти типы соответствуют классификаторам. Поскольку EClass соответствует сложный тип, имеющий экземпляр EClass (сложный тип) не достаточно информации, чтобы сказать, что элемент, который должен быть сериализован как; это определяется eContainmentFeature (), поэтому Корень документа необходим для указания корневой элемент, потому что без eContainer не может быть значимое eContainmentFeature ().
Попробуйте список рассылки .