Где решатель может быть использован в течение многих этапов unmarshaller. Но дело в том, что распознаватель не очистит себя от startDocument, как это делает стандартная реализация com.sun.xml.internal.bind.v2.runtime.unmarshaller.DefaultIDResolver:
аюсь маршалировать / демаршировать из двух разных XML-файлов в POJOS. Первый XML-файл выглядит так:
--Network.xml--
<Network>
<Nodes>
<Node id="ROD" />
<Node id="KFI" />
<Node id="JND" />
</Nodes>
<Arcs>
<Arc fromNode="ROD" />
<Arc fromNode="JND" />
</Arcs>
</Network>
---------
Используя аннотации @XmlID и @XmlIDREF, я могу успешно заполнить классы Arc, чтобы указать на правильный узел, на который он ссылается.
Тем не менее, я также должен проанализировать этот XML:
--NetworkInputs.xml--
<NetworkInputs>
<Flows>
<Flow toNode="JND" />
<Flow toNode="ROD" />
</Flows>
</NetworkInputs>
------
В настоящее время моя программа успешно демаршализирует объект Network, но нет никакой связи между Network и NetworkInputs, которая позволяет JAXB «видеть» узлы, которые существуют в Network. Я хочу, чтобы мои объекты Flow указывали на правильный узел в классе Network.
Я в основном хочу сделать это:http://old.nabble.com/JAXB-Unmarshalling-and-XmlIDREF-using-different-stores-td14035248.html
Я попытался реализовать это:http://weblogs.java.net/blog/kohsuke/archive/2005/08/pluggable_ididr.html и это просто не работает, потому что я не могу получить данные узла для моей заполненной сети из статического контекста.
Можно ли вообще сделать что-то подобное?