Я думаю, что это дизайнерский запах - передавать интерфейс в ваш репозиторий для такого рода процессов. Возможно, я неправильно понимаю, но похоже, что обработка в XML будет выполняться внутри хранилища. Это для хранения средств? Тем не менее, это должно обрабатываться отдельным классом, который занимается только обработкой XML, который будет принимать интерфейс к вашему хранилищу.
Хранилище должно быть связано только с обработкой доступа к хранилищам данных.
Обычно такой процесс требует несколько обращений к хранилищу. Чтобы убедиться, что вы можете тестировать свойства логики обработки XML, процессор XML должен принять интерфейс с репозиторием, чтобы вы могли смоделировать это и самостоятельно протестировать обработку XML