Rastilo: Jede Datei aus Ordner mittels XSL auslesen

Moin,

gibt es eine Möglichkeit mit XSL jede XML-Datei eines Ordners anzusprechen? Also z.B. aus jeder enthaltenen XML-Datei einen bestimmten Tag auszulesen ohne das ich weiß wie viele XML-Dateien mit welchem Dateinamen in dem Ordner enthalten sind?

Danke & Gruß

  1. Hallo Rastilo,

    gibt es eine Möglichkeit mit XSL jede XML-Datei eines Ordners anzusprechen? Also z.B. aus jeder enthaltenen XML-Datei einen bestimmten Tag auszulesen ohne das ich weiß wie viele XML-Dateien mit welchem Dateinamen in dem Ordner enthalten sind?

    Zwei (indirekte) XSLT 2.0-Ansätze:

    [1] die XML-Dateinamen im Verzeichnis mittels
        dir /B *.xml > files.txt
        als Liste in eine Textdatei schreiben und diese über die neue
        XSLT-Funktion unparsed-text() unter Verwendung der XPath-Funktion
        fn:tokenize() zeilenweise anhand der Zeilenumbrüche einlesen
        und auf die einzelnen Dokumente mittels document()-Funktion
        zugreifen;

    [2] analog zu [1] die Dateinamen in eine XML-Datei mit diesem Aufbau

    ~~~xml <?xml version="1.0"?>
        <collection>
          <doc href="test1.xml"/>
          <doc href="test2.xml"/>
          <doc href="test3.xml"/>
        </collection>

      
        übernehmen und diese Struktur dann über die XPath-Funktion  
        fn:collection()('collection.xml')  
        weiterverarbeiten (liefert direkt die Dokument-Knoten aller  
        referenzierten XML-Dokumente);  
      
    Grüße,  
    Thomas
    
  2. 3. Ansatz

    Apache Cocoon Framework bringt einen Directory generator mit, d.h. es wird ein Verzeichnis ausgelesen und als xml Datei abglegt mit der man dann weiterarbeiten kann.