XML verarbeiten in C#: XSLT mit Variablen beeinflussen
Wer von einem C#-Programm aus XML und XSLT verarbeitet, möchte vielleicht hie und da mal in die XSLT-Vorlage eingreifen. Doch alle Daten in das Programm einzulesen, zu manipulieren und wieder auszuspucken, ist aufwändig.
Am einfachsten geht's wenn Sie im XSLT-Stylesheet Variablen einsetzen. Denn die lassen sich direkt von C# aus manipulieren.
Damit das funktioniert, initialisieren Sie zunächst ein neues Objekt XsltArgumentList:
XsltArgumentList xslArg = new XsltArgumentList();
Danach können Sie nach Belieben Variablen für das XSLT-Stylesheet setzen, zum Beispiel:
xslArg.AddParam("groundmode", "", this.comboGroundMode.Text);
xslArg.AddParam("startdate", "", this.dateTimePickerStartDate.Value.ToString("yyyMMdd"));
Wichtig ist natürlich, dass die entsprechenden Variablen bereits im Stylesheet initialisiert sind. Das geht zum Beispiel mit dieser Anweisung:
<xsl:variable name="groundmode" select="clampedToGround"/>
Hier belegt das Stylesheet die Variable groundmode mit dem Wert clampedToGround.
Dank der Variablen bleibt das XSLT-Stylesheet unabhängig vom C#-Programm. Sie können es also auch ohne weiteres mit anderen Prozessoren einsetzen - notfalls müssen Sie dort die Variablen von Hand modifizieren.
Bedingungen für die Kommentareingabe
Hinweis
Add to Del.icio.us