Nero: Viele XML-Input Dateien verarbeiten

Liebe Forum-Mitglieder,

bei meinem "Problem" handelt es sich wohl nicht um ein spezielles XSL-Problem, aber dennoch fällt mir eine andere thematische Zuordung schwer. Daher einfach in diese Runde.

Ich verarbeite bis zu 60.000 XML-Input-Dokumente. Diese liegen in diversen Verzeichnissen vor.

Mittels Batch/Shell erstelle ich mir mit "dir" ein simples XML-Dokument, welches tendentiell alle Input-Dateien auflistet.

Anschließend bereinige ich diese Dateienliste, um so bspw. Dopplungen zu entfernen (dateiname nicht ganz identisch (fehlender Präfix), nur eine enthaltene ID) oder Dateien in einem bestimmten Verzeichnis zu exkludieren. Auch muss ich Pakete schnüren, d.h. ich bilde dann collections aus Dateien (soz. als Elternelement):

  
<collection>  
<file ref="../Export/001/01-datei~001.xml"/>  
<file ref="../Export/001/01-datei~002.xml"/>  
</collection>  
<collection>  
<file ref="../Export/002/datei~101.xml"/>  
<file ref="../Export/003/datei~102.xml"/>  
</collection>  

Dopplungen wären bspw. die Datei "01-datei~001.xml" und "datei~001.xml", welche Inhaltsgleich sind (ID nach "~"), aber unterschiedlich benannt und in unterschiedlichen Verzeichnissen liegen.

All dies lässt sich mittels XSLT realisieren. Allerdings dauert mir der Prozess etwas zu lang und mittels "collection()" zu arbeiten, scheint mir nicht sinnvoll zu sein, da ich gern eine Ausgangsinputliste hätte.

Daher meine simple Frage - gibt es einen anderen Ansatz, welcher vielleicht nicht so zeitintensiv ist? Vielleicht eine andere Programmiersprache? Leider bin ich nur auf XSL begrenzt.

Ich hoffe auf gute Tipps.