xsl-list
[Top] [All Lists]

Re: [xsl] XSLT collection function to get filenames

2008-03-18 07:07:08
On 18/03/2008, Justin Johansson <procode(_at_)adam(_dot_)com(_dot_)au> wrote:
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?

Yes it can. Of course, you first need an implementation that supports
a URI scheme that can scan directories. Arguably, file is legitimate
for this, as browsers usually give you a directory listing if you
supply a file URI that ends with a directory name.

What Gestalt does it return a sequence of documents each containing a
single element, which has various information about that directory
entry. You could then call unparsed-text on the document-uri for that
particular entry.

 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>

Note that that URI is not a legitimate file URI (they may not take
query parameters). Saxon is not compliant in this respect (but even if
it were, there is no particular reason that this should work - the
collection() function is very loosely define.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--