2010-12-14 16 views
1

Ich muss eine XSLT aus einer Datenbank laden und im Speicher halten, so dass es von einem anderen XSLT aufgenommen werden kann.Wie löse ich xsl: include Direktiven in C++ (kann .NET Framework nicht verwenden)

Ich weiß, dass Sie dies mit dem .NET-Framework und der xmlPreLoadedResolver-Klasse tun können, aber leider dürfen wir dies nicht als .NET-DLL schreiben.

Weiß jemand, ob es möglich ist, dies mit den C++ - Schnittstellen msxml6 zu tun?

+2

Sofern Sie keinen URI-Resolver an den XSLT-Prozessor oder den XSLT-Prozessor mit speziellen Protokollen übergeben können, müssen Sie das Stylesheet selbst erstellen. Für 'xsl: include' ist es einfach, diese Anweisung für den gesamten Inhalt des' xsl: stylesheet'-Elements zu ersetzen. –

+0

Das ist so ziemlich die Schlussfolgerung, die ich gekommen war :( – StevieG

+0

Warum verwenden Sie nicht einfach. Net? – ng5000

Antwort

0

Am Ende die einzige Art, wie wir um diesen finden konnten, zu erhalten war etwas Code zu schreiben, beim Laden der top-level xslts, die alle Abhängigkeiten laden und sie in den Haupt-xslt "explodieren" lassen. Diese explodierten Xlsts werden dann wie erforderlich im Speicher gehalten.