Re: [xsl] How to iterate over all XML files in all subfolders in a folder?

Subject: Re: [xsl] How to iterate over all XML files in all subfolders in a folder?
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 31 Jul 2019 14:06:24 -0000
On 31.07.2019 15:58, Costello, Roger L. costello@xxxxxxxxx wrote:

I have a folder that contains subfolders. Within each subfolder is a bunch
of XML files. I want to iterate over all the XML files in all the subfolders.
I tried the following and it doesn't work:

<xsl:for-each select="collection('folder/*?select=*.xml')"> <xsl:message> Root element = <xsl:value-of select="name(/*)"/> </xsl:message> </xsl:for-each>

Which XSLT processor do you use/target? What happens exactly when you run that code and "it doesn't work"?

What is the correct way to do this?

If you want real iteration I would suggest to use xsl:iterate instead of xsl:for-each.

But I suspect the problem is with the right argument for the
"collection" function. If you use Saxon 9 and

collection('folder?select=*.xml;recurse=yes')

I think you should get all files in "folder" and subfolders. I am not
sure whether you want to exclude files directly in "folder".

Current Thread