Jede Datei aus Ordner mittels XSL auslesen
Rastilo
- xsl
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ß
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
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.