Ада не имеет средств метапрограммирования и не имеет отражения (как это делается в Java / C #).Поскольку система типов в основном существует только во время компиляции, вы не можете запрашивать много информации во время выполнения и, конечно, не ту информацию, которая вам нужна.Вы не можете просто сделать это с помощью универсальной функции.
Лучше всего, вероятно, сгенерировать код Ada из схемы XML или (если типы Ada определяют структуру XML) использовать ASIS или libadalang для генерации кода синтаксического анализаиз Ада типов "АСТ.Обратите внимание, что это довольно сложно, и я бы не советовал, если вы не знакомы с обработкой AST.Если возможно написать схему XML, я бы лучше использовал эту схему для генерации типов Ada и соответствующего кода загрузки.