Есть ли способ преобразовать запросы LINQ в XSLT? так же, как LINQ может быть преобразован в SQL?
Я имею в виду, что если у меня есть твердый, четко определенный XML (соответствует XSD), есть ли способ скомпилировать материал из System.Linq.Expressions в XSLT в отношении этого XML ?
Спасибо.
На запрос Dimitries я постараюсь немного уточнить ... В основном у меня есть некоторые данные в одном месте (в основном это куски сериализуемых данных xml), и мне нужно их обработать, Мне нужно объединить и обработать их.
И входящие исходные данные, и данные выходных результатов являются сериализуемыми в формате XML и соответствуют четко определенному XSD.
Я хочу генерировать логику обработки динамически - в другом месте. И позвольте моему пользователю изменить и поиграть с обработкой. Я могу легко представить процесс обработки с помощью деревьев выражений. Деревья выражений похожи на деревья синтаксического анализа и могут захватывать программный код. Именно так работает linq to SQL: деревья выражений преобразуются в запросы SQL.
Поскольку все данные о доходах и выходные данные являются четко определенным XML, я могу легко выполнить преобразование с помощью XSLT, но я не знаком с XSLT достаточно, чтобы написать динамический генератор XSLT. Итак, я подумал, что смогу построить преобразования на C # и преобразовать их в XSLT ... опять же, это не C # общего назначения, а, вероятно, конкретные запросы к четко определенному поставщику данных.
Для примера:
(Not реальный код)
var schemas = XSchemaSet.Load("a","b");
var doc = XDocument.Load("File",schemas);
var result = from node in doc.Nodes
where node.Name == "Cats" || node.Name == "Dogs"
select (new Node(){Name = "Animal Owner", Value = node.Owner)
var newDoc = new XDocument().AddNodes(result);
newDoc.Validate(schemas);
В основном мне нужно что-то, что будет работать так ... Я могу написать это в одном запросе linq, если использую IQueryable.Aggregate