いくつかの大きな DTD ファイルがあります。Trangを使用してそれらを XSD ファイルに変換したので、JAXB やその他のユーティリティから簡単に使用できました。ただし、生成された XSD ファイルには、すべての要素が最上位で宣言されています。これは、任意の要素が入力 XML のルート要素になる可能性があることを意味します。特定の要素だけを指定したい。
これらの複数のルート要素があると、すべてのクラスに対してxjc
生成されるなど、いくつかの問題が発生する@XmlRootElement
ため、さらにチェックを追加する必要があります。
私が理解しているように、生成された XSD を書き直し、s を s に移動したり、 s<xs:element>
を<xs:complexType>
s に変更したりする必要があります。element ref
element type
これを行うより効率的な方法はありますか?