Как не писать DocumentRoot в XML - PullRequest
       11

Как не писать DocumentRoot в XML

1 голос
/ 10 ноября 2009

Я использую EMF и создал свой ecore из XSD.

Я заметил, что XML, сохраняемый редактором, имеет элемент DocumentRoot, который не является частью моего исходного XSD. Можно ли как-то не сгенерировать его, чтобы его не было в XML-файлах редактора?

идо

1 Ответ

0 голосов
/ 10 ноября 2009

Если у вас нет глобальных элементов или атрибуты в вашей схеме, то вы не получит корень документа. Но из Конечно, ваша схема не указала единственный способ написать документ в этом случай, это только определенные типы и вещи, которые можно использовать в другом схемы. Некоторая схема понадобится объявить глобальный элемент для того, чтобы укажите корень документа.

источник: dev.eclipse.org

Корень документа создается, если ваш модель имеет один, и вы используете расширенная опция метаданных во время погрузка. Корень документа имеет особенности, которые соответствуют каждому из ваши глобальные элементы, и особенность документа корень, который на самом деле установлен, когда десериализация будет точно соответствовать к корневому элементу, который появляется в сериализация. С помощью EObject.eContents (). Get (0) на Корневой экземпляр документа вернет дочерний EObject документа root, и eContainmentFeature этого ребенка () будет соответствовать вашему глобальному элемент.

Хорошо иметь в виду, что элементы соответствуют признакам, которые эти типы соответствуют классификаторам. Поскольку EClass соответствует сложный тип, имеющий экземпляр EClass (сложный тип) не достаточно информации, чтобы сказать, что элемент, который должен быть сериализован как; это определяется eContainmentFeature (), поэтому Корень документа необходим для указания корневой элемент, потому что без eContainer не может быть значимое eContainmentFeature ().

источник: dev.eclipse.org

Попробуйте список рассылки .

...