Saxon XSLT-Verarbeitungs-URI-ProblemC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Saxon XSLT-Verarbeitungs-URI-Problem

Post by Anonymous »

Ich habe eine in .NET/C# geschriebene Komponente, die XSLT-Verarbeitung mit SaxonCS durchführt. Diese Komponente funktioniert einwandfrei, wenn sie in einer Windows-Hostanwendung ausgeführt wird. Wenn ich es jedoch in einem Docker-Container ausführe, treten Probleme beim Auflösen von URIs auf. Der Code lautet wie folgt:

Code: Select all

processor = new Processor(configStream, new Uri("file://"));
uri = new Uri(new FileInfo(styleSheetPath).FullName);
try
{
var compiler = processor.NewXsltCompiler();
using FileStream styleSheetStream = new(styleSheetPath, FileMode.Open, FileAccess.Read);
Executable = compiler.Compile(styleSheetStream, uri);
}
catch (Exception ex)
{
}
Bei der Ausführung in einer Windows-Hostanwendung wird der URI wie folgt aufgelöst:

Code: Select all

file:///C:/[...Path to XSLT...]/Mapping.xslt
Und wenn es in Docker ausgeführt wird, wird es wie folgt aufgelöst:

Code: Select all

file:///app/[...Path to XSLT...]/Mapping.xslt
Aber in Docker erhalte ich eine Ausnahme mit der Meldung:

System.InvalidOperationException: Dieser Vorgang wird für einen relativen URI nicht unterstützt.

Mir scheinen beide URIs absolut zu sein, daher verstehe ich den Fehler nicht wirklich.
Ich möchte, dass dies in beiden Umgebungen funktioniert.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post