我有几个大的 DTD 文件。我使用trang将它们转换为 XSD 文件,因此我可以轻松地从 JAXB 和其他实用程序中使用它。但是,生成的 XSD 文件在顶层具有所有声明的元素。这意味着任何元素都可以是输入 XML 的根元素。我只想指定一个特定的元素。
拥有这些多个根元素会导致一些问题,例如为所有类xjc
生成@XmlRootElement
,所以我需要添加更多额外的检查。
据我了解,我需要重写生成的 XSD,将<xs:element>
s 移动到<xs:complexType>
s,将element ref
s 更改为element type
s 等等,但这将是太多的猴子工作,无法验证是否全部正确完成。
有没有更有效的方法来做到这一点?