Hallo,
Ich habe ein xsl geschrieben, das den Inhalt aus 2 oder mehreren gleich strukturierten Eingangsdateien zusammenführt (Ausgabedatei ist eine neue Xml-Datei). Das ist ja nicht so schwer und es funktioniert auch wunderbar.
Nun bräuchte ich an einer Stelle im Dokument optimalerweise eine veränderbare Variable, um Werte zwischen den einzelnen Dokumenten zu vergleichen.
Ich habe deshalb den saxon-Namespace eingebunden
und verwende dann diese Funktion um den Wert einer Variablen nachträglich zu aendern:
das funktioniert auch wunderbar.
ABER dann habe ich mal geguckt wie die Ausgabedatei nun aussieht und festgestellt, dass die saxon:assign-Zeile genau so reingeschrieben wird wie sie im Xsl-Dokument verwendet wird.
Ich habe also quasi
Ich verstehe nicht, weshalb das <saxon:...> mit ausgegeben wird, als wäre es ein Text. Es ist doch ein Befehl (der bei der Trafo auch richtig ausgeführt wird, sont könnte ich die Ausgabe ja noch verstehen) und andere normale Befehle werden doch auch nicht mit in die Zieldatei ausgegeben...es steht ja auch nirgens <xsl:variable... oder so in der Ausgangsdatei mit drin, nur die Zeile mit dem saxon-Prefix.
Habe ich in den Stylesheet Deklarationen irgendwas vergessen? Wie bekomme ich diese doofe Zeile weg? Oder ist das ein Bug im Saxon?
Ich verwende Saxon 9 (Java).
Gruß & vielen Dank im voraus für Rückmeldungen
sth_Weird
PS:
Ich suche hier nicht nach einer Alternative für die (Saxon-)Erweiterung (dafür hätte ich schon selbst ne Möglichkeit, wenn es nicht anders geht), ich würde nur gerne wissen was da schief läuft oder was ich falsch mache, denn möglicherweise komme ich ja auch mal in eine Situation wo kein Workaround möglich ist.
Ich habe ein xsl geschrieben, das den Inhalt aus 2 oder mehreren gleich strukturierten Eingangsdateien zusammenführt (Ausgabedatei ist eine neue Xml-Datei). Das ist ja nicht so schwer und es funktioniert auch wunderbar.
Nun bräuchte ich an einer Stelle im Dokument optimalerweise eine veränderbare Variable, um Werte zwischen den einzelnen Dokumenten zu vergleichen.
Ich habe deshalb den saxon-Namespace eingebunden
HTML Code:
xmlns:saxon="http://icl.com/saxon"
HTML Code:
<xsl:variable name="myVar" select="'0'" saxon:assignable="yes"/> ... <saxon:assign name="myVar" select="$doc/pd:*//pd:Info/@someInfo"/>
ABER dann habe ich mal geguckt wie die Ausgabedatei nun aussieht und festgestellt, dass die saxon:assign-Zeile genau so reingeschrieben wird wie sie im Xsl-Dokument verwendet wird.
Ich habe also quasi
HTML Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <root> ...<element> <saxon:assign name="myVar" select="$doc/pd:*//pd:Info/@someInfo"/> ...normaler Inhalt... ...</element> </root
Habe ich in den Stylesheet Deklarationen irgendwas vergessen? Wie bekomme ich diese doofe Zeile weg? Oder ist das ein Bug im Saxon?
Ich verwende Saxon 9 (Java).
Gruß & vielen Dank im voraus für Rückmeldungen
sth_Weird
PS:
Ich suche hier nicht nach einer Alternative für die (Saxon-)Erweiterung (dafür hätte ich schon selbst ne Möglichkeit, wenn es nicht anders geht), ich würde nur gerne wissen was da schief läuft oder was ich falsch mache, denn möglicherweise komme ich ja auch mal in eine Situation wo kein Workaround möglich ist.
Comment