XSLT: Variable nur einmal laden

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

  • XSLT: Variable nur einmal laden

    Hallo zusammen,

    ich möchte mehrere XML-Dateien mit XSLT bearbeiten. Dabei wird eine Variable verwendet, in der Daten aus einer externen XML-Datei gespeichert werden. Beim Bearbeiten jeder XML-Datei wird diese Variable neu geladen. Das wirkt sich auf die Dauer der Bearbeitung aus. Gibt es eine Lösung, wie ich diese Variable nur einmal für alle Dateien laden kann? Hier ein Code-Beispiel dafür, wie es ungefähr jetzt aussieht:

    Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    3. <xsl:variable name="var" select="document('xxx.xml')/xxxx/xxxx"/>
    4. <xsl:template match="tag1">
    5. <tag1>
    6. <xsl:attribute name="attr1">
    7. <xsl:value-of select="$var" />
    8. </xsl:attribute>
    9. </tag1>
    10. </xsl:template>
    11. </xsl:stylesheet>
    Alles anzeigen


    Ich wäre Euch für einen Tipp sehr dankbar!

    LG
    Norma
  • Also die Datei xxx.xml ändert sich während der Ausführung nicht, daher willst du sie cachen.
    Ich würde behaupten ein guter XSLT Prozessor sollte das können. Welches Programm/welche Programmiersprache nutzt du denn?

    Ich kenne das eigentlich nur so, dass der XSLT Prozessor geladen wird und dann die XML FIles stapelweise darauf angewendet werden.
    Du müsstest dich also gar nicht um Caching kümmern.