XSD: индекс последовательности в имени элемента - PullRequest
0 голосов
/ 16 июня 2011

Я создаю XSD для генерации объектов JAXB в Java.Затем я наткнулся на это:

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

Как мне построить последовательность элементов, где индекс последовательности находится в имени элемента?В частности, как я могу получить 1 в Bug1

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Вы не хотите делать это таким образом, XML имеет нисходящий порядок по своей природе.Следовательно, вам не нужно перечислять себя:

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

Вы можете получить доступ к 1-му узлу ошибки в списке с помощью выражения XPath:

/totalBugs/bug[1]

Обратите внимание, индексы начинаются с W3Cстандарт на 1. Пожалуйста, обратитесь к для дальнейших чтений w3schools .

0 голосов
/ 16 июня 2011

Я уверен, что XSD не будет поддерживать то, что вам нужно. Однако вы можете использовать <xsd:any> для этого бита схемы, а затем использовать нечто более низкое, чем JAXB, для генерации XML для этой конкретной части. (Я думаю, что ваши сгенерированные классы будут иметь поля типа protected List<Element> any;, которые вы можете заполнить с помощью DOM).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...