- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有几个重用相同实体的 XSD。例如,ProductPurchaseRequest.xsd
的两个 XSD和 ProductQuoteRequest.xsd
两者都有一个 <product>
在其中标记以描述相关产品。为此,我创建了一个 Product.xsd
文件来定义 <product>
标签和两个ProductPurchaseRequest.xsd
和 ProductQuoteRequest.xsd
导入 Product.xsd
用`.
我想使用 Castor 从这些 XSD 生成 Java 类,并让它们使用相同的类来表示 Product
这样我就可以重用相同的逻辑将它们映射到我们模型的 ProductModel
类。
Castor 能做到吗?如果是这样,它的 Ant 任务语法是什么。如果不是,JAXB 可能是更好的选择吗?
最佳答案
注意:我是 EclipseLink JAXB (MOXy) JAXB 2 (JSR-222) 的领导和成员专家组。
Can Castor do this? If so, what would be the Ant task syntax for it. If not, would perhaps JAXB be a better alternative?
下面是如何使用 JAXB 完成此操作的示例:
产品
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/Product"
xmlns:tns="http://www.example.org/Product"
elementFormDefault="qualified">
<element name="product">
<complexType>
<sequence>
<element name="id" type="string"/>
<element name="name" type="string"/>
</sequence>
</complexType>
</element>
</schema>
由于多个 XML 模式导入 Product.xsd,我们可以利用剧集文件,以便只生成一次与 Product.xsd 对应的类。
xjc -d out -episode product.episode Product.xsd
ProductPurchaseRequest.xsd
下面是导入 Product.xsd 的 XML 架构示例:
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/ProductPurchaseRequest"
xmlns:tns="http://www.example.org/ProductPurchaseRequest"
xmlns:prod="http://www.example.org/Product"
elementFormDefault="qualified">
<import namespace="http://www.example.org/Product" schemaLocation="Product.xsd"/>
<element name="purchase-request">
<complexType>
<sequence>
<element ref="prod:product" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</schema>
当我们从这个 XML 模式生成类时,我们将引用我们从 Product.xsd 生成 Java 类时创建的剧集文件。
xjc -d out ProductPurchaseRequest.xsd -extension -b product.episode
ProductQuoteRequest.xsd
下面是另一个导入 Product.xsd 的 XML 架构示例:
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/ProductQuoteRequest"
xmlns:tns="http://www.example.org/ProductQuoteRequest"
xmlns:prod="http://www.example.org/Product"
elementFormDefault="qualified">
<import namespace="http://www.example.org/Product" schemaLocation="Product.xsd"/>
<element name="quote">
<complexType>
<sequence>
<element ref="prod:product"/>
</sequence>
</complexType>
</element>
</schema>
同样,当我们从该 XML 模式生成类时,我们将引用我们从 Product.xsd 生成 Java 类时创建的剧集文件。
xjc -d out ProductQuoteRequest.xsd -extension -b product.episode
了解更多信息
关于java - Castor 能否处理从基 XSD 导入的多个 XSD 的类生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7986082/
我的类(class)中有以下字段: private List messages; 这是我的映射: 这是我通过编码得到的结果: message1message2 这就是我想要实现的目标: me
我有一个关于 Castor 的快速问题。我想使用 Castor 映射来编码对象列表。这些对象有两种不同的类型,都扩展同一个抽象基类。我希望它们在 xml 中具有不同的标签,但都添加到同一列表中。他们的
您好,我有以下内容,它没有使用bindigs.xml 文件为复杂类型生成类文件。 示例.xsd 文件 This section contains
我有这个架构:
我有这门课: public class Source extends Node { protected DistributionSampler delay ; protected Distri
我想将以下 xml 解码为 MultiKeyMap : 我查看了 Castor API,发现有一个 Collection
我正在慢慢地为这个发疯。我正在尝试像这样解码 XML 文档: DC1 Param 1 Param 2 我有一对简单的 POJO,GetDeadl
我一直在尝试编写一个自定义字段处理程序,该处理程序在写入 XML 时返回 java.awt.Image 对象的哈希码,并在将 XML 绑定(bind)到对象时基于此哈希码检索图像。出于某种原因,我无法
我正在尝试使用 spring 注册我的 castor 映射文件,但我似乎收到了空指针异常。 在我的应用程序上下文中,我有: DistributionS
我想要编码和解码我的类对象列表,比如 java.util.List 。我计划使用 Castor,因此必须使用 Castor-0.9.5.*.jar 版本。 此外,我还有我的编码对象的 XML 架构 (
我有一个奇怪的问题,我的 Castor-Maven-Plugin 生成的 java 类无法解码 XML 字符串的内容。 我尝试验证的 XML 如下所示: ... audio/media ...
我正在使用 Castor 写出用户 ID 到时间间隔的映射。我正在使用它来保存和恢复一项冗长任务的进度,并且我正在尝试使 XML 尽可能紧凑。我的映射是从字符串用户 ID 到包含间隔时间戳的类,以及我
我正在使用 castor 从 java 对象创建 XML 文件。我想在创建 XML 文件时忽略类中的一个字段。 文档 http://castor.codehaus.org/reference/1.3.
我正在尝试使用 Lizzy 库 ( http://lizzy.sourceforge.net/ ) 进行一些播放列表操作。作为依赖项,它要求我的构建路径中有 Castor 库 ( http://www
我正在尝试使用 Castor 1.3.2 使用此程序自动生成映射文件。 但这是我得到的异常(exception) -java.lang.IllegalArgumentException:没有枚举 co
本文整理了Java中org.exolab.castor.xml.XMLException类的一些代码示例,展示了XMLException类的具体用法。这些代码示例主要来源于Github/Stackov
本文整理了Java中org.exolab.castor.types.Year类的一些代码示例,展示了Year类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 2 年前。
我在 Spring Batch 中使用 Castor 解码 XML 时遇到了一个非常奇怪的 NoClassDefFoundError 错误。在展示其他内容之前,这是堆栈跟踪: java.lang.No
我正在努力使我的 java 应用程序更符合标准,我面临的最大问题之一是将我们的 ORM 框架从 Castor JDO 转换为 JPA 实现(考虑 Hibernate 或 DataNucleus)。我们
我是一名优秀的程序员,十分优秀!