【发布时间】:2014-05-17 01:15:31
【问题描述】:
我需要编写一个 XML 模式,以便生成需要采用非常特定格式的 XML 文件。我希望使用 XML Schema 和 JAXB 来创建数据对象,写入数据对象,然后将该数据对象编组为正确格式的 XML。
不幸的是,该 XML 文档不存在架构,某些遗留代码正在以非常手动的方式读取该架构。因此,目标是创建一个允许 JAXB 以这种非常特定的方式编组的 XML 模式。
我特别遇到了命名集合或数组的问题。我对此有一些变化,最复杂的版本如下。
请注意,我无法控制 XML 的目标所需格式,因此我需要了解如何指定模式以生成它。任何和所有建议都会非常非常有帮助,我保证,XML Schema 专家,如果有人帮助我,那么他们将是我本周最喜欢的人!
这是目标格式:
<BetaInfo name="Beta ID" value="1">
<SimpleBetaInfo>
<Param name="Simple Beta A" value="Beta ID 1, Param A data"/>
<Param name="Simple Beta B" value="Beta ID 1, Param B data"/>
</SimpleBetaInfo>
<ListBetaInfo name="List ID" value="1">
<Param name="Item 1" value="Beta ID 1, List Index 1, Item 1 data"/>
<Param name="Item 2" value="Beta ID 1, List Index 1, Item 2 data"/>
</ListBetaInfo>
<ListBetaInfo name="List ID" value="2">
<Param name="Item 1" value="Beta ID 1, List Index 2, Item 1 data"/>
<Param name="Item 2" value="Beta ID 1, List Index 2, Item 2 data"/>
</ListBetaInfo>
</BetaInfo>
【问题讨论】:
-
属性的内容是否也有限制?例如,是否有最大或最小长度,正则表达式?它们支持哪些类型?