JAXB を使用して OpenOffice XML を生成しており、要素xml:space="preserve"
に属性を適用する必要があります。t
<r>
<t>
foo
</t>
</r>
する必要があります
<r>
<t xml:space="preserve">
foo
</t>
</r>
私は JAXB を使用して、Open Office スキーマから Java クラスを生成しました。<t>
type は CTRElt Java クラスで String として表されるため、この属性を設定する方法はありません。既存のドキュメントからアンマーシャリングしてマーシャリングすると、以前に存在space
していた属性は存在しなくなります。
スキーマの関連部分は次のとおりです。
<xsd:element name="t" type="ST_Xstring" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Text</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:simpleType name="ST_Xstring">
<xsd:annotation>
<xsd:documentation>Escaped String</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string" />
</xsd:simpleType>
space
この必須属性を持つ XML を生成するにはどうすればよいですか? スキーマの変更はオプションではありません。JAXB をカスタマイズする必要がありますか?