Java XSD:元素名称中序列的索引

Java XSD:元素名称中序列的索引,java,xsd,Java,Xsd,我正在构建一个XSD以在Java中生成JAXB对象。然后我遇到了这个: <TotalBugs> <Bug1>...</Bug1> <Bug2>...</Bug2> ... <BugN>...</BugN> </TotalBugs> ... ... ... ... 如何在序列索引位于元素名称中的位置构建元素序列?具体地说,我如何在Bug1中得到1呢?你不想这样做,XML本质上是自上而下的。因此,您

我正在构建一个XSD以在Java中生成JAXB对象。然后我遇到了这个:

<TotalBugs>
<Bug1>...</Bug1>
<Bug2>...</Bug2>
...
<BugN>...</BugN>
</TotalBugs>

...
...
...
...

如何在序列索引位于元素名称中的位置构建元素序列?具体地说,我如何在Bug1中得到1呢?你不想这样做,XML本质上是自上而下的。因此,您不必列举自己:

<totalBugs>
<bug><!-- Here comes 1st bug --></bug>
<bug><!-- Here comes 2nd bug --></bug>
...
<bug><!-- Here comes last bug --></bug>
</totalBugs>

注意,索引从W3C标准的1开始。有关更多的阅读资料,请参阅。

我非常确定XSD将不支持您需要的内容。但是,您可以对该模式位使用
,然后使用低于JAXB的级别为该特定部分生成XML。(我认为您生成的类将具有类似
protected List any;
的字段,您可以使用DOM填充这些字段)。

您的模式不能只包含多个
元素吗?确实可以,关键是我需要构建的xml在Bug名称旁边有这些愚蠢的小索引。我不能告诉你为什么,但事情就是这样。我知道我不想这样做,但我别无选择。这是我需要转换为xsd的xml。这可能吗?我明白。这似乎是首先解析XML文件或XML字符串内容并消除Bug1、Bug2。。。并将其纳入上述平面结构中。您可以使用正则表达式来执行此操作,字符串xml=“…”;xml=xml.replaceAll(“,“Bug”);-或者,您可以使用BufferedReader以行方式解析文件,并以行方式处理XML。我认为没有办法为原始XML结构定义XSD。
/totalBugs/bug[1]