Задайте свой документ таким образом:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
%children%
</root>
В основном у Вас есть две проблемы: как определить точку инжекций в Вашем сгенерированном коде, и как запустить Python / рубин / whatev сценарии оттуда.
В зависимости от того, как Вы генерируете процесс, одно возможное решение состояло бы в том, чтобы добавить функцию к каждой возможной точке инжекции. Функция проверила бы, связал ли пользователь какие-либо сценарии с данными точками, и если так, запускает скрипт путем вызова IronPython / IronRuby (с дополнительно данными параметрами).
Недостатки включают: к ограниченной доступности от сценариев до созданного процесса (в основном, только переменные передали как параметры, можно было получить доступ); а также допустимые ограничения реализации (текущая версия IronPython опускает несколько функций базовой системы).
Изучите IronPython и IronRuby - они позволят Вам легко взаимодействовать с C#.
Можно скомпилировать код C# из приложения C# с помощью класса CSharpCodeProvider.
Если компиляция успешно выполняется, можно выполнить получающийся блок, как возвращено через свойство CompiledAssembly класса CompilerResults.
.NET имеет язык сценариев включая механизм исполнения в PowerShell, который может быть встроен в любое приложение.NET.
Можно скомпилировать код C# "на лету" в блок в оперативной памяти. Я думаю, что это возможно с IronPython и IronRuby также. Посмотрите на CodeDomProvider. Метод CreateProvider.
Если необходимо запустить скрипты много, или если процесс работает в течение долгого времени, Вы могли бы хотеть загрузить эти блоки в другой AppDomain. И разгрузите AppDomain после того, как Вы будете сделаны со сценарием. Иначе Вы не можете удалить их из памяти. Это имеет некоторые последствия на других классах в Вашем проекте, потому что у Вас есть в Маршалл все вызовы.
Вы думали о Visual Studio для Приложений? Я не услышал много об этом начиная с.NET 1.1, но это могло бы быть достойное внимания.
Я сделал точно это просто недавно - позволенный добавление во время выполнения сценариев C#.
Это не твердо вообще, и эта статья:
http://www.divil.co.uk/net/articles/plugins/scripting.asp
очень полезная сводка деталей.