gpt4 book ai didi

java - Java 对象的 XML 模式定义 (XSD) 中的继承

转载 作者:行者123 更新时间:2023-12-01 17:39:41 25 4
gpt4 key购买 nike

我需要创建一个描述 Java 对象的 XML 架构定义 (XSD)。

我想知道当相关对象继承自具有类型参数的公共(public)基类时如何执行此操作。

public abstract class Rule<T> { ... }

public abstract class TimeRule extends Rule<XTime> { ... }

public abstract class LocationRule extends Rule<Location> { ... }

public abstract class IntRule extends Rule<Integer> { ... }

....

(其中 XTimeLocation 是在其他地方定义的自定义类)

我将如何构建一个 XSD,以便我可以拥有代表 Rule<T> 的每个子类的 XML 节点。 - 没有每个人的 XSD 重复其共同内容?

谢谢!

最佳答案

考虑JAXB用于 XML 架构 -> Java 编译。

XML 模式为继承建模提供了一些可能性:

<xs:complexType name="baseType">
<xs:sequence>
<xs:element name="a" type="xs:string"/>
<xs:element name="b" type="xs:long"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="extendedType">
<xs:complexContent>
<xs:extension base="baseType">
<xs:sequence>
<xs:element name="c" type="xs:dateTime"/>
<xs:element name="d" type="xs:base64Binary"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

但是,我认为您无法完全实现您发布的 Java 代码。不过,您可以稍微接近 inheritance plugin .

关于java - Java 对象的 XML 模式定义 (XSD) 中的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2651221/

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