xsl:copy-of speichert nicht alle Werte

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • xsl:copy-of speichert nicht alle Werte

    Guten Abend,

    ich möchte mit dem Befehl xsl:copy-of ein komplettes XML-Dokument in Variable speichern.
    Die XML-Datei besitzt nur Elemente mit Attributen:

    Quellcode

    1. <beispiel>
    2. <abteilung a>
    3. <name id="us-34" email="asdere"/>
    4. </abteilung a>
    5. </beispiel>


    die xsl:

    Quellcode

    1. <xsl-template match="/">
    2. <xsl:variable name="ext-file">
    3. <xsl:copy-of select="document('user.xml')"/>
    4. </xsl:variable>
    5. </template>


    Im weiteren Verlauf des Templates will ich dann auf die Attribute auslesen und bearbeiten.
    Aber in der Variable ext-file ist nichts, außer lustigen Kästen mehr nicht.

    Wo ist der Fehler?

    Vielen Dank

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jevo ()

  • Bin auf dem Gebiet selbst recht neu und probiere viel. Dann habe ich auch noch von einem Vorgänger die geschriebene XSL-Datei, die ich überarbeite. ich poste dir mal den Code, ist aber stark vereinfacht.

    xsl-Datei:

    Quellcode

    1. <!--Speichern in der Variable user-->
    2. <xsl:variable name="user">
    3. <xsl:copy-of select="document('user.xml')"/>
    4. </xsl:variable>
    5. <!--Speichern des Node-Sets in Variable user_all-->
    6. <xsl:variable name="user_all" select="xalan:nodeset($user)"/>
    7. <!--Kopieren in das Ausgabedokument-->
    8. <xsl:copy-of select="$user_all/styles-file/*"/>

    Die bearbeitende(n) xml-file(s) sind wie oben aufgebaut.

    In der Variable user_all wird die gesamte Datei als node-set gespeichert. Beim Debuggen und Testausgabe der Variable werden die richtigen Werten ausgegeben. Variable ist als okay.

    Nun ist aber das nächste Problem aufgetreten, kann auf die Variable user_all keine xpath Befehle anwenden. Dieser Ausdruck wird nicht verarbeitet, <xsl:copy-of select="$user_all//name"/>, habe auch schon den Pfad komplett angegeben: select="$user_all/bespiel/abteilung_a/name" ging nicht oder select="$user_all/*/*/name" klappt auch nicht.

    Das Ziel ist mehrere Dateien in der Variable user_all zu speichern als node-set und mit diesem gespeicherten Nodeset weiterarbeiten. Ich denke mir, besser wenn ich verschiedene Listen bzw. Tabellen aus allen User-Dateien erstellen will. Im Moment hat fast jede Abteilung ihren eigene Userliste mit Emailadresse, Name, usw.. Das Ziel ist aber eine globale Datei zu erhalten.

    Evtl. liegt es auch am Programm, nutze Eclipse mit oxygen pluging vorerst nur die Testversion.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jevo ()