Subject: RE: 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: 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
|