Announcement

Collapse
No announcement yet.

Xml erstellen: Befehle (Saxon Namespace) erscheinen im Ausgabe-Xml

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Xml erstellen: Befehle (Saxon Namespace) erscheinen im Ausgabe-Xml

    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
    HTML Code:
    xmlns:saxon="http://icl.com/saxon"
    und verwende dann diese Funktion um den Wert einer Variablen nachträglich zu aendern:
    HTML Code:
    <xsl:variable name="myVar" select="'0'" saxon:assignable="yes"/>
    ...
    <saxon:assign name="myVar" select="$doc/pd:*//pd:Info/@someInfo"/>
    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
    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
    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.
    Fluchen ist die einzige Sprache, die jeder Programmierer perfekt beherrscht

  • #2
    Welche Version genau von Saxon 9 verwendest du?
    Für Saxon 9 ist der Namensraum doch laut http://www.saxonica.com/documentatio...structions.xml "http://saxon.sf.net/" und nicht etwa "http://icl.com/saxon".

    Comment


    • #3
      Originally posted by Martin Honnen View Post
      Welche Version genau von Saxon 9 verwendest du?
      Für Saxon 9 ist der Namensraum doch laut http://www.saxonica.com/documentatio...structions.xml "http://saxon.sf.net/" und nicht etwa "http://icl.com/saxon".
      Ich verwende (so nennt sich der Ordner in dem Saxon sich installiert hat, das ist schon einige Jahre her aber da es immer funktioniert hat habe ich mich nie um Updates gekümmert...never change a running system )
      saxonb9-0-0-1j

      EDIT...
      Dömpf! Wer lesen kann ist klar im Vorteil! irgendwie ging mir beim Copy&Paste der Transformation das extension prefix attribut verloren...
      jetzt reingemacht, Namespace korrigiert (ging aber trotzdem auch mit dem alten) außerdem doch ein Update auf SaxonB9-1-0-8 geladen...nuja jetzt krieg ich zumindest die Fehlermeldung dass lokale assignable Variablen nicht mehr unterstützt werden...aber das wurde ja auch schon in dem Link angemerkt...

      #erledigt#

      gruß
      sth_Weird
      Zuletzt editiert von sth_Weird; 06.08.2012, 10:05. Reason: wer lesen kann ist klar im Vorteil
      Fluchen ist die einzige Sprache, die jeder Programmierer perfekt beherrscht

      Comment

      Working...
      X