2009-11-10 3 views
1

EMF를 사용 중이며 XSD에서 ecore를 만들었습니다.XML에 DocumentRoot를 쓰지 않는 방법

편집기에서 저장하는 XML 요소가 원래 XSD의 일부가 아닌 DocumentRoot 요소를 가지고 있습니다. 어떻게 든 생성 할 수 없으므로 편집기의 XML 파일에 포함되지 않습니까?

이도

답변

0

더 글로벌 요소 또는 스키마에 속성이없는 경우에, 당신은 문서 루트을받지 않습니다. 그러나 물론 스키마에서이 사례에서 문서를 작성하는 단일 방법을 지정하지 않았 으면 스키마를 사용할 수 있습니다. 스키마에만 사용할 수있는 유형이며스키마에서 사용할 수 있습니다. 어떤 스키마는 전역 요소를 선언하여 문서의 루트를 지정해야합니다.

소스 : 당신의 모델에 하나가있는 경우 dev.eclipse.org

문서 루트가 생성되고 당신은 로딩 중 확장 된 메타 데이터 옵션을 사용하고 있습니다. 문서 루트는 글로벌 각 요소에 해당 기능 및 역 직렬화 정확히 직렬화에 표시되는 루트 요소에 대응 때 실제로 설정되어 문서 루트의 특정 기능이 있습니다. EObject.eContents를 사용하여(). 문서 루트, 및 그 아이의 eContainmentFeature() 는 글로벌 요소에 해당하는 의지의 아이 EObject를을 반환합니다 문서 루트 인스턴스 (0) 얻을.

요소는 해당 유형이 분류 자와 일치하는 인 기능에 해당합니다. EClass가 복합 유형에 해당하므로 EClass (복합 유형)의 인스턴스가 이 아니고 어떤 정보를 직렬화해야 하는지를 나타내는 충분한 정보가 아닙니다. eContainmentFeature()에 의해 결정, 그래서 문서 루트가 루트 요소를 지정하는 데 필요한 이유는 eContainer없이있을 수 없기 때문에 즉,이다있어하는 의미 eContainmentFeature().

소스 : dev.eclipse.org

mailing list를 사용해보십시오.