gpt4 book ai didi

java - JAXB IDREF 和 ID 用法?

转载 作者:数据小太阳 更新时间:2023-10-29 02:28:14 29 4
gpt4 key购买 nike

我正在寻找一个 XSD,它将用于通过 JAXB 生成一些 Java 类。我希望生成的 XML 看起来像这样:

<Appointment>
<Patient ref="12345">Bob Smith</Patient>
<Type>Some Appointment Type</Type>
<Date>2010-02-17</Date>
....
</Appointment>

因此,鉴于此架构,我希望它生成一个类,我可以在其中执行如下操作:

Patient p = loadPatientFromDB();
Appointment a = new Appointment();
a.setPatient(p);
a.setType("Some Appointment Type");

我想我想要做的是让一个元素有一个 IDREF 作为属性,然后一个字符串作为元素的内容。

谁能帮我介绍一些 XSD?

谢谢!

编辑

这个问题也可以通过以下方式提出。

简单类型可以有属性,还是必须是复杂类型。

那么,你能不能拥有

  <element id="foo">bar</element>

或者你必须有

  <element id="foo"><name>bar</name></element>

最佳答案

我会回答你的第二个问题,因为它问得非常清楚。不,简单类型不能有属性。您正在寻找的是具有简单内容的复杂类型:

<xs:complexType name="Person">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="ref" type="xs:IDREF" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

编辑:您现在可以按预期使用此类型,将其分配给名为“person”的元素,您可以拥有 <person id="foo">A Name</person> .

关于第一个问题:如果您真的想要解析 ID,您还有一些额外的工作要做。例如,see here .

关于java - JAXB IDREF 和 ID 用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276595/

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