Konvertierung von Linq nach XSLT

9

Gibt es eine Möglichkeit, LINQ-Abfragen in XSLT umzuwandeln? Auf die gleiche Weise kann LINQ in SQL konvertiert werden?

Ich meine, wenn ich ein festes gut definiertes XML habe (entspricht einer XSD), gibt es eine Weise, das Zeug unter System.Linq.Expressions in XSLT bezüglich dieses XML zu kompilieren?

Danke.

Um Dimitries Anfrage werde ich versuchen, ein wenig zu erarbeiten ... Grundsätzlich habe ich einige Daten an einem Ort (es ist im Grunde um Stücke von XML serialisierbaren Daten), und ich muss sie verarbeiten, muss ich kombinieren und verarbeiten sie .

Sowohl die eingehenden Originaldaten als auch die Ausgabeergebnisdaten sind XML-serialisierbar und entsprechen einer gut definierten XSD.

Ich möchte die Verarbeitungslogik dynamisch generieren - an anderer Stelle. Und erlauben Sie meinem Benutzer, mit der Verarbeitung zu ändern und herumzuspielen. Ich kann die Verarbeitung selbst einfach mit Ausdrucksbäumen darstellen. Ausdrucksbäume ähneln Syntaxbäumen und können Programmcode erfassen. Dies ist die Art und Weise, wie linq to SQL Ausdrucksbäume in SQL-Abfragen konvertiert.

Da alle Einkommensdaten und die Ausgabe beide ein gut definiertes XML sind, kann ich die Transformation leicht mit XSLT durchführen, aber ich bin mit XSLT nicht genug vertraut, um einen dynamischen XSLT-Generator zu schreiben. Also dachte ich, ich könnte die Transformationen in C # erstellen und sie in XSLT konvertieren. Auch hier ist es kein allgemeingültiges C #, sondern wahrscheinlich spezifische Abfragen über einen genau definierten Datenanbieter.

Zum Beispiel:

(nicht echter Code)

%Vor%

Grundsätzlich möchte ich etwas, das so funktioniert ... Ich kann das in einer einzigen linq-Abfrage schreiben, wenn ich IQueryable.Aggregate

verwende     
AK_ 03.08.2011, 12:59
quelle

2 Antworten

3

Ja, Sie können Ihren eigenen Abfrageanbieter implementieren , der XSLT intern verwendet, wenn Sie das beurteilen können heraus, wie man mit XSLT abfragt.

    
George Polevoy 03.08.2011, 14:02
quelle
0

Warum nicht einfach Linq2XML verwenden? Es funktioniert auf XDocument und XElement

Alternativ können Sie, wenn Sie möchten, dass Transformationen mit xlst definiert werden, einfach einen xslt für das Dokument im Code ausführen?

Ich sehe nicht, wie ein Linq2XSLT helfen würde, ein Problem zu lösen, ohne es in einer anderen Form neu zu erstellen

    
John Nicholas 12.08.2011 14:53
quelle

Tags und Links