JAXB - пример отслеживания ключевого слова при демаршаллинге
В соответствии с этим вы можете использовать xs:key и xs:keyref при маршалинге и демаршаллинге данных в JAXB 2.x.
Тем не менее, я не могу найти работающий пример того, как это делается где-либо.
Что мы делаем, это устанавливаем раздел поиска в каждом сообщении XML, содержащем детали для значений ссылки / кода (идентификатор, имя, описание и т. Д.), И затем элементы данных позже в сообщении обращаются к этим элементам, используя их ключ. Схема XML определяет и поддерживает это с помощью xs:keyref и xs:key (xs:IDREF не допускается).
Я хотел бы, чтобы мой демаршаллер JAXB динамически следовал этим ссылкам, заменяя ключ ссылочным объектом.
Кто-нибудь может отослать меня к примеру, когда это делается?
1 ответ
Вы говорите о сложной ключевой ситуации?
<directory>
<employee>
<eID>123</eID>
<country>CA</country>
</employee>
<employee>
<eID>123</eID>
<country>US</country>
</employee>
<employee>
<eID>456</eID>
<country>US</country>
</employee>
<phone-number>
<contact eID="123" country="US"/>
</phone-number>
</directory>
Если так, то можно использовать EclipseLink JAXB (MOXy):