2

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 をカスタマイズする必要がありますか?

4

1 に答える 1

0

XMLを生成し、正規表現を使用して属性を追加することになりました:(

于 2012-09-13T13:07:28.973 に答える