gpt4 book ai didi

java - JAXB 注释用于处理不同命名空间中的相同元素名称

转载 作者:行者123 更新时间:2023-12-01 05:52:50 35 4
gpt4 key购买 nike

我试图解决的问题是JAXB无法处理不同命名空间中同名的父对象和继承对象。

我有两个架构:

schemaA.xsd

<xs:schema xmlns:A="...">
<xs:complexType name="mytype">
...

schemaB.xsd

<xs:schema xmlns:B="..." xmlns:A="...">
<xs:import namespace="..." schemaLocation="schemaA.xsd"/>
<xs:complexType name="mytype">
...

此处 mytype 定义与 schemaB 中不同。不,我无法控制模式,它们是大型商业第三方提供的。人们如何应对这种情况?关键是 schemaB 引用 schemaA 并且确实使用了 schemaA 中的许多元素。 JAXB 无法单独在 B 上运行,但它可以并且可以单独在 A 上运行。

最后一点,涉及的元素很多,无法为所有元素添加 JAXB 自定义。嗯,这会是很多工作。

最佳答案

有趣的是,JAXB 问题几乎没有得到任何回应。

@jamh

我假设您正在尝试运行 xjc 来为第三方模式生成 Java stub 。您是否尝试过为每个命名空间指定不同的包名称?这可以在自定义绑定(bind)文件中或在命令行上使用 -p 参数来完成...

xjc -p com.your.package.name/path/to/xsd

关于java - JAXB 注释用于处理不同命名空间中的相同元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056459/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com