Problem mit Microsoft XML Parser (MSXML)

gabifi

Mitglied
Habe in meinem Stylesheet eigene Funktionen mit z.B.
Code:
<xsl:funktion name="my:meinefunktion">
    mach irgendwas
</xsl:function>
deklariert. Dementsprechend auch ein Namespace
Code:
xmlns:my="meineFunktionen"
eingeführt.

Mit XSLT-Prozessoren von Altova und Saxon kann ich meine Stylesheets ohne Probleme anwenden, nur Microsoft meckert rum, weil in meinem neuen Namespace keine Funktionen stehen.

Ist jemandem das gleiche schon mal vorgekommen? Würde es gern lösen können, weil ich mit dem Visual Studio.Net ein Programm erstellen muss, dass meine Stylesheets verwendet.

Danke
Gabriel
 
Hi.

Soweit ich weiß unterstützt der Microsoft XSL Prozessor (MSXML 6 bis einschließlich .NET 1.1) nur eine Untermenge von XSL 1.0.

D.h. xsl:function - ein Element von XSL 2.0 - wird nicht unterstützt.

Wenn du eine benutzerdefiniert Funktion in MSXML definieren willst, kannst du das msxsl:script Element benutzen und die Funktion in einer der unterstützten Sprachen schreiben.

Mehr dazu hier: http://msdn2.microsoft.com/en-us/library/wxaw5z5e.aspx oder in der Hilfe von .NET SDK.

Gruß
 
Danke, jetzt is mir schon einiges klarer, dass der so unkompatibel zu anderen ist hätt ich jetzt net gedacht, tja vertrau auf die Leistungsfähigkeit von Microsoft...

Gibts eigentlich ne Möglichkeit nen externen XSLT-Prozessor aus seiner eigenen Anwendung aus aufzurufen?

Gabriel
 
gabifi hat gesagt.:
Gibts eigentlich ne Möglichkeit nen externen XSLT-Prozessor aus seiner eigenen Anwendung aus aufzurufen?
Sicherlich kann man auch ein externes Programm (z.B. über Pipes oder Sockets etc.) aufrufen, aber es gibt ja auch alternative (, freie) XSLT Prozessoren die man in seine Projekte einbinden kann. Ich nehme mal an du verwendest .NET? Saxon gibt es z.B. auch für .NET - http://saxon.sourceforge.net/

Gruß
 

Neue Beiträge

Zurück