RE: [xsl] XSLT collection function to get filenames

Subject: RE: [xsl] XSLT collection function to get filenames
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 18 Mar 2008 13:58:45 -0000
The collection() function is defined to return nodes, so it's not directly
suitable for unparsed text (or binary) files.

With the Saxon implementation, however, you could if you wanted write a
CollectionURIResolver that reads unparsed text files and wraps the text in a
document node before returning it.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Justin Johansson [mailto:procode@xxxxxxxxxxx] 
> Sent: 18 March 2008 14:20
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] XSLT collection function to get filenames
> 
> As yet I haven't explored the facility afforded by the 
> XSLT/XPath 2 collection function but the question posed by 
> this thread spurs asking the
> list:
> 
> Can the collection function be used as a general (file 
> system) directory scanner for non XML files given that XSLT 2 
> allows the loading of non XML documents via the unparsed-text 
> function?
> 
> It's not unexpected but my investigation found that the 
> (Saxon) XSLT processor complained about the text file 
> (containing 'the quick brown fox') was not well-formed.
> 
>       <xsl:for-each select="collection( '?select=fox.txt')">
>         <xsl:value-of select="document-uri(.)"/>
>       </xsl:for-each>
> 
> Thanks in advance for your kind responses.
> 
> Justin Johansson

Current Thread