问题标签 [xjc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 JDO 中使用 xjc 生成的类
我们有一组由 xjc 创建的 POJO,我们需要能够通过 JDO 进行持久化。您将如何将 JDO 注释应用于生成的类?
java - JAXB XJC - XPath 评估结果为空目标节点?
我有以下简单的 XSD 文档 ( foo.xsd
):
而且我想向 XJC JAXB 编译器提示,“Height”元素应该通过使用外部绑定文件来使用类型安全的枚举类,如下所示(foo.xjb
):
但是当我运行命令“ xjc -b foo.xjb foo.xsd
”时,出现以下错误:
XPath 表达式对我来说看起来不错,所以我猜有一些与 XML 命名空间相关的微妙问题?我尝试了一些使用(或不使用)默认命名空间、targetNamespace 等的组合,但总是出现相同的错误。请注意xjc
,如预期的那样,它会自行为 XSD 文件生成 Java 源,而无需外部绑定文件。同样,在 XSD 文件中使用嵌入式绑定定义可以按预期工作。
请注意,我在 Mac OS 10.6.8 上使用 Java 版本“1.6.0_26”和 xjc 版本“JDK 6 中的 JAXB 2.1.10”。
有人可以解释如何在不修改原始 XSD 的情况下实现这一目标吗?
xsd - XJC 生成整数而不是 int
以下模式应该int
在一个类中生成两个原始字段Value
,而是int
为元素生成一个原始字段,为属性生成java.lang.Integer。
我查看了JAXB 文档中的任何内容,即属性和元素的生成方式可能不同,但什么也没找到。
谁能解释一下?是否有使属性生成为原语的修复程序int
?
web-services - 请帮助:xjc 抛出“两个声明导致 ObjectFactory 类中的冲突”
采用以下简化的 XSD:
然后,尝试以下操作:
你应该总是得到以下异常:
请注意,有一个名为“ Widget ”的元素,它是一个 complexType,并且具有名为“ color ”的元素。在与元素“ Widget ”相同的级别上,还有一个名为“ WidgetColor ”的简单元素。
更令人费解的是,如果您从“color”元素序列中删除属性 minOccurs="0" 或删除属性nillable = " true",xjc 会成功编译模式。
有没有人见过这个问题或可以提出解决方案?
谢谢,
麦克风。
java - 什么是 JAXB 生成的 package-info.java
我正在尝试查找有关package-info.java
JAXB xjc命令行应用程序生成的文件的实际作用的一些信息。文件中的所有内容是
这个package-info.java
文件是做什么用的?
jaxb - 通过扩展 Jaxb 生成的类来添加/覆盖行为
我有一个使用 xml 数据响应的 Web 服务器和一个使用它的客户端。两者共享相同的域代码。其中一个域对象如下所示:
当我尝试将来自服务器的响应解组到该对象中时,由于没有 absoluteUri 的设置器,因此我在类中没有 imageUri。所以我像这样扩展它:
我的对象工厂
我的解组代码在这里:
但是,setAbsoluteUri
在解组时似乎没有被调用FEImage
。当我在 中添加一个假人setAbsoluteUri
时Image.java
,一切都按预期工作。
有人可以告诉我如何干净利落地扩展Image.java
吗?
java - Java:JAXB:JAXBElement 的编组到 xs:date 不正确
我在使用 JAXB 时遇到问题。我已经通过 xjc(使用 xsd 模式)创建了我的 Java 类,并且通过 parse 和 print 方法将 XML-Datatypes xs:date xs:dateTime 和 xs:time 全局绑定到 java.util.Calendar。
一切正常,直到我将一些 xs:date 字段标记为 nillable。xjc 为这些属性创建 JAXBElement 包装器。如果这些字段未编组,则会打印出日期,包括导致验证错误的时间信息。
是否有可能强制 Marshaller 将其转换为 xs:date 而不是 xs:dateTime?
我可以为那些获得转换这些字段的特殊 XMLAdapter 的字段指定绑定吗?
Java-Class 中的属性如下所示:
和相应的xsd-看起来像
有人能帮助我吗?
谢谢和最好的问候,
阿恩
java - 如何让从 WSDL 生成的 Java 类实现接口
我们的主要 wsdl 有一系列 wsdl 导入。每个子 wsdl 导入 common.xsd 并为特定操作定义请求和回复对象。
我希望每个子 wsdl 文档中的请求对象实现一个通用接口。
首先,我尝试使用 xsd:extension 并将公共元素提取到基类中。这行得通,但会改变公开暴露的 wsdl,我不想这样做。一段时间以来,它一直稳定不变。此更改对 Web 服务的消费者应该是完全透明的。
我发现了这个: http ://confluence.highsource.org/display/J2B/Inheritance+plugin
所以我应该能够使用 <inheritance:implements>com.acme.foo.MyInterface </inheritance:implements>
但这需要运行带有“-Xinheritance”的 jaxb,我似乎无法在我的 Maven 构建中弄清楚如何做到这一点。我正在使用 org.apache.cxf:cxf-codegen-plugin:wsdl2java 从 wsdl 生成 Java 源代码。
我是否需要将模式从 wsdl 提取到 xsds 并直接使用 JAXB 生成 Java 源代码?
还有其他选择吗?
谢谢。
xsd - XSD。xsd:element 和 xs:element 之间的区别?
我阅读了XSD
关于 w3schools 的文章,这里有很多例子。例如这个:
但是在我尝试把这个.xsd
文件放进去之后xjc
——我看到了错误日志,像这样的圆顶:
但是当我更改前缀时xs
,所有工作都正确。xsd
那么,有人可以为我澄清xs
和之间有什么不同xsd
吗?
也许,一个前缀 - 它是旧版本,另一个是新版本......
jaxb - 通过绑定文件指定@XmlJavaTypeAdapter 类?
我有一个 3rd 方接口,它提供与其 API 匹配的 xsd 文件。他们的一些映射并不完全是 Java,通常的布尔值是 0 和 1 :-(
我想使用绑定文件为我的 BooleanAdapter 指定 @XmlJavaTypeAdapter 类,但到目前为止还没有任何乐趣。
绑定文件:
而且由于我使用的是 POM 中的 maven 相关位:
我已经切换 enableWrapperStyle 并且没有变化
我最终得到的是错误类型的生成适配器:
是否有一些绑定文件魔术可以用来摆脱生成的包装器并直接使用 BooleanAdapter?