Этот вопрос похож на этот: xmlbeans - установить содержимое сложного типа , но не совсем так. То, что я пытаюсь сделать, это установить содержимое contentEntry в ленте атомов.
Вот определение атома xsd для contentType, то есть тег содержимого для записи в ленте атома.
<xs:complexType name="contentType" mixed="true">
<xs:annotation>
<xs:documentation>
The Atom content construct is defined in section 4.1.3 of the format spec.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="src" type="xs:anyURI"/>
<xs:attributeGroup ref="atom:commonAttributes"/>
</xs:complexType>
После компиляции с помощью xmlbean 'scomp я получаю хороший jar-файл, который позволяет мне выполнять следующие действия.
EntryType curEntry;
curEntry = atomFeed.addNewEntry();
ContentType curContent = curEntry.addNewContent();
curContent.setBase("base");
curContent.setLang("en-EN");
curContent.setSrc("none");
curContent.setType("none");
И это выводится как
<content xml:base="base" xml:lang="en-EN" src="none" type="none"/>
Я действительно не хочу связываться с официальным (настолько официальным, насколько я мог бы найти) xsd для atom, но мне не хватает метода, позволяющего установить фактическое текстовое представление curContent. Устанавливаются только другие функции set (объект XmlObject) и setNil ().
Как я могу изменить это, чтобы я мог получить:
<content xml:base="base" xml:lang="en-EN" src="none" type="none">Content of this entry</content>
Спасибо