Но это не решает проблему чтения имен файлов из каталога. Другой ответ дает способ сделать эту сторону этого.

ли в XSLT функция, которая может взять путь к каталогу и вернуть все файлы в нем ??

У меня есть xml файл теперь читает вот так

<filelist>
    <file>fileA.xml</file>
    <file>fileB.xml</file>
</filelist>

Теперь есть каталог с именемdirесть файлыfileX.xml, fileY.xml и куча других XML-файлов в нем. Я хочу добавить эти файлы в оригинальный XML-файл, чтобы я мог получить:

<filelist>
    <file>fileA.xml</file>
    <file>fileB.xml</file>
    <file>fileX.xml</file>
    <file>fileY.xml</file>
    .... <!-- other files -->
</filelist>

Есть ли способ XSLT сделать это ?? что-то, что берет в корень dir, и может перебирать все файлы в нем ?? И тогда я мог бы просто назвать что-то вроде:

<xsl:element name = file >
     <xsl:copy> <!--whatever file name--> <xsl:copy>
</xsl:element>0
[Редактировать-решение]

Все ответы были очень полезны. Я закончил тем, что нашел внешнее решение (используя саксонский). Я подумал, что другим людям может быть полезно опубликовать мое решение здесь, хотя оно очень специфично для моей собственной ситуации.

Я использую Ant для создания веб-приложения на Java и мне нужно перевести некоторые xml-файлы перед развертыванием. Следовательно, я использовалxslt задача, чтобы сделать работу, добавив "saxon9.jar" в classpath. И в моем файле xsl я просто сделал что-то вроде этого:

<xsl:for-each select="collection('../dir/?select=*.xml')" >
     <xsl:element name='file'>
        <xsl:value-of select="tokenize(document-uri(.), '/')[last()]"/>
     </xsl:element>
</xsl:for-each>

Ответы на вопрос(4)

Ваш ответ на вопрос