开发者

XSD: Index of sequence in Element name

开发者 https://www.devze.com 2023-03-13 06:28 出处:网络
I\'m building an XSD to generate JAXB objects in Java.Then I ran into this: <TotalBugs> <Bug1>...</Bug1>

I'm building an XSD to generate JAXB objects in Java. Then I ran into this:

<TotalBugs>
<Bug1>...</Bug1>
<Bug2&开发者_JAVA技巧gt;...</Bug2>
...
<BugN>...</BugN>
</TotalBugs>

How do I build a sequence of elements where the index of the sequence is in the element name? Specifically, how do I get the 1 in Bug1


You don't want to do it in this way, XML has a top-down order by nature. Consequently, you don't have to enumerate yourself:

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

You can access the 1st bug node in the list by the XPath expression:

/totalBugs/bug[1]

Note, indexes start by W3C standard at 1. Please refer to for further readings to w3schools.


I'm pretty sure XSD won't support what you need. However you can use <xsd:any> for that bit of the schema, then use something lower-level than JAXB to generate the XML for that particular part. (I think your generated classes will have fields like protected List<Element> any; which you can fill in using DOM).

0

精彩评论

暂无评论...
验证码 换一张
取 消